Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    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 Backup Server
    Съёмное хранилище с LUKS на USB-жёстком диске

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Съёмное хранилище с LUKS на USB-жёстком диске, Proxmox Backup Server
     
    jonathan.young
    Guest
    #1
    0
    03.05.2025 17:25:00
    У меня есть USB-жесткий диск, зашифрованный с помощью LUKS, который сейчас подключен к моему Proxmox Backup Server через точку монтирования, заданную в fstab. Я хотел бы использовать с этим диском функцию «Removable Datastore» (съемное хранилище), но, к сожалению, она не работает.

    Если посмотреть в datastore.cfg, видно, что обычные (несъемные) хранилища имеют путь, тогда как съемные хранилища дополнительно содержат backing device — UUID раздела на USB-диске. Хотя у LUKS-разделов тоже есть UUID, они ссылаются на /dev/mapper/dm?, а не на физическое устройство, и, похоже, именно это ломает работу данной функции.

    Прежде чем кто-то предложит другое решение, объясню, почему я использую LUKS на этом разделе: дело в том, что бэкапы внутри хранилища не зашифрованы, а мне нужно хранить этот USB-диск в другом месте и в безопасности (в рамках моей стратегии резервного копирования 1-2-3). Незашифрованные бэкапы на этом диске копируются с основного хранилища, и я предпочитаю не шифровать всё подряд — не только из-за нагрузки на процессор, но и из-за усложнения системы.

    Как я уже сказал, всё работает нормально, просто было бы здорово иметь возможность пользоваться новой функцией «Removable Datastore» с моим зашифрованным USB-диском. Может, кто-нибудь поможет? Заранее спасибо!
     
     
     
    fabian
    Guest
    #2
    0
    17.06.2025 11:55:00
    Я не уверен, можно ли использовать UUID включённой ФС с переносными хранилищами данных (вы пробовали?). В любом случае, блокировку/разблокировку и работу с LUKS всё равно придётся выполнять вам или вашим скриптам.
     
     
     
    djinn
    Guest
    #3
    0
    17.06.2025 10:35:00
    Я бы тоже хотел найти способ, чтобы эта функция работала с переносным datastore по тем же причинам, что вы упомянули. Сейчас это запрограммировано так, что datastore добавляется и удаляется каждый раз, но это не оптимально. Есть у кого-нибудь решение?
     
     
     
    CRCinAU
    Guest
    #4
    0
    20.06.2025 02:30:00
    Интересно, я наткнулся на эту тему, когда искал такую функцию. Сейчас использую систему резервного копирования, которую строил более 20 лет, она работает на rsync + снимках BTRFS и при этом также сохраняет последние данные виртуальной машины на внешний диск при его подключении/горячем подключении. Там используется LUKS и снимки BTRFS на сменном диске.

    При переходе на PBS мне нужно было бы повторить такой функционал: у меня есть 3 внешних диска, которые я подключаю для синхронизации последних бэкапов по вторникам, четвергам и выходным. Чем больше автоматизации — тем лучше, но я никак не могу найти документацию, как PBS работает с внешними дисками, чтобы понять, насколько это будет сложно.
     
     
     
    CRCinAU
    Guest
    #5
    0
    20.06.2025 07:42:00
    Итак, вот что у меня получилось на данный момент... Я подключился к udev через /etc/udev/rules.d/local.rules так:  
    Код:  
    KERNEL=="sda", ACTION=="add", ENV{SYSTEMD_WANTS}+="backup_to_usb.service"  
    KERNEL=="sdb", ACTION=="add", ENV{SYSTEMD_WANTS}+="backup_to_usb.service"  

    Это запускает следующий systemd сервис при подключении диска как /dev/sda или /dev/sdb:  
    Код:  
    [Unit]
    Description=Backup system to usb drive  

    [Service]
    Type=oneshot  
    ExecStart=/root/bin/run-usb-backup  

    [Install]
    WantedBy=multi-user.target  

    Дальше скрипт /root/bin/run-usb-backup выглядит так:  
    Код:  
    #!/bin/bash  
    shopt -s nullglob  

    for drv in /dev/sd*; do  
       /usr/sbin/cryptsetup isLuks $drv  
       if [[ "$?" == 0 ]]; then
           echo "Scanned $drv: LUKS"  
           UUID=$(blkid -o value -s UUID $drv)  
           echo " - UUID: $UUID"  
           if [ ! -f /root/keyfiles/$UUID ]; then
               echo "No keyfile found... Skipping..."  
               continue  
           fi  

           cryptsetup open --key-file /root/keyfiles/$UUID $drv luks-$UUID  
           LABEL=$(e2label /dev/mapper/luks-$UUID)  
           if [ -z $LABEL ]; then
               echo "No label found... Exiting..."  
               exit 1  
           fi  
           echo " - LABEL: $LABEL"  
           mount /dev/mapper/luks-$UUID /mnt/datastore/$LABEL  
           proxmox-backup-manager datastore update $LABEL --delete maintenance-mode  

           if [ ! -f /no-auto-backup ]; then
               proxmox-backup-manager sync-job run $LABEL  
               proxmox-backup-manager garbage-collection start $LABEL  
               proxmox-backup-manager datastore update $LABEL --maintenance-mode offline  
               sync && sync && sync  
               umount /mnt/datastore/$LABEL  
               cryptsetup close luks-$UUID  
               udisksctl power-off -b $drv  
           fi  
       else  
           echo "Scanned $drv: Not LUKS"  
       fi  
    done  

    USB-диски подготавливаются командой `cryptsetup luksFormat --key-file /root/keyfiles/<uuid> /dev/sda1` — после чего на них создаётся файловая система с помощью `mkfs.ext4 -L $LABEL`, где $LABEL совпадает с названием хранилища в PBS.  

    Было бы гораздо лучше, если бы PBS понимал LUKS и предоставлял возможность стирать диск и создавать на нём зашифрованное хранилище LUKS — не думаю, что это сильно отличалось бы от текущего процесса. Пока же этот вариант работает.  

    Ах да, если создать файл `/no-auto-backup`, то диск подключится, станет онлайн, но автоматический запуск синхронизации и уборка мусора не произойдут.  

    И да — настройте задачу синхронизации под свои нужды и обязательно назовите её так же, как метку файловой системы, чтобы совпадал ID задачи.
     
     
     
    fabian
    Guest
    #6
    0
    20.06.2025 09:03:00
    Поддержка LUKS из коробки была бы отличным дополнением — не мог бы ты оформить запрос на улучшение?
     
     
     
    CRCinAU
    Guest
    #7
    0
    20.06.2025 09:11:00
    Готово: https://bugzilla.proxmox.com/show_bug.cgi?id=6473
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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