Содержание

Резервное копирование и восстановление данных в Proxmox VE

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

Штатные инструменты Proxmox позволяют не только выполнять резервное копирование данных, но и создавать наборы предварительно настроенных образов операционных систем для быстрого развертывания. Это не только помогает при необходимости создать новый сервер для любого сервиса за несколько секунд, но также и уменьшает время простоя до минимального.

Рассказывать о необходимости создания бэкапов мы не будем, поскольку это очевидно и уже давно является аксиомой. Остановимся на некоторых неочевидных вещах и особенностях.

Сначала рассмотрим каким образом сохраняются данные при процедуре резервного копирования.

Алгоритмы резервного копирования

Начнем с того, что Proxmox имеет неплохой штатный инструментарий для создания резервных копий виртуальных машин. Он позволяет легко сохранить все данные виртуальной машины и поддерживает два механизма сжатия, а также три метода создания этих копий.

Разберем вначале механизмы сжатия:

1. Сжатие LZO. Алгоритм сжатия данных без потерь, придуманный еще в середине 90-х годов. Код был написан Маркусом Оберхеймером (реализуется в Proxmox утилитой lzop). Основной особенностью этого алгоритма является очень скоростная распаковка. Следовательно, любая резервная копия, созданная с помощью этого алгоритма, может при необходимости быть развернута за минимальное время.

2. Сжатие GZIP. При использовании этого алгоритма резервная копия будет «на лету» сжиматься утилитой GNU Zip, использующей мощный алгоритм Deflate, созданный Филом Кацем. Основной упор делается на максимальное сжатие данных, что позволяет сократить место на диске, занимаемое резервными копиями. Главным отличием от LZO является то, что процедуры компрессии/декомпреcсии занимают достаточно большое количество времени.

Режимы архивирования

Proxmox предлагает на выбор системному администратору три метода резервного копирования. С помощью них можно решить требуемую задачу, определив приоритет между необходимостью простоя и надежностью сделанной резервной копии:

1. Режим Snapshot (Снимок). Этот режим можно еще назвать как Live backup, поскольку для его использования не требуется останавливать работу виртуальной машины. Использование этого механизма не прерывает работу VM, но имеет два очень серьезных недостатка — могут возникать проблемы из-за блокировок файлов операционной системой и самая низкая скорость создания. Резервные копии, созданные этим методом, надо всегда проверять в тестовой среде. В противном случае есть риск, что при необходимости экстренного восстановления, они могут дать сбой.

2. Режим Suspend (Приостановка). Виртуальная машина временно «замораживает» свое состояние, до окончания процесса резервного копирования. Содержимое оперативной памяти не стирается, что позволяет продолжить работу ровно с той точки, на которой работа была приостановлена. Разумеется, это вызывает простой сервера на время копирования информации, зато нет необходимости выключения/включения виртуальной машины, что достаточно критично для некоторых сервисов. Особенно, если запуск части сервисов не является автоматическим. Тем не менее такие резервные копии также следует разворачивать в тестовой среде для проверки.

3. Режим Stop (Остановка). Самый надежный способ резервного копирования, но требующий полного выключения виртуальной машины. Отправляется команда на штатное выключение, после остановки выполняется резервное копирование и затем отдается команда на включение виртуальной машины. Количество ошибок при таком подходе минимально и чаще всего сводится к нулю. Резервные копии, созданные таким способом, практически всегда разворачиваются корректно.

Выполнение процедуры резервирования

Для создания резервной копии:

1. Переходим на нужную виртуальную машину.
2. Выбираем пункт Резервирование.
3. Нажимаем кнопку Резервировать сейчас. Откроется окно, в котором можно будет выбрать параметры будущей резервной копии.

4. В качестве хранилища указываем то, которое мы подключали в предыдущей части.
5. После выбора параметров нажимаем кнопку Резервирование и ждем, пока резервная копия будет создана. Об этом будет говорить надпись TASK OK.

Теперь созданные архивы с резервными копиями виртуальных машин станут доступны для скачивания с сервера. Самым простым и банальным способом копирования является SFTP. Для этого воспользуйтесь популярным кроссплатформенным FTP-клиентом FileZilla, который умеет работать по SFTP-протоколу.

1. В поле Хост вводим IP-адрес нашего сервера виртуализации, в поле Имя пользователя вводим root, в поле Пароль — тот, который был выбран при установке, а в поле Порт указываем «22» (либо любой другой порт, который был задан для SSH-подключений).

2. Нажимаем кнопку Быстрое соединение и, если все данные были введены правильно, то в активной панели Вы увидите все файлы, расположенные на сервере.

3. Переходим в директорию /mnt/storage. Все создаваемые резервные копии будут лежать в поддиректории «dump». Они будут иметь вид:

  • vzdump-qemu-номер_машины-дата-время.vma.gz в случае выбора метода сжатия GZIP;
  • vzdump-qemu-номер_машины-дата-время.vma.lzo для использования метода LZO.

Резервные копии рекомендуется сразу скачивать с сервера и сохранять в надежном месте, например, в нашем облачном хранилище. Если распаковать файл с разрешением vma, одноименной утилитой, идущей в комплекте с Proxmox, то внутри будут файлы с расширениями raw, conf и fw. В этих файлах содержится следующее:

  • raw — образ диска;
  • conf — конфигурация VM;
  • fw — настройки файервола.

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

Рассмотрим ситуацию, когда виртуальную машину случайно удалили и требуется ее экстренное восстановление из резервной копии:

1. Открываем хранилище, на котором лежит резервная копия.
2. Переходим на вкладку Содержимое.
3. Выбираем нужную копию и нажимаем кнопку Восстановление.

4. Указываем целевое хранилище и ID, который будет присвоен машине, после завершения процесса.
5. Нажимаем кнопку Восстановление.

Как только восстановление завершится, VM появится в списке доступных.

Клонирование виртуальной машины

Для примера, предположим, что в компании требуется внести изменения в какой-либо критичный сервис. Такое изменение реализуется через внесение множества правок в конфигурационные файлы. Результат при этом непредсказуем и любая ошибка способна вызвать сбой сервиса. Чтобы подобный эксперимент не затронул работающий сервер, рекомендуется выполнить клонирование виртуальной машины.

Механизм клонирования создаст точную копию виртуального сервера, с которой допустимо проводить любые изменения, при этом не затрагивая работу основного сервиса. Затем, если изменения будут успешно применены, новая VM запускается в работу, а старая выключается. В этом процессе есть особенность, о которой всегда следует помнить. На клонированной машине IP-адрес будет точно таким же, как и у исходной VM, то есть при ее запуске возникнет конфликт адресов.

Расскажем, как избежать такой ситуации. Непосредственно перед выполнением клонирования, следует внести изменения в конфигурацию сети. Для этого необходимо временно изменить IP-адрес, но не перезапускать сетевой сервис. После выполнения клонирования на основной машине следует вернуть настройки обратно, а на клонированной машине задать любой другой IP-адрес. Тем самым мы получим две копии одного и того же сервера на разных адресах. Это позволит быстро ввести новый сервис в работу.

Если этим сервисом является веб-сервер, то достаточно только изменить А-запись у Вашего DNS-провайдера, после чего запросы клиентов по этому доменному имени будут направляться уже на адрес клонированной виртуальной машины.

Кстати, Selectel предоставляет всем своим клиентам услугу размещения любого количества доменов на NS-серверах бесплатно. Управление записями осуществляется как с помощью нашей панели управления, так и с помощью специального API. Подробнее об этом читайте в нашей базе знаний.

Клонирование VM в Proxmox является очень простой задачей. Для ее выполнения необходимо выполнить следующие действия:

1. Перейти на нужную нам машину.
2. Выбрать из меню More пункт Clone.
3. В открывшемся окне заполнить параметр Имя.

4. Выполнить клонирование нажатием кнопки Clone.

Этот инструмент позволяет сделать копию виртуальной машины не только на локальном сервере. Если несколько серверов виртуализации объединить в кластер, то с помощью этого инструмента можно сразу переместить созданную копию на нужный физический сервер. Полезной функцией является выбор дискового хранилища (параметр Target Storage), что очень удобно при перемещении виртуальной машины с одного физического носителя на другой.

Форматы виртуальных накопителей

Расскажем подробнее об используемых в Proxmox форматах накопителей:

1. RAW. Самый понятный и простой формат. Это файл с данными жесткого диска «байт в байт» без сжатия или оптимизации. Это очень удобный формат, поскольку его легко смонтировать стандартной командой mount в любой linux-системе. Более того это самый быстрый «тип» накопителя, так как гипервизору не нужно его никак обрабатывать.

Серьезным недостатком этого формата является то, что сколько Вы выделили места для виртуальной машины, ровно столько места на жестком диске и будет занимать файл в формате RAW (вне зависимости от реально занятого места внутри виртуальной машины).

2. QEMU image format (qcow2). Пожалуй, самый универсальный формат для выполнения любых задач. Его преимущество в том, что файл с данными будет содержать только реально занятое место внутри виртуальной машины. Например, если было выделено 40 Гб места, а реально было занято только 2 Гб, то все остальное место будет доступно для других VM. Это очень актуально в условиях экономии дискового пространства.

Небольшим минусом работы с этим форматом является следующее: чтобы примонтировать такой образ в любой другой системе, потребуется вначале загрузить особый драйвер nbd, а также использовать утилиту qemu-nbd, которая позволит операционной системе обращаться к файлу как к обычному блочному устройству. После этого образ станет доступен для монтирования, разбиения на разделы, осуществления проверки файловой системы и прочих операций.

Следует помнить, что все операции ввода-вывода при использовании этого формата программно обрабатываются, что влечет за собой замедление при активной работе с дисковой подсистемой. Если стоит задача развернуть на сервере базу данных, то лучше выбрать формат RAW.

3. VMware image format (vmdk). Этот формат является «родным» для гипервизора VMware vSphere и был включен в Proxmox для совместимости. Он позволяет выполнить миграцию виртуальной машины VMware в инфраструктуру Proxmox.

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

Работа с образами дисков

В комплекте c Proxmox есть очень удобная утилита, под названием qemu-img. Одной из ее функций является конвертирование образов виртуальных дисков. Чтобы воспользоваться им, достаточно открыть консоль гипервизора и выполнить команду в формате:

qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2

В приведенном примере, vmdk-образ виртуального накопителя VMware под названием test будет преобразован в формат qcow2. Это очень полезная команда, когда требуется исправить ошибку при изначальном выборе формата.

Благодаря этой же команде можно принудительно создать нужный образ, используя аргумент create:

qemu-img create -f raw test.raw 40G

Такая команда создаст образ test в формате RAW, размером 40 Гб. Теперь он годится для подключения к любой из виртуальных машин.

Изменение размера виртуального диска

И в заключение покажем как увеличить размер образа диска, если по каким-то причинам места на нем перестало хватать. Для этого воспользуемся аргументом resize:

qemu-img resize -f raw test.raw 80G

Теперь наш образ стал размером 80 Гб. Посмотреть подробную информацию об образе можно с помощью аргумента info:

qemu-img info test.raw

Не стоит забывать, что само расширение образа не увеличит размер раздела автоматически — просто добавит доступное свободное пространство. Для увеличения раздела воспользуйтесь командой:

resize2fs /dev/sda1

где /dev/sda1 — нужный раздел.

Автоматизация создания резервных копий

Использование ручного способа создания резервных копий — задача весьма трудоемкая и занимает много времени. Поэтому Proxmox VE содержит в себе средство для автоматического резервного копирования по расписанию. Рассмотрим, как это сделать:

1. Используя веб-интерфейс гипервизора, открываем пункт Датацентр.
2. Выбираем пункт Резервирование.
3. Нажимаем кнопку Добавить.
4. Задаем параметры для планировщика.

5. Отмечаем галочкой пункт Включить.
6. Сохраняем изменения, используя кнопку Создать.

Теперь планировщик будет автоматически запускать программу резервного копирования в точно указанное время, исходя из заданного расписания.

Заключение

Нами были рассмотрены штатные способы резервного копирования и восстановления виртуальных машин. Их использование позволяет без особых проблем сохранять все данные и экстренно восстановить их в случае нештатной ситуации.

Конечно, это не единственный возможный способ сохранения важных данных. Существует множество инструментов, например, Duplicity, с помощью которых можно создавать полные и инкрементные копии содержимого виртуальных серверов на базе Linux.

При выполнении процедур резервного копирования всегда следует учитывать, что они активно нагружают дисковую подсистему. В связи с этим выполнять эти процедуры рекомендуется в моменты минимальной нагрузки, чтобы избежать задержек при выполнении операций ввода-вывода внутри машин. Следить за статусом задержек дисковых операций можно непосредственно из веб-интерфейса гипервизора (параметр IO delay).

Если у Вас возникли вопросы, то мы будем рады ответить на них в комментариях.

Организуем backup в Proxmox — IT is Easy

20/05/2021


Один из важнейших компонентов любой системы виртуализации при использовании в продуктовых средах — наличие средств резервного копирования и восстановления. Можно вспомнить о различных вариантах бекапов виртуальных машин VMware, которые были доступны в разное время. И сама компания VMware пыталась реализовать такие решения и сторонние поставщики. В итоге на текущий момент решение VEEAM Backup & Replication стало настолько популярным, что вытеснело по сути все остальные продукты. К большому сожалению, оно поддерживает только среды виртуализации VMware и Hyper-V. Для кластера Proxmox средства по резервному копированию были встроены в сам дистрибутив, однако обладали довольно базовым функционалом. Относительно недавно компанией разработчиком был выпущен Proxmox Backup Server. Данное решение позволяет профессионально бекапить данные как на диски, так и на ленту. Кроме этого этот продукт дает возможность использовать дедупликацию, разнообразные политики резервного копирования и способы работы с виртуальными машинами.

Про систему виртуализации Proxmox уже было несколько статей на моем блоге. Это «Небольшие лайфхаки с Proxmox», «Импорт kvm виртуалок в Proxmox», а также «Миграция виртуальных машин из VMware в Proxmox». Open Source проект Proxmox VE по созданию виртуализированной среды развивается довольно таки успешно. Большим плюсом с моей точки зрения является наличие серьезного объема документации, а также форума, где разбирается огромное количество проблем и различных практических ситуаций. Со своей стороны, публикуя здесь очередную статью о системе виртуализации Proxmox, надеюсь внести посильный вклад в русскоязычное комьюнити пользователей данного замечательного продукта.

Практическое знакомство

Для того, чтобы развернуть Proxmox Backup Server нам понадобится виртуальная машина или отдельный выделенный физический сервер. Скачать дистрибутив можно по этой ссылке с официального сайта. Данный продукт, так же как и система виртуализации Proxmox VE построен на база Debian Linux. Установка на сервер предельно интуитивно понятна и любой, кто сталкивался с инсталяцией Proxmox VE увидит для себя практически идентичные вещи в этом процессе. После завершения установки, доступ к панели управления сервером бекапов будет доступен по TCP 8007 порту по протоколу HTTPS. Также возможно проведение задач по конфигурации через ssh консоль сервера.

Записывать резервные копии Proxmox Backup Server может, как на локальные или сетевые диски, а также не ленточные накопители. В простейшем случае мы можем использовать для записи свободный локальный диск. Пример того, как инициализировать диск, видимый в системе как sdb, и создать на основе него новый дататсор для хранения резервных копий приведен ниже. Команды выполняются в ssh консоли сервера бекапов.

# proxmox-backup-manager disk initialize sdb
# proxmox-backup-manager disk fs create Mydatastore1 --disk sdb --filesystem ext4 --add-datastore true

В данном случае мы форматируем диск с файловой системой ext4 и создаем на нем датастор под названием Mydatastore1.

Следующая важная задача в работе Proxmox Backup Server — интеграция его с кластером виртуализации Proxmox VE. Для этого, в первую очередь нужно узнать «отпечаток» сертификата сервера бекапов с помощью следующей команды в ssh консоли.

# proxmox-backup-manager cert info | grep Fingerprint
Fingerprint (sha256): cc:37:45:e5:b1:99:a9:f1:6d:f1:bf:b2:9b:76:8a:ab:e3:aa:ab:3e:43:95:f6:3f:32:42:cb:34:0b:47:bb:31

После этого в веб интерфейсе кластера Proxmox-VE проходим на закладку Storage и выбираем Add -> Proxmox Backup Server. Пример заполнения диалогового окна в данном процессе представлен ниже.

После заверешения процесса добавления датастора из сервера бекапов в инфраструктуру Proxmox-VE, мы сможем легко воспользоваться функционалом резервного копирования и восстановления. Для этого в веб интерфейсе кластера Proxmox-VE используем вкладку Backup. В принципе, все операции по созданию бекапов и восстановлению мне показались довольно удобными и интуитивно понятными. Тут на них останавливаться не буду.

Заключение

Система резервного копирования — важный элемент любой IT инфраструктуры. Proxmox виртуализация выросла на базе гипервизора kvm. Данный open source проект сам по себе крайне популярен в мире, так еще и дал толчок для развития многим другим продуктам, основанным на нем. Я считаю, что для Proxmox VE создание своего полноценного решения по резервному копированию и восстановлению было правильным шагом. Судя по всему, к этому подталкивало использование данного типа виртуализации во многих корпоративных средах. Надеюсь, что дальнейшее развитие Proxmox Backup Server сделает его еще более функциональным и продвинутым.



Автор Andrey UseinovОпубликовано Рубрики InfrastructureМетки Backup, infrastructure, Linux, Proxmox

Резервное копирование в Proxmox VE – 4sysops

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

Содержание

  1. Резервное копирование Proxmox по запросу
  2. Восстановление резервной копии Proxmox
  3. Запланированные задания резервного копирования Proxmox
  4. Заключение
  • Автор
  • Последние сообщения

Сурендер Кумар

Сурендер Кумар имеет более чем двенадцатилетний опыт работы в области администрирования серверов и сетей. В сферу его интересов входят серверы Windows, Active Directory, PowerShell, веб-серверы, сети, Linux, виртуализация и тестирование на проникновение. Он любит писать для своего блога.

Последние сообщения Сурендера Кумара (посмотреть все)

Целью резервного копирования является восстановление после непредвиденных проблем, которые не охватываются моментальными снимками, таких как сбой физического хранилища или сбой всего сервера. Для сравнения различных сценариев использования резервных копий и снимков см. мою предыдущую статью.

Резервное копирование Proxmox по запросу

Чтобы вручную создать резервную копию ВМ по требованию в Proxmox VE, выполните следующие действия:

  1. Войдите в веб-интерфейс управления Proxmox.
  2. Выберите конкретную виртуальную машину, щелкните параметр Backup , а затем нажмите кнопку Backup Now .

    Резервное копирование виртуальной машины вручную в веб-интерфейсе Proxmox

  3. Убедитесь, что вы выбрали удаленное хранилище в поле Хранилище и оставьте режим резервного копирования равным 9. 0038 Snapshot, , поскольку он обеспечивает минимально возможное время простоя вашей виртуальной машины. Вы также можете установить флажок Protected , чтобы предотвратить удаление резервных копий. После этого нажмите кнопку Backup .

    Варианты резервного копирования для ВМ в Proxmox

    Подождите некоторое время, чтобы завершить резервное копирование. Вы можете просмотреть статус резервного копирования в средстве просмотра задач, как показано на скриншоте ниже:

    Просмотр хода резервного копирования ВМ в Proxmox

  4. Теперь щелкните раскрывающийся список, чтобы выбрать удаленное хранилище, как показано на снимке экрана:

    Просмотр резервной копии ВМ в удаленном хранилище

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

Чтобы восстановить ВМ из резервной копии, выполните следующую процедуру:

  1. Выберите конкретную резервную копию и нажмите кнопку Восстановить .

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

  2. Отображается диалоговое окно восстановления с перезаписью:

    Восстановление ВМ с перезаписью в Proxmox

  3. Во время восстановления вы можете переопределить параметры виртуальной машины, такие как имя виртуальной машины, память и ядра ЦП.
  4. Если вы хотите восстановить резервную копию на новую виртуальную машину, не перезаписывая исходную, щелкните удаленное хранилище ( nfs-backups в нашем случае), щелкните контейнер Backups , выберите конкретную резервную копию и нажмите Restore .

    Ручной просмотр удаленного хранилища для резервных копий

  5. Таким образом, вы увидите совершенно другой вариант восстановления резервной копии на новую виртуальную машину, не затрагивая исходную.

    Восстановление резервной копии на новую ВМ в Proxmox

Запланированные задания резервного копирования Proxmox

Вариант резервного копирования по запросу хорош, но если у вас много виртуальных машин, работающих на нескольких хостах (узлах), вам нужен лучший подход. Proxmox позволяет планировать задания резервного копирования, при которых вы можете создавать резервные копии выбранных или всех виртуальных машин на всех узлах. Чтобы запланировать задание резервного копирования, выполните следующие действия:

  1. Щелкните узел Datacenter вверху, выберите параметр Backup , а затем нажмите кнопку Add . На некоторых гостей не распространяется никакое задание резервного копирования. Сообщение на странице резервного копирования указывает на то, что на определенные виртуальные машины и контейнеры не распространяется какое-либо расписание резервного копирования. Вы можете нажать кнопку Показать для просмотра таких гостей.

    Страница задания резервного копирования в веб-интерфейсе Proxmox

  2. Теперь настройте параметры задания резервного копирования, как показано на скриншоте:

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

  3. Для Узел выберите конкретный узел или все узлы кластера.
  4. Для Хранилище выберите удаленное хранилище, в котором вы хотите хранить свои резервные копии.
  5. Для Расписание настройте предпочтительное расписание резервного копирования.
  6. Для Режим выбора выберите Все для резервного копирования всех ВМ. Кроме того, вы можете включить или исключить выбранные виртуальные машины.
  7. Введите адрес электронной почты, чтобы получать по электронной почте уведомления об ошибке резервного копирования.
  8. Для сжатия выберите нужный уровень сжатия. По умолчанию ZSTD, , что быстро и достаточно.
  9. Для режима резервного копирования выберите режим Snapshot , так как он обеспечивает наименьшее время простоя для виртуальных машин. Режимы резервного копирования приостановить и остановить приводят к простою ВМ во время резервного копирования.
  10. Вы можете настроить хранение резервных копий на вкладке Retention:

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

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

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

Заключение

Вы только что научились работать с функцией резервного копирования в Proxmox VE.

Подпишитесь на рассылку 4sysops!

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

Статьи в серии Proxmox VE

Как сделать резервную копию Proxmox? Методы резервного копирования и восстановления Proxmox

Содержание

  • Встроенные методы резервного копирования Proxmox
  • Имена файлов и сжатие
  • Задержка резервного копирования и примеры
  • Bacula Enterprise Methonpore Backmox enterprise enterprise
  • Proxmox enterprize enterprise
  • Proxmox Rastoo
  • Заключение

Создание эффективных резервных копий является важной практикой практически для любой компании в настоящее время, независимо от того, с какими типами данных и приложений они работают. Proxmox Virtual Environment (VE) ничем не отличается в этом отношении. К счастью, быстро растущая популярность Proxmox привела к тому, что множество различных сторонних решений для резервного копирования разработали какой-то способ создания резервной копии, специфичной для Proxmox, а также есть несколько встроенных способов создания резервных копий.

Встроенные методы резервного копирования Proxmox

Во-первых, понятно, что встроенные методы резервного копирования могут иметь ограничения и проблемы с настраиваемостью. Поэтому, как правило, все встроенные методы резервного копирования Proxmox, как правило, являются полными резервными копиями. Это, в свою очередь, означает, что они имеют все ограничения, связанные с использованием этого уровня резервного копирования.

Существует два основных способа инициирования встроенного резервного копирования Proxmox — с помощью оригинального графического интерфейса или специального vzdump 9Команда 0039 в командной строке. Эти резервные копии также должны иметь хранилище резервных копий на уровне файлов, и резервные копии также можно планировать с помощью уровня «Центр обработки данных» в графическом интерфейсе.

Proxmox может работать как с виртуальными машинами, так и с контейнерами, хотя есть некоторые различия, когда речь идет о различных режимах резервного копирования, несмотря на то, что для контейнеров и виртуальных машин используется одно и то же три режима: режим остановки, режим приостановки и режим моментального снимка.

  • Режим остановки для виртуальной машины — это тот, который обеспечивает наибольшую согласованность из трех за счет короткого периода простоя. Как следует из названия, перед выполнением этого режима резервного копирования виртуальную машину необходимо остановить.
    Идея для контейнеров такая же, но существует возможность длительного простоя.
  • Режим приостановки для виртуальной машины пытается уменьшить потенциальное время простоя, не останавливая всю виртуальную машину полностью, но время простоя по-прежнему относительно велико, а согласованность данных может сильно пострадать, поэтому этот вариант обычно не рекомендуется.
    Ситуация с контейнерами несколько отличается, так как этот процесс создает копию активных данных контейнера во временном расположении, затем приостанавливает контейнер, а затем заменяет файлы первой резервной копии копией из приостановленного контейнера. Время простоя этой операции значительно меньше, чем в режиме остановки, но требует дополнительного свободного места для хранения временной копии контейнера.
  • Снимок , вероятно, самый интересный вариант из трех, предоставляющий возможность создавать резервные копии ВМ практически без простоя, но с риском несогласованности задания резервного копирования. Поскольку данные копируются с активной ВМ, есть вероятность копирования какого-либо файла в процессе изменения; вот почему моментальный снимок обычно выполняет команды guest-fsfreeze-freeze и guest-fsfreeze-thaw , чтобы попытаться смягчить потенциальные проблемы согласованности.
    Процесс создания моментального снимка контейнера в основном такой же, поскольку программное обеспечение для резервного копирования также приостанавливает операции внутри определенного контейнера, а затем создает временный снимок всего содержимого этого контейнера. Затем все содержимое контейнера архивируется, а сам снимок впоследствии удаляется.

Процесс восстановления со встроенными устройствами Proxmox также относительно прост — это можно сделать либо через оригинальный графический интерфейс, либо с помощью двух разных команд:

  • qmrestore — для восстановления ВМ.
  • pct restore – для восстановления контейнеров.

Одна потенциальная проблема с процессом восстановления заключается в том, что он может серьезно повлиять на вашу общую производительность с виртуальными машинами/контейнерами, поскольку нет ограничений на пропускную способность, которую могут использовать операции восстановления. К счастью, эти ограничения могут быть установлены пользователем. Существует два типа такого ограничения: на восстановление и на запись в хранилище.

Per-restore полностью ограничивает пропускную способность для восстановления из одного резервного архива, а per-storage write ограничивает пропускную способность, используемую в процессе записи в определенное хранилище.

Имена файлов и сжатие

Некоторые новые версии vzdump кодируют в имени файла как время резервного копирования, так и тип гостя. Пример такого имени файла показан ниже:

vzdump-lxc-105-2019_05_24-11_08_39.tar

Такое имя позволяет хранить несколько разных резервных копий в одном каталоге. Существует также ряд доступных вариантов хранения, которые мы рассмотрим позже.

Сжатие файлов — еще одна часть процесса резервного копирования, когда речь идет о Proxmox. Существует три общеизвестных алгоритма сжатия: lzo , gzip и zstd . В настоящее время zstd является самым быстрым алгоритмом из трех, поскольку он поддерживает многопоточность. Удивительно, но оба lzo и gzip часто являются выбором по умолчанию для многих случаев и чаще используются в целом.

Существует также сменная замена gzip под названием pigz , которая может похвастаться улучшенной производительностью благодаря возможности использования многопоточности. Как pigz , так и zstd количество используемых сердечников/резьб можно отрегулировать вручную.

В большинстве случаев легко понять, какой алгоритм сжатия использовался, просто взглянув на расширение файла резервной копии.

  • .zst — стандартное сжатие Z
  • .gz или .tgz — сжатие gzip
  • .lzo — сжатие lzo

Если расширение файла резервной копии не соответствует ни одному из приведенных выше примеров, значит, он изначально не был сжат с помощью vzdump .

Хранение резервных копий и примеры

Существует несколько различных вариантов хранения резервных копий в Proxmox, вот их список:

  • keep-all — сохраняются все резервные копии. Никакие другие параметры не могут быть установлены, если это «true».
  • keep-last — указывает количество сохраняемых резервных копий, считая в обратном порядке от последней.
  • keep-hourly — указывает количество часов, в течение которых будут храниться ваши резервные копии. Если существует более одной резервной копии за час, сохраняется только самая последняя резервная копия.
  • держать-ежедневно — указывает количество дней, в течение которых будут храниться ваши резервные копии. Если в течение дня существует более одной резервной копии, сохраняется только самая последняя резервная копия.
  • keep-weekly — указывает количество недель, в течение которых будут храниться ваши резервные копии. Если за неделю создается более одной резервной копии, сохраняется только самая последняя резервная копия.
  • keep-monthly — указывает количество месяцев, в течение которых будут храниться ваши резервные копии. Если в течение месяца существует более одной резервной копии, сохраняется только самая последняя резервная копия.
  • keep-yearly — указывает количество лет, в течение которых будут храниться ваши резервные копии. Если существует более одной резервной копии за год, сохраняется только самая последняя резервная копия.

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

# vzdump 777 —prune-backups keep-last=3,keep-daily=13,keep-yearly=9

Теперь мы рассмотрим некоторые из обычных команд резервного копирования и их дополнительные возможности в отношении в конфигурацию

# vzdump 777

В приведенном выше примере мы создаем базовый дамп гостя 777 в каталог дампа по умолчанию без каких-либо снимков.

# vzdump 777 – режим приостановки

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

# vzdump –all –mode suspend –mailto root –mailto admin

В приведенном выше примере мы создаем резервные копии всех наших гостевых систем и отправляем уведомления по электронной почте как администратору, так и пользователю root.

# vzdump 777 —dumpdir /mnt/backup —mode snapshot

В приведенном выше примере мы используем метод моментального снимка с пользовательским каталогом дампа.

# vzdump 101 102 103 —mailto root

В приведенном выше примере мы одновременно резервируем несколько разных гостей (101, 102, 103…).

# vzdump –mode suspend –exclude 101,102

В приведенном выше примере мы делаем резервную копию всех гостей, кроме указанных (101, 102).

# pct restore 600 /mnt/backup/vzdump-lxc-777.tar

В приведенном выше примере мы восстанавливаем контейнер на новый CT 600.

# qmrestore /mnt/backup/vzdump-qemu-888. vma 601

В приведенном выше примере мы восстанавливаем виртуальную машину QemuServer как виртуальную машину 601. хороший выбор сторонних альтернатив, когда речь идет об операциях резервного копирования и восстановления в виртуальной среде Proxmox. Например, есть Bacula Enterprise, комплексное решение для резервного копирования, способное работать с множеством различных типов баз данных/ВМ, а также имеющее встроенный модуль Proxmox.

Удивительно, но Bacula Enterprise также предлагает два разных способа выполнения резервного копирования виртуальной машины Proxmox, и один из них вообще не использует модуль Proxmox.

Первый метод включает установку Bacula Enterprise File Daemon на каждую гостевую виртуальную машину, резервное копирование которой вы хотите выполнить. Обратите внимание, что вам придется запланировать и расставить приоритеты, если вы используете несколько виртуальных машин с этим методом, поскольку резервное копирование всех их сразу может легко создать узкое место для вашей сетевой/дисковой подсистемы.

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

Поскольку второй метод создания резервных копий Proxmox с помощью модуля Proxmox от Bacula является более мощным, мы углубимся в детали и настройки только этого конкретного модуля.

Резервное копирование Proxmox с помощью Bacula Enterprise

Процесс создания резервной копии виртуальной машины Proxmox с помощью Bacula Enterprise включает три основных этапа:

  • Сохранение конфигурации гостевой ВМ.
  • Создание моментального снимка гостевой ВМ.
  • Выгрузка данных с помощью команды vzdump .

Как видите, основным режимом резервного копирования, который использует Bacula Enterprise, является режим моментальных снимков, обеспечивающий последовательное резервное копирование и практически полное отсутствие простоев. Резервные копии гостевых ВМ LXC хранятся в файлах двух типов — .tar и .conf, а гостевые ВМ QEMU — в файлах типа .vma.

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

Восстановление Proxmox с помощью Bacula Enterprise

Для Proxmox с Bacula Enterprise доступны два типа восстановления. Вы можете восстановить данные как полную гостевую виртуальную машину Proxmox (она будет восстановлена ​​либо с исходной vmid , с которой была сделана резервная копия, либо с новой, если предыдущая уже занята). Все, что вам нужно сделать, это использовать параметр where= во время процесса восстановления данных Bacula.

Еще нюанс по поводу vmid восстановленной гостевой ВМ. Если для восстановленной ВМ требуется новый vmid , он выбирается случайным образом в виде максимального доступного числа vmid +1…11, добавляемого к этому числу. Вы также можете пройти этот случайный процесс с помощью команды sequencevmid — таким образом ваша гостевая виртуальная машина получит первый доступный номер в системе.

Другой вариант восстановления — восстановить все данные в локальный каталог. Это также можно сделать аналогичной командой: where=/some/path. Несуществующие пути будут автоматически созданы модулем Proxmox.

Заключение

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