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

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [решено] Нужна помощь с скриптом для автоматизации создания снимков ZFS на съемные носители, Proxmox Виртуальная Среда
     
    Elleni
    Guest
    #1
    0
    04.01.2021 08:18:00
    Я нашёл неплохой скрипт, который в основном делает то, что нам нужно. Но мне нужно дополнительно автоматизировать создание снимков на сервере Proxmox, и я хотел бы адаптировать следующий скрипт под наши нужды. Первое, что нам нужно сделать, это создавать бэкапы на зашифрованном пуле, так что добавить строчку с: zfs load-key $BACKUPPOOL просто, но поскольку мы хотим поставить скрипт в cronjob, мне хотелось бы знать, как можно записать пароль в переменную или зашить его в скрипт, чтобы не было запроса на ввод. Во-вторых, и это кажется немного сложнее, я хотел бы узнать, как расширить скрипт, чтобы было возможно также подключаться по ssh к двум удалённым серверам Proxmox и делать то же, что скрипт делает локально, а именно: снимать снимки определённых vm-дисков и отправлять их по ssh обратно на локальный сервер, при этом сохраняя число $KEEPOLD снимков. Наконец, в нашей настройке у нас нет наборов данных для vm-дисков, а мы создали их непосредственно на пуле. Но скрипт ожидает poolname\datasetname\vm-disk-xyz-disk-0, тогда как у нас на данный момент poolname\vm-disk-xyz-disk-0. Если это проще, я могу создать набор данных с именем disks и переместить туда vm-диски, а также изменить конфигурации Proxmox вместо изменения логики скрипта, если это необходимо. Я был бы очень признателен, если бы вы могли помочь мне с этим!
     
     
     
    Elleni
    Guest
    #2
    0
    18.02.2021 15:32:00
    Итак, для локального создания снимков на USB-накопитель скрипт работает как задумано — включая импорт зашифрованного zpool, благодаря твоему совету, Dunuin. У меня теперь есть другое требование. Мне нужно, чтобы скрипт работал на удаленном хосте. То есть, скрипт должен выполняться на server1, где подключено съемное устройство, но снимки должны создаваться на server2 и отправляться обратно на server1 по ssh. Сертификаты правильно размещены, чтобы ssh с server1 на server2 был возможен без аутентификации по паролю. Я попытался изменить скрипт следующим образом: Строки 37 и 38: Код: zfs snapshot -r $NEWSNAP zfs send -v $NEWSNAP | zfs recv -F "${BACKUPPOOL}/${DATASET}" на Код: ssh server2 'zfs snapshot -r $NEWSNAP' ssh server2 'zfs send -v $NEWSNAP | ssh server1 zfs recv -F "${BACKUPPOOL}/${DATASET}"' Но это не сработало и выдает следующую ошибку: ошибка говорит о том, что отсутствует аргумент снимка. Я был бы очень признателен за дополнительные советы.
     
     
     
    Dunuin
    Guest
    #3
    0
    18.02.2021 21:21:00
    Вы используете '-char. Если я не ошибаюсь, вам нужно использовать "-char, иначе переменные не будут обработаны. Вы пробовали так?: Код: ssh server2 "zfs snapshot -r $NEWSNAP" ssh server2 "zfs send -v $NEWSNAP | ssh server1 zfs recv -F \"${BACKUPPOOL}/${DATASET}\""
     
     
     
    Elleni
    Guest
    #4
    0
    19.02.2021 15:29:00
    Большое спасибо, Dunuin, я модифицировал скрипт, как ты предложил, и он работает отлично! Я действительно очень ценю твою помощь!! Теперь последний момент. Мы планируем ежедневно чередовать два съемных носителя, поэтому уничтожение снимков так, как это реализовано, чтобы просто сохранить количество снимков KEEPOLD, не сработает, верно? Как бы ты это реализовал? Правильно ли я думаю, что если я добавлю отдельный KEEPOLD для пула на сервере, который больше, это должно сработать, верно?
     
     
     
    Dunuin
    Guest
    #5
    0
    19.02.2021 16:43:00
    Имейте в виду, что этот скрипт отправляет снимки поэтапно. Если какой-то снимок был удалён до того, как он был отправлен на все резервные диски, вам нужно отправить полный набор данных снова, а не только изменения с последнего резервного копирования. Я также изменил этот скрипт однажды, чтобы сделать резервную копию моего сервера FreeNAS, потому что мне не хватало некоторых функций. Например, с помощью этого скрипта нельзя сделать резервное копирование рекурсивных наборов данных. И если я правильно помню, способ, которым удалялись старые снимки, вызывал проблемы.
     
     
     
    Elleni
    Guest
    #6
    0
    24.02.2021 21:10:00
    Dunuin, ваша помощь была для меня очень ценной и полезной, поэтому еще раз - большое спасибо. Без этого я бы не смог реализовать автоматизацию создания снимков, которая, кстати, является лишь одним из уровней резервного копирования, которые у нас есть. Кроме того, мы также настроили резервный сервер Proxmox, а в качестве третьего уровня мы выполняем синхронизацию наших ценных данных на удаленный сервер с помощью rsync, так что я вполне могу смириться с ограничениями скрипта. У меня есть еще один вопрос - до сих пор я использовал скрипт только для резервного копирования дисков виртуальных машин, но мне пришло в голову, что в случае необходимости переустановить хосты Proxmox было бы неплохо также иметь готовый снимок для восстановления конфигураций хостов Proxmox VE. Правильно ли я понимаю, что для этого мне нужно добавить снимки для rpool/ROOT/pve-1 моих серверов Proxmox? И будет ли достаточно создать снимок только одного из узлов Proxmox pve-1 (предполагая, что они идентичны в кластере), или лучше сделать это для каждого узла кластера? Наконец, какие значения должны быть у переменных MASTERPOOL и DATASET? MASTERPOOL=rpool/ROOT и Dataset=pve-1? Также добавлю, что мне пока не удалось модифицировать скрипт, чтобы сохранить снимок pve-1 с другим именем на той же флешке, чтобы я мог делать снимки из нескольких пулов pve-1 всех наших серверов, например, node1-pve1, node2-pve2. В остальном все работает хорошо с одним снимком pve1, но при попытке второго возникают ошибки. Мне еще нужно выяснить, где в скрипте вставить префиксы node1-, node2-, чтобы создание и удаление нескольких снимков pve1 с разных серверов можно было отправить на одну флешку. Правильно ли я понимаю, что для восстановления настроенного узла Proxmox pve достаточно установить Proxmox, затем загрузиться в режиме восстановления и восстановить EXTBACKUP/ROOT/pve-1 в rpool/ROOT/pve-1, и все, включая сети и конфигурации виртуальных машин, будет на месте?
     
     
     
    edwin eefting
    Guest
    #7
    0
    18.09.2021 08:35:00
    Пожалуйста, посмотри на ZFS autobackup. Он может сделать именно то, что тебе нужно, без лишних шагов, я думаю: https://github.com/psy0rz/zfs_autobackup
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

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