Proxmox копирование файлов на виртуальную машину
Клонирование виртуальной машины
Для примера, предположим, что в компании требуется внести изменения в какой-либо критичный сервис. Такое изменение реализуется через внесение множества правок в конфигурационные файлы. Результат при этом непредсказуем и любая ошибка способна вызвать сбой сервиса. Чтобы подобный эксперимент не затронул работающий сервер, рекомендуется выполнить клонирование виртуальной машины.
Механизм клонирования создаст точную копию виртуального сервера, с которой допустимо проводить любые изменения, при этом не затрагивая работу основного сервиса. Затем, если изменения будут успешно применены, новая VM запускается в работу, а старая выключается. В этом процессе есть особенность, о которой всегда следует помнить. На клонированной машине IP-адрес будет точно таким же, как и у исходной VM, то есть при ее запуске возникнет конфликт адресов.
Расскажем, как избежать такой ситуации. Непосредственно перед выполнением клонирования, следует внести изменения в конфигурацию сети. Для этого необходимо временно изменить IP-адрес, но не перезапускать сетевой сервис. После выполнения клонирования на основной машине следует вернуть настройки обратно, а на клонированной машине задать любой другой IP-адрес. Тем самым мы получим две копии одного и того же сервера на разных адресах. Это позволит быстро ввести новый сервис в работу.
Если этим сервисом является веб-сервер, то достаточно только изменить А-запись у Вашего DNS-провайдера, после чего запросы клиентов по этому доменному имени будут направляться уже на адрес клонированной виртуальной машины.
Кстати, Selectel предоставляет всем своим клиентам услугу размещения любого количества доменов на NS-серверах бесплатно. Управление записями осуществляется как с помощью нашей панели управления, так и с помощью специального API. Подробнее об этом читайте в нашей базе знаний.
Клонирование VM в Proxmox является очень простой задачей. Для ее выполнения необходимо выполнить следующие действия:
- Перейти на нужную нам машину.
- Выбрать из меню More пункт Clone.
- В открывшемся окне заполнить параметр Имя.
Выполнение процедуры резервирования
Для создания резервной копии:
- Переходим на нужную виртуальную машину.
- Выбираем пункт Резервирование.
- Нажимаем кнопку Резервировать сейчас. Откроется окно, в котором можно будет выбрать параметры будущей резервной копии.
- В поле Хост вводим IP-адрес нашего сервера виртуализации, в поле Имя пользователя вводим root, в поле Пароль — тот, который был выбран при установке, а в поле Порт указываем «22» (либо любой другой порт, который был задан для SSH-подключений).
- Нажимаем кнопку Быстрое соединение и, если все данные были введены правильно, то в активной панели Вы увидите все файлы, расположенные на сервере.
- Переходим в директорию /mnt/storage. Все создаваемые резервные копии будут лежать в поддиректории «dump». Они будут иметь вид:
- vzdump-qemu-номер_машины-дата-время.vma.gz в случае выбора метода GZIP;
- vzdump-qemu-номер_машины-дата-время.vma.lzo в случае выбора метода LZO.
- raw — образ диска;
- conf — конфигурация VM;
- fw — настройки файервола.
Создание Datastore и указание прав доступа
Управление дисками в Proxmox Backup Server
Заходим в раздел Administration — Storage / Disks. Выбираем нужный диск и инициализируем его нажатием кнопки Initialize Disk with GPT. Теперь переходим в раздел Directory — Create:Directory и создаем директорию для хранения данных. Здесь указываем имя репозитория и абсолютный путь к созданной директории. Если поставить галочку Add as Datastore, то новый репозиторий сразу будет подключен как сущность для хранения данных.
Осталось лишь указать пользователей, которые имеют право использовать этот репозиторий, и их уровень доступа. Для этого кликаем на имя созданного репозитория, переходим в раздел Permissions и нажимаем кнопку Add — User Permission. Выбираем нужного пользователя и его роль, затем подтверждаем нажатием Add. На этом предварительная подготовка закончена.
Выполнение бэкапа
Тут все элементарно. В главном окне программы выбираем созданное задание и нажимаем Start. Система автоматически подключится к нашему серверу (или нескольким серверам), проверит доступность хранилища и зарезервирует необходимое количество дискового пространства. Затем, собственно, начнется процесс резервного копирования, и по завершении мы получим исчерпывающую информацию о процессе.
Если в процессе запуска бэкапа возникла проблема вида Failed to load module [veeamsnap] with parameters [zerosnapdata=1 debuglogging=0], то нужно пересобрать модуль veeamsnap в соответствии с инструкцией.
Что особенно интересно — на самом сервере мы можем посмотреть не только список всех выполненных заданий резервного копирования, но и в реальном времени наблюдать за процессом командой veeam:
Предрекая вопрос, почему консоль так странно выглядит, скажу сразу: мне очень нравится, как выглядит консоль на экране теплого лампового СRT-монитора. Делается это при помощи эмулятора терминала cool-retro-term.
Бэкап виртуальной машины
Процедура бэкапа полноценной виртуальной машины ничем не отличается от процедуры бэкапа контейнера, разве что времени занимает больше. Мы для теста создали машину с ID 100 и развернули на ней Ubuntu 16.04, после чего выполнили резервное копирование.
Успешно выполненный бэкап виртуальной машины из веб-интерфейса PVE
Со стороны Proxmox Backup Server это выглядело следующим образом:
Успешно выполненный бэкап виртуальной машины из веб-интерфейса PBS
Как и в случае с контейнером, процедура восстановления проста и тривиальна. Указываем, какой бэкап, куда разворачиваем и будем ли включать машину после завершения процедуры.
Добавляем PBS-сервер в Proxmox VE
Перед тем как добавлять сервер резервного копирования в среду виртуализации Proxmox VE, потребуется выполнить ряд предварительных действий непосредственно на сервере Proxmox Backup Server.
Настройка гипервизора
Мы будем использовать актуальную версию Proxmox на момент написания статьи — 6.2-1. Эта версия вышла 12 мая 2020 года и содержит в себе массу полезных изменений, о которых расскажем в одной из следующих статей. Пока что начнем готовить гипервизор. Основная задача — установить Veeam® Agent for Linux на резервируемый хост с Proxmox. Но перед этим совершим несколько действий.
Создание пользователей
Управление пользователями в Proxmox Backup Server
Перед тем как переходить к бэкапам, нужно первым делом сконфигурировать доступы. Советуем сразу зайти в Configuration — Access Control и создать пользователей для хранилища. Для демонстрации мы изначально создали пользователя test@pbs, которого станем использовать для подключения. Обратите внимание, что при вводе имени пользователя часть '@pbs' обязательна, в противном случае будет выдаваться ошибка о неверно введенных данных.
Теперь переходим к созданию нужных репозиториев (Datastore в терминологии PBS). Это дает возможность четко распределить бэкапы по необходимым системному администратору критериям, а также распределить права доступа. Для создания нам потребуется директория, расположенная на одном из примонтированных дисков.
Восстановление контейнера
Сделать бэкап — это лишь половина успеха. Гораздо важнее из него восстановиться. Удаляем наш LXC-контейнер с Ubuntu и попробуем выполнить процедуру восстановления. Для этого в веб-интерфейсе PVE переходим на наш Storage в раздел Content и выбираем файл бэкапа.
Выбор опций восстановления
Для восстанавливаемого контейнера выбираем место размещения, новый ID (по умолчанию будет стоять тот, который был на момент резервного копирования), а также скоростной лимит чтения данных. Это позволит не перегрузить входящий канал сервера виртуализации. Нажимаем Restore и запускаем наш контейнер.
Контейнер восстановлен и запущен
Контейнер успешно восстановлен. На нашем тестовом стенде процедура бэкапа заняла чуть более 9 секунд и восстановилась за 14. Скорость будет зависеть как от выбранных опций, так и от характеристик обоих серверов.
Подготовка системы
Поставим утилиту sudo, которая отсутствует в системе, если Proxmox устанавливался не в существующую Linux-систему, а как самостоятельная ОС из официального образа. Также нам понадобятся pve-заголовки ядра. Заходим на сервер через SSH и добавляем репозиторий, работающий без подписки на поддержку (официально он не рекомендуется для production, однако содержит необходимые нам пакеты):
После этой процедуры обязательно перезагружаем сервер.
Перенос виртуальных машин и контейнеров Proxmox VE на другой сервер
Перенос виртуальных машин между серверами (нодами) гипервизора Proxmox VE не входящими в кластер довольно часто встречающаяся задача. На первый взгляд она довольно простая, но имеет свои особенности, которые могут поставить в тупик начинающих администраторов этой системы виртуализации. Основная сложность заключается в том, что Proxmox может использовать различные виды хранилищ и форматов виртуальных дисков и, подходящие в одном случае рекомендации окажутся бесполезны в другом. Поэтому нужен универсальный способ, о котором мы хотим рассказать в этой статье.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Богатство возможностей вариантов хранения в Proxmox, являющееся несомненным преимуществом, в данной задаче поворачивается к нам обратной стороной медали. Во множестве гуляющие по сети рекомендации: скопировать образ диска виртуальной машины и настройки еще больше запутывают и сбивают с толку. А при использовании некоторых вариантов хранилища у вас просто может не быть привычного файла, который можно скопировать.
Но есть один простой и универсальный способ - резервное копирование. Резервная копия - это единственный файл, содержащий как образ диска, так и настройки виртуальной машины или контейнера, его легко перемещать и еще легче восстанавливать. Весь процесс потребует всего лишь нескольких команд. Работать мы будем в командной строке от имени суперпользователя, потому что это гораздо проще и удобнее, нежели через веб-интерфейс.
Первым делом выясним ID виртуальной машины или контейнера которые мы собираемся переносить, затем перейдем в любое удобное расположение, скажем в домашнюю директорию суперпользователя /root, единственное условие - на файловой системе должно хватать места для создания резервной копии виртуалки.
Затем создадим дамп виртуальной машины или контейнера, явно указав его размещение и режим копирования:
В нашем случае ID - 105, директория назначения /root и режим копирования с остановкой виртуальной машины - stop, последнее - важно, данный режим обеспечивает максимальную согласованность резервной копии и при переносе между серверами следует использовать именно его.
Мы не использовали никакого алгоритма сжатия, так как не видим в этом особого смысла если образ будет передаваться по локальной сети или при помощи съемного носителя, но при необходимости можете ее сжать, мы рекомендуем использовать современный быстрый и эффективный алгоритм Zstandard:
В результате в целевой директории появится файл образа с именем подобным vzdump-qemu-105-2021_12_10-16_47_51.vma, которое содержит тип виртуальной машины - qemu/lxc, ее ID, а также дату и время создания. Расширение .vma соответствует несжатому образу, при использовании компрессии добавится еще одно расширение архиватора, для Zstandard - .vma.zstd. Также рядом появится файл с расширением .log, в нем находится показанное на скриншоте выше содержимое и для восстановления он не нужен. Хотя, если вы собираетесь хранить данный образ, то мы советуем копировать его вместе с файлом лога, в последующем это позволит проще и быстрее разобраться с назначением данного дампа.
Теперь передадим копию на новый сервер виртуализации любым удобным способом, например, можно использовать SCP:
Где 192.168.99.8 - адрес нового гипервизора, местом расположения также укажем /root, но вы можете выбрать любую иную локацию.
Покинем старый гипервизор и перейдем в командную строку нового, но перед этим уточним с какого номера начинаются на нем свободные идентификаторы и в каком хранилище располагаются образа дисков.
В нашем примере видно, что свободные ID начинаются со 105, а хранилищем образов является local-lvm. Далее все зависит от того, что мы восстанавливаем, виртуальную машину или контейнер. Для виртуалки выполним:
Где мы сначала указываем путь к резервной копии, затем любой свободный ID (он может отличаться от старого ID, в нашем случае просто совпало) и хранилище local-lvm при помощи ключа -storage, если этого не сделать, то виртуальная машина будет восстановлена в хранилище local.
Для контейнеров команда будет немного иной:
В ней мы сначала указываем желаемый свободный ID, а затем путь к архиву.
После завершения восстановления не спешите включать новую виртуальную машину, особенно если оба сервера находятся в пределах одной сети. Сначала выключите виртуальную машину на старом сервере, а потом внимательно проверьте настройки новой, иначе вы вполне можете получить глупые и досадные ошибки, например, такую:
А всего лишь потому, что на старом узле в привод виртуалки был смонтирован образ, который на новом месте отсутствует. Также внимательно проверьте все внешние устройства, например USB, удалите неиспользуемые и добавьте новые. После чего включите виртуальную машину или контейнер. Также не забудьте добавить ее в планы резервного копирования на новом сервере.
Затем тщательно проверяем работоспособность, после чего виртуальную машину со старого сервера желательно удалить. Также удалите использовавшиеся для переноса резервные копии на обоих узлах.
Как видим, перенос виртуальных машин или контейнеров между узлами Proxmox VE достаточно прост и универсален, все что вам нужно - это свободное место и знание нескольких команд.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
В статье «Магия виртуализации: вводный курс в Proxmox VE» мы успешно установили на сервер гипервизор, подключили к нему хранилище, позаботились об элементарной безопасности и даже создали первую виртуальную машину. Теперь разберем как реализовать самые базовые задачи, которые приходится выполнять, чтобы всегда иметь возможность восстановить работу сервисов в случае сбоя.
Штатные инструменты Proxmox позволяют не только выполнять резервное копирование данных, но и создавать наборы предварительно настроенных образов операционных систем для быстрого развертывания. Это не только помогает при необходимости создать новый сервер для любого сервиса за несколько секунд, но также и уменьшает время простоя до минимального.
Рассказывать о необходимости создания бэкапов мы не будем, поскольку это очевидно и уже давно является аксиомой. Остановимся на некоторых неочевидных вещах и особенностях.
Сначала рассмотрим каким образом сохраняются данные при процедуре резервного копирования.
Настройка Veeam® Backup&Replication™
Работа с образами дисков
В комплекте c Proxmox есть очень удобная утилита, под названием qemu-img. Одной из ее функций является конвертирование образов виртуальных дисков. Чтобы воспользоваться им, достаточно открыть консоль гипервизора и выполнить команду в формате:
Благодаря этой же команде можно принудительно создать нужный образ, используя аргумент create:
Такая команда создаст образ test в формате RAW, размером 40 Гб. Теперь он годится для подключения к любой из виртуальных машин.
Создание задания бэкапа
В главном окне Veeam® Backup&Replication™ нажимаем Backup Job — Linux computer. Выбираем тип Server и режим Managed by backup server:
Даем имя заданию и по желанию добавляем описание. Затем нажимаем Next:
Далее нам нужно внести все серверы с Proxmox, которые будем бэкапить. Для этого нажимаем Add — Individual computer. Вводим хостнейм или IP-адрес сервера и реквизиты доступа. Таким образом формируем список Protected computers и нажимаем Next:
Теперь очень важный момент, а именно выбор данных, которые будут добавлены в резервную копию. Тут все будет зависеть от того, где именно у вас располагаются виртуальные машины. Если хотите добавить только какой-либо логический том, то нужен режим Volume level backup и выбираете путь к логическому тому или устройству, например /dev/pve. Все остальные действия идентичны.
Для этой статьи мы покажем как работает режим File level backup:
В следующем окне формируем список директорий для бэкапа. Нажимаем Add и прописываем директории, где хранятся конфигурационные файлы виртуальных машин. По умолчанию это каталог /etc/pve/nodes/pve/qemu-server/. Если вы используете не только виртуальные машины, но и LXC-контейнеры, то добавьте директорию /etc/pve/nodes/pve/lxc/. В моем случае это еще и каталог /data.
Сформировав таким образом список директорий, нажимаем Next:
Из выпадающего списка репозиториев выбираем Storage, созданный ранее. Определяем длину цепочки для инкрементального бэкапа. Чем больше точек будет в Retention policy, тем больше места вы сэкономите. Но вместе с этим снизится надежность резервной копии. Мне важнее надежность, чем объем места в хранилище, поэтому я поставил 4 точки. Вы можете взять стандартное значение 7. Продолжаем настройку задания, нажав Next:
Тут параметры оставляем без изменений, просто идем в следующее окно:
Настраиваем планировщик. Это одна из самых крутых фишек, позволяющих облегчить жизнь системного администратора. В примере я выбрал автоматический запуск бэкапа каждый день в 2 часа ночи. Еще прекрасной функцией является возможность прервать задание бэкапа, если мы выходим за временную границу отведенного «окна бэкапа». Его точное расписание формируется через кнопку Window:
Опять же для примера предположим, что бэкап мы выполняем только в нерабочее время по будням, а по выходным мы вообще не ограничены во времени. Формируем вот такую красивую таблицу, возвращаемся в предыдущее окно и нажимаем Apply:
Остается только проверить суммарную информацию о задании и нажать кнопку Finish:
На этом создание задания резервного копирования закончено.
Восстановление данных
Теперь самый важный вопрос. А как же восстановить данные, если случилось непоправимое? К примеру, случайно удалили не ту виртуальную машину. В GUI Proxmox она вообще пропала, в хранилище на месте машины ничего не осталось.
Процесс восстановления несложный. Заходим на консоль Proxmox и вводим команду:
Мы увидим список выполненных бэкапов. Выбираем стрелками нужный и нажимаем клавишу R. Далее выберем точку восстановления и нажмем Enter:
Спустя пару секунд точка восстановления будет смонтирована в директорию /mnt/backup.
Останется только скопировать по своим местам виртуальные накопители и конфигурационные файлы виртуальных машин, после чего «убитая» машина появится в GUI Proxmox VE автоматически. Вы сможете запустить ее обычным образом.
Для размонтирования точки восстановления не следует это делать вручную, а нужно нажать клавишу U в утилите veeam.
Proxmox Virtual Environment (Proxmox VE) - система виртуализации с открытым исходным кодом на базе Debian, использующая в качестве гипервизора KVM для виртуальных машин и LXC для контейнеров. Это позволяет запускать в виртуальной среде Linux-системы без потери производительности и остальные, поддерживаемые KVM ОС с минимальными потерями. Кроме того, Proxmox VE позволяет создавать высокодоступные конфигурации с несколькими серверами и распределенными системами хранения.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Для установки используется собственный инсталлятор и весь процесс предельно прост, от вас потребуется указать конфигурацию дисковой подсистемы:
А также пароль суперпользователя, настройки сети, страну и часовой пояс. Потом останется только откинуться в кресле и немного подождать, пока система установится на ваш компьютер. По завершении процесса установки вас встретит приглашение входа в систему, над которым будет указан адрес, который следует набрать в браузере для доступа к консоли управления.
Но не будем спешить. Прежде всего отключим корпоративный репозиторий, на который у нас все равно нет подписки, и подключим вместо него некоммерческий репозиторий Proxmox. Для отключения просто удалим файл репозитория из источников apt:
Затем создадим свой список:
В который внесем следующие строки:
Теперь можно переходить к консоли управления, откроем браузер и наберем предложенный адрес, консоль управления продуктами Proxmox работает на порту 8006, что следует помнить.
Структура Proxmox VE иерархична, высший уровень составляет Датацентр, здесь есть настройки, применяемые сразу ко всем узлам, например, управление пользователями или хранилищами, настройки резервного копирования и т.д.
Следующий уровень - настройки узла, здесь доступна подробная статистика и большое количество настроек, которые относятся именно к этому серверу. Мы не будем останавливаться на них подробно, для администратора с достаточным уровнем подготовки разобраться с ними не составит труда.
Но есть и "сложности перевода", так в разделе Обновления, нас ждут две одинаковые кнопки Обновить.
В английской версии это были Update и Upgrade, а вот здесь перевели как перевели. Первая из них запускает обновление списка пакетов, а вторая запускает само обновление, открывая в отдельном окне консоль сервера.
Если вам нужно просто попасть в консоль сервера, можно нажать кнопку Оболочка и перед вами в отдельном окне браузера откроется noVNC-сессия, при этом не требуется ни Flash, ни Java, что позволяет подключаться как к серверу, так и к виртуальным машинам с любого устройства, был бы браузер.
Перед тем, как создавать виртуальные машины и контейнеры, обратимся к Хранилищам, по умолчанию создается два хранилища: local и local-lvm.
Первое предназначено для хранения ISO-образов и шаблонов контейнеров, а во втором хранятся сами виртуальные машины. Поэтому перед тем, как создать виртуальную машину или контейнер, нам нужно загрузить в хранилище нужный образ диска или шаблон. С образами все просто, нажимаем кнопку Загрузить и указываем нужный нам ISO-образ.
Для получения шаблонов следует нажать кнопку Шаблоны и мы попадем в официальное хранилище шаблонов, здесь мы может сразу загрузить шаблон другого продукта Proxmox - Mail Gateway или шаблоны стандартных Linux-систем.
Чтобы загрузить выбранный шаблон достаточно нажать кнопку Загрузка внизу окна.
Для создания виртуальной машины нажмем Создать VM. На первом экране укажем имя виртуальной машины:
Затем укажем тип и версию гостевой ОС и подключим нужный образ из хранилища.
После чего, последовательно перемещаясь по пунктам следует настроить все остальные параметры виртуалки, особых сложностей это составить не должно. Но создав виртуальную машину не спешите ее запускать. Прежде всего перейдем в раздел Оборудование. Здесь можно не только настроить уже подключенное оборудование, но и добавить новое. В отличие от Hyper-V, Proxmoх позволяет пробрасывать внутрь виртуальных машин USB-устройства, что может быть полезным, если вам нужно работать с ключами защиты или USB-токенами.
Также не забудьте заглянуть в Параметры, где стоит включить Запуск при загрузке и Агент QEMU. И если с первым пунктом все понятно, то Агент позволяет управлять системой со стороны гипервизора, без него вы, например, не сможете сделать резервную копию без остановки работы машины.
Итак, все настройки закончены, включаем виртуальную машину и переключаемся в консоль. Да, прямо в браузере вы увидите экран вашей виртуалки, при этом ничего не тормозит, работать с системой достаточно комфортно.
Пока идет установка системы создадим еще новый контейнер, для этого следует нажать кнопку Создать CT в правом верхнем углу консоли управления. В качестве контейнеров могут быть только Linux-системы, на первом экране укажите имя контейнера и задайте пароль root или загрузите публичный SSH-ключ.
Затем укажите шаблон и следующими шагами сконфигурируйте виртуальное железо.
Доступных настроек у контейнеров гораздо меньше, зато они гораздо более экономно расходуют ресурсы.
Обратите внимание, что запущенный контейнер с Debian 10 потребляет всего лишь 55,46 МБ оперативной памяти.
Для других дистрибутивов следует установить пакет qemu-guest-agent штатным пакетным менеджером.
С Windows все несколько сложнее, прежде всего скачаем и поместим в хранилище Proxmox ISO-образ с virtIO драйверами. Получить его можно со страницы Fedora Project. Затем подключим скачанный образ к виртуальной машине.
При включенном QEMU-агенте мы увидим три неустановленных устройства.
Начнем с последнего, для Драйвера прерываний кнопок HID перейдем в выбор из списка уже установленных драйверов и укажем драйвер Универсальной шины.
Для двух оставшихся выполним поиск драйверов на смонтированном диске и устанавливаем драйвер VirtIO Serial Driver, который отвечает за работу QEMU-агента:
Также вы можете теперь включить для виртуальной машины динамическую память, для этого установите флаг Раздувание памяти и укажите минимальный размер оперативки, с которой начнет работу виртуалка:
Но придерживайтесь при этом разумных пределов, так вы можете столкнуться с невозможностью запустить современные версии Windows если укажете минимальный размер памяти менее 1 ГБ.
Еще одна важная функция, которая доступна в Proxmox VE - это резервное копирование. Существует хорошая практика - хранить резервные копии за пределами хоста. Поэтому подключим к Proxmox сетевое хранилище, для этого перейдем в Датацентр - Хранилище. Выбор здесь достаточно богатый: iSCSI, NFS, CIFS и прочее.
В нашем случае мы подключим CIFS (SMB) хранилище.
Укажите имя хранилища, в нашем случае backup, его IP-адрес или FQDN-имя, доступные ресурсы будут просканированы автоматически и вам останется только выбрать их из списка, в поле Содержимое укажите Резервная копия , а также не забудьте указать максимальное количество резервных копий в хранилище.
Затем перейдем в раздел Резервная копия и создадим новый сценарий резервного копирования:
Особых сложностей там нет, выбираете нужные виртуальные машины или контейнеры и задаете расписание копирования. После чего вам только останется проверить, что резервные копии действительно создаются.
Как видим, Proxmox представляет собой вполне серьезный и самодостаточный продукт, способный стать основой вашей системы виртуализации, предоставляя возможности на уровне дорогих коммерческих гипервизоров.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Изменение размера виртуального диска
И в заключение покажем как увеличить размер образа диска, если по каким-то причинам места на нем перестало хватать. Для этого воспользуемся аргументом resize:
Теперь наш образ стал размером 80 Гб. Посмотреть подробную информацию об образе можно с помощью аргумента info:
Не стоит забывать, что само расширение образа не увеличит размер раздела автоматически — просто добавит доступное свободное пространство. Для увеличения раздела воспользуйтесь командой:
где /dev/sda1 — нужный раздел.
Добавление сервера в роли хранилища
Добавление хранилища можно выполнить или непосредственно из веб-интерфейса Proxmox VE (Datacenter — Storage — Add) или вручную. Мы воспользуемся консолью и проделаем следующие шаги. Добавляем наш Datastore командой:
Немного разберем, что делает эта команда:
- pvesm add pbs — добавление хранилища (Storage в терминологии PVE);
- PVE_STORAGE_NAME — это имя будет отображаться в веб-интерфейсе PVE и может отличаться от имени хранилища;
- --server PBS_SERVER_ADDRESS — указываем хостнейм или IP-адрес сервера PBS (при необходимости можно указать и другой порт подключения через --port);
- --datastore STORAGE_NAME — тут указываем имя существующего datastore на сервере PBS.
Тут все также логично. Нам нужно указать реквизиты для подключения к хранилищу. Именно для этого мы предварительно создавали пользователя и распределяли права доступа. Осталось лишь прописать «отпечаток пальца» сервера для установки доверенного соединения.
Так выглядит правильно подключенное хранилище сервера PBS
После выполненных действий мы увидим наше хранилище в списке доступных для хранения данных бэкапов виртуальных машин и контейнеров, а также статистику заполненности. Пора сделать первый бэкап.
Форматы виртуальных накопителей
Расскажем подробнее об используемых в Proxmox форматах накопителей:
-
RAW. Самый понятный и простой формат. Это файл с данными жесткого диска «байт в байт» без сжатия или оптимизации. Это очень удобный формат, поскольку его легко смонтировать стандартной командой mount в любой linux-системе. Более того это самый быстрый «тип» накопителя, так как гипервизору не нужно его никак обрабатывать.
Небольшим минусом работы с этим форматом является следующее: чтобы примонтировать такой образ в любой другой системе, потребуется вначале загрузить особый драйвер nbd, а также использовать утилиту qemu-nbd, которая позволит операционной системе обращаться к файлу как к обычному блочному устройству. После этого образ станет доступен для монтирования, разбиения на разделы, осуществления проверки файловой системы и прочих операций.
Установка Veeam® Agent
Скачиваем deb-пакет Veeam® Agent for Linux с официального сайта (требуется наличие учетной записи), вооружаемся SFTP-клиентом и заливаем полученный deb-пакет на сервер. Устанавливаем пакет и обновляем список программ в репозиториях, которые этот пакет добавляет:
Обновляем репозитории еще раз:
Устанавливаем сам агент:
Проверяем, что все установилось корректно:
Ответ будет приблизительно таким:
Главное не забыть обновления
Если подписки нет — ничего страшного. Пропишем в систему no-subscription репозиторий и обновимся с него.
Для Proxmox Backup Server:
Для Proxmox Virtual Environment:
Выходим Ctrl + X и отвечаем y. Теперь можно обновить пакеты вышеуказанной командой и приступить к интеграции PBS.
Бэкап данных с любого Linux-хоста
Помимо виртуальных машин и контейнеров, заявлено, что Proxmox Backup Server позволяет бэкапить любые Linux-хосты целиком. Проверим это на практике. Будет использован тот же PBS-сервер. Для корректного выполнения нам потребуется на бэкапируемом хосте выполнить ряд дополнительных действий по установке агента под названием proxmox-backup-client. В роли тестовой машины у нас будет компьютер с той же самой Ubuntu 16.04.
Утилиты proxmox-backup-client в репозиториях Ubuntu нет, поэтому для начала добавим 3 репозитория. Два из них нужны для разрешения зависимостей утилиты, а еще один содержит нужный нам клиент:
В конец добавляем строки:
Выходим из редактора Ctrl + X и отвечаем y на вопрос о сохранении данных. Вытягиваем и устанавливаем ключики репозиториев:
Обновляем список источников приложений:
Осталось лишь выполнить бэкап. Для примера мы забэкапим корневую директорию нашей тестовой машины:
Успешно выполненный бэкап хоста
Автоматизация создания резервных копий
Использование ручного способа создания резервных копий — задача весьма трудоемкая и занимает много времени. Поэтому Proxmox VE содержит в себе средство для автоматического резервного копирования по расписанию. Рассмотрим, как это сделать:
- Используя веб-интерфейс гипервизора, открываем пункт Датацентр.
- Выбираем пункт Резервирование.
- Нажимаем кнопку Добавить.
- Задаем параметры для планировщика.
Режимы архивирования
Proxmox предлагает на выбор системному администратору три метода резервного копирования. С помощью них можно решить требуемую задачу, определив приоритет между необходимостью простоя и надежностью сделанной резервной копии:
- Режим Snapshot (Снимок). Этот режим можно еще назвать как Live backup, поскольку для его использования не требуется останавливать работу виртуальной машины. Использование этого механизма не прерывает работу VM, но имеет два очень серьезных недостатка — могут возникать проблемы из-за блокировок файлов операционной системой и самая низкая скорость создания. Резервные копии, созданные этим методом, надо всегда проверять в тестовой среде. В противном случае есть риск, что при необходимости экстренного восстановления, они могут дать сбой.
- Режим Suspend (Приостановка). Виртуальная машина временно «замораживает» свое состояние, до окончания процесса резервного копирования. Содержимое оперативной памяти не стирается, что позволяет продолжить работу ровно с той точки, на которой работа была приостановлена. Разумеется, это вызывает простой сервера на время копирования информации, зато нет необходимости выключения/включения виртуальной машины, что достаточно критично для некоторых сервисов. Особенно, если запуск части сервисов не является автоматическим. Тем не менее такие резервные копии также следует разворачивать в тестовой среде для проверки.
- Режим Stop (Остановка). Самый надежный способ резервного копирования, но требующий полного выключения виртуальной машины. Отправляется команда на штатное выключение, после остановки выполняется резервное копирование и затем отдается команда на включение виртуальной машины. Количество ошибок при таком подходе минимально и чаще всего сводится к нулю. Резервные копии, созданные таким способом, практически всегда разворачиваются корректно.
Бэкап LXC-контейнера
Тестовый контейнер с Ubuntu
Для теста мы из стандартного шаблона создали и запустили контейнер СТ100 с запущенной внутри операционной системой Ubuntu 16.04. Теперь переходим в раздел Backup, выбираем нужный Storage и нажимаем кнопку Backup Now. Выбираем тип резервного копирования (об этом можно детально прочитать в одной из предыдущих статей) и выполняем резервное копирование.
Успешно выполненный бэкап из web-интерфейса PVE
Зайдя на сервер PBS, мы также увидим, что у нас теперь есть информация о выполненном задании резервного копирования.
Успешно выполненный бэкап из web-интерфейса PBS
Заключение
Proxmox Backup Server стал тем кусочком паззла, которого не хватало для полноценной среды виртуализации Enterprise-уровня. Один раз настроив выполнение бэкапов по расписанию, можно будет не переживать, что виртуальные машины или контейнеры пропадут, например, при сбое носителей информации. Восстановить их теперь — тривиальная задача, практически не требующая никаких лишних телодвижений. Подняли новый хост, добавили репозиторий и запустили восстановление.
Добавим к этому, что разработчики активно расширяют возможности своего ПО и не бросают пользователей на произвол судьбы, составляя грамотную документацию и помогая в рамках коммьюнити-форума.
В одной из предыдущих статей цикла про гипервизор Proxmox VE мы уже рассказывали, как выполнять бэкап штатными средствами. Сегодня покажем, как для этих же целей использовать отличный инструмент Veeam® Backup&Replication™ 10.
«Бэкапы имеют явную квантовую сущность. До тех пор, пока ты не попытался восстановиться из бэкапа, он находится в суперпозиции. Он одновременно успешный и нет». (найдено на просторах интернета)
Эта статья — вольный и расширенный перевод на тему гайда, опубликованного на форуме Veeam. Если действовать строго по оригинальному гайду, то даже на первом этапе установки pve-заголовков вы получите ошибку, т.к. система просто не будет знать где их брать. Неочевидных моментов там предостаточно.
Нет, я не говорю, что это идеальный способ бэкапа. Нет, он не может рекомендоваться для продакшна. Нет, я не гарантирую идеальную целостность сделанных резервных копий.
Однако все это работает и вполне подойдет для многих пользователей и начинающих системных администраторов, которые делают первые шаги в изучении виртуализации и систем резервного копирования.
Резервное копирование, пожалуй, один из самых важных процессов, от которого зависит работа любой компании. Нет ничего дороже данных, хранящихся в корпоративных информационных системах, и нет ничего хуже отсутствия возможности их восстановить в случае сбоя.
Часто бывает, что о необходимости бэкапа и выборе инструмента задумываются только после уже случившегося ЧП, связанного с потерей критичных данных. По мере развития технологий виртуализации приложения для резервного копирования стали ориентироваться на тесное взаимодействие с гипервизорами. Не стал исключением и продукт Veeam® Backup&Replication™, имеющий широкие возможности по резервному копированию в виртуализованных средах. Сегодня мы расскажем, как настроить его для работы с Proxmox VE.
Алгоритмы резервного копирования
Начнем с того, что Proxmox имеет неплохой штатный инструментарий для создания резервных копий виртуальных машин. Он позволяет легко сохранить все данные виртуальной машины и поддерживает два механизма сжатия, а также три метода создания этих копий.
Разберем вначале механизмы сжатия:
- Сжатие LZO. Алгоритм сжатия данных без потерь, придуманный еще в середине 90-х годов. Код был написан Маркусом Оберхеймером (реализуется в Proxmox утилитой lzop). Основной особенностью этого алгоритма является очень скоростная распаковка. Следовательно, любая резервная копия, созданная с помощью этого алгоритма, может при необходимости быть развернута за минимальное время.
- Сжатие GZIP. При использовании этого алгоритма резервная копия будет «на лету» сжиматься утилитой GNU Zip, использующей мощный алгоритм Deflate, созданный Филом Кацем. Основной упор делается на максимальное сжатие данных, что позволяет сократить место на диске, занимаемое резервными копиями. Главным отличием от LZO является то, что процедуры компрессии/декомпреcсии занимают достаточно большое количество времени.
Восстановление отдельных файлов из бэкапа
Часто бывает так, что восстанавливать данные целиком не требуется, нужно лишь вытащить определенный файл или директорию. Сделать это в два щелчка можно прямо из веб-интерфейса PBS:
Пример скачивания отдельного файла из бэкапа
Восстановление из резервной копии
Рассмотрим ситуацию, когда виртуальную машину случайно удалили и требуется ее экстренное восстановление из резервной копии:
- Открываем хранилище, на котором лежит резервная копия.
- Переходим на вкладку Содержимое.
- Выбираем нужную копию и нажимаем кнопку Восстановление.
Добавление репозитория
Разумеется, хранить резервные копии можно и непосредственно на сервере с развернутым Veeam® Backup&Replication™, однако удобнее все-таки пользоваться внешним хранилищем.
Выбираем пункт Backup Repositories, нажимаем кнопку Add Repository и в появившемся окне выбираем Network attached storage:
Для примера возьмем тестовое SMB-хранилище, у меня это обычный QNAP:
Заполняем имя и описание, затем нажимаем кнопку Next:
Вводим адрес SMB-хранилища и, если оно требует авторизации, нажимаем Add для добавления реквизитов доступа:
Заполняем имя пользователя и пароль для доступа к SMB-хранилищу, а затем нажимаем кнопку ОК и, вернувшись в предыдущее окно, — Next:
Если все сделано без ошибок, то программа подключится к хранилищу, запросит информацию о доступном дисковом пространстве и отобразит следующее диалоговое окно. В нем задайте дополнительные параметры (при необходимости) и нажмите кнопку Next:
В следующем окне можно оставить все параметры по умолчанию и также нажать Next:
Проверяем, что необходимые компоненты установлены и находятся в статусе already exists, и нажимаем кнопку Apply:
На этом этапе Veeam® Backup&Replication™ еще раз подключится к хранилищу, определит нужные параметры и создаст репозиторий. Нажимаем Next:
Проверяем суммарную информацию о добавляемом репозитории и нажимаем кнопку Finish:
Программа автоматически предложит сохранять свои конфигурационные файлы в новом репозитории. Нам это не требуется, поэтому отвечаем No:
Репозиторий успешно добавлен:
Сохранение «отпечатка пальца» сервера
По умолчанию PBS поставляется с самоподписанным сертификатом SSL. Чтобы в дальнейшем установить доверенное соединение между клиентом и сервером PBS, следует считать его отпечаток и сохранить для последующего использования.
Заходим в Administration — Shell и снимаем «отпечаток пальца» сервера:
Ответом на команду будет строка вида:
В дальнейшем мы будем использовать этот отпечаток для установки соединения.
Заключение
Нами были рассмотрены штатные способы резервного копирования и восстановления виртуальных машин. Их использование позволяет без особых проблем сохранять все данные и экстренно восстановить их в случае нештатной ситуации.
Конечно, это не единственный возможный способ сохранения важных данных. Существует множество инструментов, например, Duplicity, с помощью которых можно создавать полные и инкрементные копии содержимого виртуальных серверов на базе Linux.
При выполнении процедур резервного копирования всегда следует учитывать, что они активно нагружают дисковую подсистему. В связи с этим выполнять эти процедуры рекомендуется в моменты минимальной нагрузки, чтобы избежать задержек при выполнении операций ввода-вывода внутри машин. Следить за статусом задержек дисковых операций можно непосредственно из веб-интерфейса гипервизора (параметр IO delay).
В середине июля этого года мы рассказывали о том, что была представлена бета-версия Proxmox Backup Server (PBS). В день холостяков, 11.11.2020 в 11:11, Proxmox Server Solutions GmbH опубликовали релиз версии 1.0.1, что не прошло незамеченным. Взглянем детально, как использовать PBS и для чего он подходит.
Основной упор при создании PBS был сделан на совместимость и удобство работы с Proxmox VE (PVE). Разработчики постарались максимально упростить процесс интеграции и сделать так, чтобы все элементы интерфейса и подход к управлению резервным копированием были интуитивно понятны пользователям PVE.
Короткое, но емкое вводное видео о возможностях Proxmox Backup Server:
Прежде всего установим Proxmox Backup Server. С момента выхода beta-версии инсталлятор остался точно таким же.
Доступные варианты файловых систем в инсталляторе
Примечательно то, что система может сама собрать ZFS-массив и установиться сразу на него. Также для выбора доступна традиционная для Linux файловая система EXT4.
Вариант с XFS не рекомендуем, поскольку у нее имеется ряд существенных недостатков, таких как невозможность уменьшить размер существующей файловой системы, а также сложность восстановления данных при возникновении сбоев.
После установки и перезагрузки появляется возможность зайти в веб-интерфейс управления PBS. Отметим, что не все действия можно выполнить непосредственно из него, часть придется выполнять через CLI. Вероятно, с развитием продукта ситуация в корне поменяется.
Внешний вид веб-интерфейса управления
Главная страница достаточно информативна. Удобные индикаторы, показывающие в реальном времени нагрузку на сервер, данные по занятому дисковому пространству, наиболее длительные операции за последний месяц, а также запущенные задания резервного копирования.
Читайте также: