Добавить в корзинуПозвонить
Найти в Дзене
Николай Калюжный

Настройка сервера резервного копирования Proxmox

Если вы следите за моим блогом, вы, возможно, знаете, что я недавно перешел на Proxmox в качестве одного из основных гипервизоров домашней лаборатории вместе с vmware ESXi 8.0.3C+Vcenter и Nutanix CE + RHEL Virtualizations 9.4, и мне это очень нравится. Один из моих серверов Proxmox работает на специально собранном ПК с 12 x 12th Gen Intel(R) Core(TM) i5-12450H (1 Сокет) с 2 твердотельными накопителями емкостью 4 ТБ. Я не использую ничего особенного, просто большое количество виртуальных машин, распределенных по двум SSD. В этом посте мы рассмотрим процесс настройки сервера резервного копирования Proxmox и резервного копирования всех виртуальных машин с моего сервера Proxmox на этот сервер резервного копирования. Как всегда, если вы нашли этот пост полезным, нажмите кнопку «подписаться». Это очень много значит для меня и помогает мне понять, что вам нравится этот тип контента. Я использую Proxmox уже несколько месяцев без каких-либо резервных копий. Я создал несколько снимков внутри Pr
Оглавление

Если вы следите за моим блогом, вы, возможно, знаете, что я недавно перешел на Proxmox в качестве одного из основных гипервизоров домашней лаборатории вместе с vmware ESXi 8.0.3C+Vcenter и Nutanix CE + RHEL Virtualizations 9.4, и мне это очень нравится. Один из моих серверов Proxmox работает на специально собранном ПК с 12 x 12th Gen Intel(R) Core(TM) i5-12450H (1 Сокет) с 2 твердотельными накопителями емкостью 4 ТБ. Я не использую ничего особенного, просто большое количество виртуальных машин, распределенных по двум SSD.

В этом посте мы рассмотрим процесс настройки сервера резервного копирования Proxmox и резервного копирования всех виртуальных машин с моего сервера Proxmox на этот сервер резервного копирования.

Как всегда, если вы нашли этот пост полезным, нажмите кнопку «подписаться». Это очень много значит для меня и помогает мне понять, что вам нравится этот тип контента.

Почему сервер резервного копирования Proxmox?

Я использую Proxmox уже несколько месяцев без каких-либо резервных копий. Я создал несколько снимков внутри Proxmox на случай, если я испорчу виртуальную машину, чтобы при необходимости можно было откатить назад. Но все это было вручную. Что произойдет, если мой хост-компьютер выйдет из строя или виртуальная машина будет повреждена, а у меня не будет моментального снимка?

Именно здесь на помощь приходит Proxmox Backup Server (PBS). Это специализированное решение для резервного копирования для Proxmox, позволяющее выполнять автоматические и дедуплицированные резервные копии виртуальных машин и контейнеров. Вместо того чтобы полагаться на моментальные снимки, PBS гарантирует, что полные резервные копии будут храниться отдельно, что упрощает восстановление при необходимости.

Proxmox Backup Server (PBS) работает на отдельной машине, где он хранит резервные копии с вашего сервера Proxmox. Вам не нужно мощное оборудование, даже 8 ГБ оперативной памяти более чем достаточно. Proxmox рекомендует устанавливать PBS на аппаратное обеспечение для повышения производительности, но при необходимости вы также можете запустить его как виртуальную машину. После того, как PBS настроен, вы просто добавляете его в качестве хранилища данных в Proxmox, и все. Оттуда вы можете запланировать резервное копирование и восстановить виртуальные машины по мере необходимости.

Первоначальная настройка

Первоначально я рассматривал возможность приобретения мини-ПК и NAS, добавив NAS к PBS в качестве хранилища NFS. Однако из-за бюджетных ограничений я на данный момент отказался от идеи NAS.

-2

Вместо этого я купил подержанный мини-ПК Dell OptiPlex 7060 за 3500 рублей на авито, который поставлялся с i5-8500T, 16 ГБ оперативной памяти и 256 ГБ NVMe. Я также купил SSD емкостью 2 ТБ на aliexpress, чего более чем достаточно для моих нужд на данный момент.

Чтобы настроить PBS, я скачал ISO-образ сервера резервного копирования Proxmox, перепрошил его на USB-накопитель с помощью BalenaEtcher и установил на мини-ПК. Весь процесс установки занял около 10 минут.

💡

Во время установки, со всеми настройками BIOS по умолчанию, PBS не смог обнаружить мой NVMe-диск, и я получил запрос «Установщик не смог найти поддерживаемый жесткий диск». После недолгих поисков я нашел сообщение в сообществе, где кто-то рекомендовал изменить режим работы SATA на AHCI в BIOS Dell. Это решило проблему, и я смог продолжить установку без каких-либо проблем.

-3

Хранилище / Диски

Если я перейду в раздел «Хранилище → диски», я увижу два диска — NVMe емкостью 256 ГБ, на котором установлен PBS, и новый твердотельный накопитель емкостью 2 ТБ, который я буду использовать для хранения всех своих резервных копий.

-4

Отсюда я перешел в Каталог, создал новый каталог и выбрал диск объемом 2 ТБ. В качестве файловой системы я выбрал ext4. Наконец, я назвал каталог backup-01. Именно здесь будут храниться все мои резервные копии.

-5

Учетная запись пользователя

При добавлении PBS в Proxmox VE вам потребуется предоставить учетные данные для входа в PBS. Хотя вы можете использовать учетную запись root, я рекомендую создать отдельную учетную запись пользователя специально для резервного копирования.

Я создал нового пользователя в PBS и назначил ему необходимые разрешения для управления хранилищем данных, которое мы создали ранее. Как показано ниже, я добавил параметр pbs-user@pbs , присвоил ему роль DatastoreAdmin и установил путь к /datastore/backup-01.

-6

Добавление PBS в Proxmox VE

Следующим шагом является добавление PBS в Proxmox VE. Для этого перейдите в Proxmox VE, выберите «Дата-центр» и перейдите в раздел «Хранилище» > «Добавить > сервер резервного копирования Proxmox»..

-7

Заполните необходимую информацию, включая учетную запись пользователя, которую мы создали ранее. Чтобы получить отпечаток пальца, вернитесь в PBS, откройте панель управления и скопируйте отпечаток пальца, отображаемый там. Вставьте отпечаток пальца в конфигурацию в Proxmox VE.

-8

Для хранилища данных введите то же имя, которое вы использовали при создании хранилища данных в PBS, например backup-01.

-9

После завершения работы Proxmox VE будет подключен к PBS и готов к использованию для резервного копирования.

Создание первой резервной копии

Чтобы убедиться, что все настроено правильно, выберите любую виртуальную машину в Proxmox, перейдите на вкладку Резервное копирование и убедитесь, что вы выбрали PBS в качестве хранилища. По умолчанию Proxmox обычно выбирает локальный диск, поэтому обязательно измените его на PBS, прежде чем нажимать кнопку «Резервное копирование сейчас».

-10

Дождитесь завершения процесса резервного копирования. После этого перейдите в PBS, перейдите в Datastore > backup-01 > Content, и вы должны увидеть там ту же резервную копию. Это подтверждает, что все настроено правильно и что система резервного копирования работает как положено.

Расписание резервного копирования

Чтобы не создавать резервное копирование каждой виртуальной машины вручную, давайте настроим расписание резервного копирования. В Proxmox VE выберите Datacenter, перейдите в раздел Backup (Резервное копирование) и добавьте задание резервного копирования. Здесь вы можете настроить частоту выполнения резервного копирования. Хотя вы можете планировать резервное копирование каждый час, меня устраивает ежедневное резервное копирование в 2 часа ночи.

-11

В качестве режима я выбрал «Стоп», который временно отключает виртуальную машину во время резервного копирования для обеспечения согласованности данных. Это самый безопасный вариант для критически важных виртуальных машин, но он требует короткого простоя. Другие режимы включают «Моментальный снимок», который позволяет создавать резервные копии во время работы виртуальной машины, и «Приостановить», который приостанавливает работу виртуальной машины во время процесса. Я настоятельно рекомендую ознакомиться с документацией, чтобы понять эти режимы и выбрать тот, который лучше всего подходит для вашей среды.

Кроме того, вы можете выбрать определенные виртуальные машины для задания резервного копирования, но я выбрал «Все», поэтому любые новые виртуальные машины, которые я раскрутлю в будущем, будут автоматически включены в резервную копию без необходимости дополнительной настройки. Это значительно упрощает управление резервными копиями.

Обрезка и сборка мусора (Prune and Garbage Collection)

Поговорим о prune и garbage collection (GC). Функция Prune удаляет старые моментальные снимки резервных копий в соответствии с правилами хранения, а Prune removes old backup удаляет неиспользуемые фрагменты данных из хранилища данных, на которые больше не ссылаются снимки, освобождая место на диске.

Для моей конфигурации я настроил prune на запуск каждую пятницу в 5 утра, а GC — на запуск каждое воскресенье в 7 утра. В моей политике хранения хранятся последние 6 резервных копий, 2 ежемесячных резервных копий и 2 годовых резервных копий.

-12

Во время задания очистки PBS проверяет все моментальные снимки в хранилище данных и удаляет те, которые превышают эти ограничения хранения. Например, он гарантирует, что только самые последние 6 резервных копий будут храниться через равные промежутки времени, будут храниться по 2 резервные копии за каждый месяц и будут храниться 2 резервные копии за год для долгосрочного хранения.

Однако даже после того, как prune удаляет моментальные снимки, фактические блоки данных остаются на диске до тех пор, пока не будет выполнен сборщик мусора. При запуске сборщика мусора он сканирует хранилище данных на наличие потерянных фрагментов, на которые больше не ссылаются оставшиеся моментальные снимки, и удаляет их без возможности восстановления. Это гарантирует, что дисковое пространство будет освобождено при соблюдении политики хранения.

Восстановление резервной копии

Давайте рассмотрим, как восстановить виртуальную машину из резервной копии. Я пишу этот пост 31 января в 22:10, а мои резервные копии запускаются ежедневно в 2 часа ночи, поэтому резервное копирование должно быть с 31 января в 2 часа ночи. Теперь предположим, что я случайно повредил виртуальную машину и хочу восстановить ее до последнего известного работоспособного состояния. Чтобы смоделировать повреждение (немного глупо, я знаю), я создал файл с именем corrupted внутри виртуальной машины.

nbars@vm-template-v1:~$ touch corrupted
nbars@vm-template-v1:~$
nbars@vm-template-v1:~$ ls
29th-jan 30th-jan 50-cloud-init.yaml corrupted get-docker.sh
nbars@vm-template-v1:~$

Теперь, когда виртуальная машина «повреждена», я ее восстановлю. Во-первых, я выключил виртуальную машину. Затем на вкладке «Резервное копирование» в Proxmox VE я выбрал pbs-01 в качестве хранилища. На нем были представлены две резервные копии - одна от 30 января, а другая от 31 января. Я выбрал резервную копию от 31 января и нажал «Восстановить».

-13

Proxmox предупредил меня о том, что восстановление резервной копии приведет к перезаписи текущего состояния виртуальной машины, но это нормально для данного сценария. Через несколько минут виртуальная машина была успешно восстановлена.

-14

Я вошел в виртуальную машину, проверил наличие corrupted , и он исчез, подтверждая, что виртуальная машина была восстановлена до последнего известного исправного состояния.

nbars@vm-template-v1:~$ ls
29th-jan 30th-jan 50-cloud-init.yaml get-docker.sh

Итак, что произойдет, если вся моя конфигурация Proxmox VE будет уничтожена? Ну, я не тестировал этот сценарий (и очень не хочу!), потому что у меня работает несколько виртуальных машин. Однако, насколько я понимаю, процесс будет включать в себя новую установку Proxmox VE и последующее добавление PBS в качестве опции хранения, как мы делали ранее. Как только PBS будет подключена, я смогу получить доступ к хранящимся там резервным копиям и восстановить свои виртуальные машины по мере необходимости.