Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    Резервное копирование на внешний USB-накопитель

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Резервное копирование на внешний USB-накопитель, Proxmox Виртуальная Среда
     
    raj
    Guest
    #1
    0
    23.09.2017 21:50:00
    Привет, команда! Может, кто-то сможет помочь. Раньше я пользовался proxmox 4 и мог подключать USB-накопитель для резервного копирования. После обновления до proxmox 5 это больше не работает. Я пробовал делать чистую установку proxmox 5, но проблема осталась. Накопитель монтировался через udev. Вот правило, которое было добавлено в udev 11-media-by-label-auto-mount.rules /etc/udev/rules.d/. Вот содержимое правила: KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end" # Импортировать информацию о файловой системе IMPORT{program}="/sbin/blkid -o udev -p %N" # Получить метку, если она есть, в противном случае указать свою ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}" ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k" # Глобальные параметры монтирования ACTION=="add", ENV{mount_options}="relatime" # Специфические для файловой системы параметры монтирования ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,gid=100,umask=002" # Смонтировать устройство ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}" # Удалить при отключении ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}" # Выход LABEL="media_by_label_auto_mount_end". Это автоматически монтировало USB-накопитель при подключении и размонтировало его при отключении. Может кто-то помочь? Я готов заплатить 50 фунтов за помощь.
     
     
     
    fireon
    Guest
    #2
    0
    08.10.2017 21:19:00
    @raj, пожалуйста, сделай запрос на новую функцию: https://bugzilla.proxmox.com/
     
     
     
    fireon
    Guest
    #3
    0
    08.10.2017 22:07:00
    Есть ли какое-то полезное руководство по этому вопросу? Я не могу найти действительно полезную документацию. Спасибо!
     
     
     
    mbaldini
    Guest
    #4
    0
    08.10.2017 23:30:00
    В fstab добавьте строку для монтирования вашего USB жесткого диска в директорию и используйте параметры noauto,x-systemd.automount,x-systemd.device-timeout=10. После этого выполните systemctl daemon-reload, и systemd автоматически попытается смонтировать диск, когда директория будет использована.
     
     
     
    raj
    Guest
    #5
    0
    09.10.2017 00:14:00
    @fireon да, я тоже так сделаю. Вот решение, которое я нашел. Я протестировал это на одном сервере, и все работает; скоро протестирую на новом установочном образе. https://serverfault.com/questions/766506/automount-usb-drives-with-systemd После нескольких неудачных попыток я разобрался. Ключевое здесь — добавить юнит сервиса systemd между udev и скриптом монтирования. (Для справки: мне не удалось заставить это работать с использованием udisks2 (через что-то вроде udisksctl mount -b /dev/sdb1), вызываемого либо непосредственно из правила udev, либо из файла юнита systemd. Похоже, есть гонка, и узел устройства не совсем готов, что приводит к ошибке поиска объекта для устройства /dev/sdb1. Это печально, поскольку udisks2 мог бы заняться всей грязной работой с точками монтирования...) Основная работа выполняется shell-скриптом, который отвечает за создание и удаление точек монтирования и за монтирование и размонтирование накопителей. /usr/local/bin/usb-mount.sh #!/bin/bash # Этот скрипт вызывается из нашего файла юнита systemd для монтирования или размонтирования # USB накопителя. usage() { echo "Использование: $0 {add|remove} имя_устройства (например, sdb1)" exit 1 } if [[ $# -ne 2 ]]; then usage fi ACTION=$1 DEVBASE=$2 DEVICE="/dev/${DEVBASE}" # Проверим, смонтирован ли уже этот накопитель, и если да, то где MOUNT_POINT=$(/bin/mount | /bin/grep ${DEVICE} | /usr/bin/awk '{ print $3 }') do_mount() { if [[ -n ${MOUNT_POINT} ]]; then echo "Предупреждение: ${DEVICE} уже смонтирован по адресу ${MOUNT_POINT}" exit 1 fi # Получаем информацию об этом накопителе: $ID_FS_LABEL, $ID_FS_UUID и $ID_FS_TYPE eval $(/sbin/blkid -o udev ${DEVICE}) # Придумываем точку монтирования LABEL=${ID_FS_LABEL} if /bin/grep -q " /media/${LABEL} " /etc/mtab; then # Уже используется, создаем уникальную LABEL+="-${DEVBASE}" fi MOUNT_POINT="/media/${LABEL}" echo "Точка монтирования: ${MOUNT_POINT}" /bin/mkdir -p ${MOUNT_POINT} # Глобальные параметры монтирования OPTS="rw,relatime" # Специфические параметры монтирования для файловой системы if [[ ${ID_FS_TYPE} == "vfat" ]]; then OPTS+=",users,gid=100,umask=000,shortname=mixed,utf8=1,flush" fi if ! /bin/mount -o ${OPTS} ${DEVICE} ${MOUNT_POINT}; then echo "Ошибка монтирования ${DEVICE} (статус = $?)" /bin/rmdir ${MOUNT_POINT} exit 1 fi echo "**** Смонтирован ${DEVICE} по адресу ${MOUNT_POINT} ****" } do_unmount() { if [[ -z ${MOUNT_POINT} ]]; then echo "Предупреждение: ${DEVICE} не смонтирован" else /bin/umount -l ${DEVICE} echo "**** Размонтирован ${DEVICE}" fi # Удаляем все пустые директории в /media, которые не используются как точки монтирования. Это немного избыточно, но если накопитель был размонтирован до удаления, мы больше не знаем его точку монтирования, и не хотим оставлять её сиротой... for f in /media/* ; do if [[ -n $(/usr/bin/find "$f" -maxdepth 0 -type d -empty) ]]; then if ! /bin/grep -q " $f " /etc/mtab; then echo "**** Удаление точки монтирования $f" /bin/rmdir "$f" fi fi done } case "${ACTION}" in add) do_mount ;; remove) do_unmount ;; *) usage ;; esac Скрипт, в свою очередь, вызывается файлом юнита systemd. Мы используем синтаксис "@" в имени файла, чтобы передать имя устройства как аргумент. /etc/systemd/system/usb-mount@.service [Unit] Description=Mount USB Drive on %i [Service] Type=oneshot RemainAfterExit=true ExecStart=/usr/local/bin/usb-mount.sh add %i ExecStop=/usr/local/bin/usb-mount.sh remove %i Наконец, некоторые правила udev запускают и останавливают сервис юнита systemd при подключении/отключении: /etc/udev/rules.d/99-local.rules KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", ACTION=="add", RUN+="/bin/systemctl start usb-mount@%k.service" KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", ACTION=="remove", RUN+="/bin/systemctl stop usb-mount@%k.service" Это, похоже, работает! Пара полезных команд для отладки таких вещей: udevadm control -l debug включает детализированное логгирование в /var/log/syslog, чтобы вы могли видеть, что происходит. udevadm control --reload-rules после изменения файлов в директории rules.d (может и не обязательно, но не помешает...). systemctl daemon-reload после изменения файлов юнита systemd. Надеюсь, это поможет кому-то еще. rajbps
     
     
     
    fireon
    Guest
    #6
    0
    16.01.2018 16:09:00
    Вот новые пакеты USB-Automount.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры