Где proxmox хранит диски виртуальных машин

Обновлено: 07.07.2024

Proxmox - популярная система виртуализации. Для того чтобы максимально эффективно использовать предоставленные операционной системой возможности, давайте разберемся как расширить хранилище данных на жестком диске. Для хранения данных в Proxmox VE можно использовать внешние хранилища, сетевые ресурсы или подключать к системе дополнительные HDD или SSD, а также использовать контроллеры SCSI или RAID.

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

Добавление диска в Proxmox VE

В рассматриваемом случае, подключен и предварительно настроен в BIOS компьютера SATA HDD емкостью 120 Гб. Он полностью очищен и не размечен ни под какую-либо ОС и определился в системе как устройство /dev/sdb. В Proxmox VE подключения к хранилищу логически разделены по вкладкам Датацентр, где можно подключить сетевые хранилища, и каждой машины в отдельности, в нашем случае локальная машина называется PVE. Ниже представлены варианты, предлагаемые к созданию из вкладки Датацентр:

7fRjjvO6ixwy7xEKskP5A+4lkQkD6dvHAAAAAElFTkSuQmCC

1. Разметка диска

Для операций с диском давайте использовать в режиме XFCE4 от имени суперпользователя root дисковую утилиту GParted:

FhxO1RuNhJZzfp0uL3vfnaxNUrY16uiXAAvcSLIib31AGFHGLnH0sC0NW+VHkBAAAAAElFTkSuQmCC

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

V2UO6IiDR0IAAAAASUVORK5CYII=

В результате утилита предложит создать несколько видов разделов, в том числе: msdos (MBR), GPT, mac и прочие. Для целей подключения дополнительного хранилища Proxmox VE, рассмотрим создание раздела GPT с различным видом файловых систем. Для этого выберите GPT и нажмите Применить.

AT7CGhDla66OAAAAAElFTkSuQmCC

2. Поиск раздела в консоли Proxmox VE

Перейдите в раздел PVE, затем в раздел Диски, там должен появиться размеченный под GPT диск /dev/sdb с типом unknown, не используемый (колонка Использование), в колонке GPT должно быть указано Да, а в колонке Использование можно увидеть тип диска, у /dev/sdb его пока нет:

V1tGQzKz8f1Zrqt4GethqTzmQwEEK8Rr6KwYSV16OU3dx6XlPbEgiEyjU9KEQIof8HNvi7Xy8RK2wAAAAASUVORK5CYII=

3. Форматирование диска средствами Proxmox VE

В панели управления ProxmoxVE можно отформатировать подготовленный диск под файловую систему LVM или ZFS.

  • Файловая подсистема LVM позволяет использовать разные области одного жёсткого диска и/или области с разных жёстких дисков как один логический том. Реализована с помощью подсистемы device mapper. Активно используется ProxmoxVE как основная файловая система.
  • Файловая система ZFS, разработки SUN Microsystems, поддерживает большие объёмы данных, объединяет концепции файловой системы, массивов RAID, менеджера логических дисков, принципы легковесных файловых систем, предоставляет простое управление томами хранения данных.

Так же мы создадим раздел на диске GPT, который отформатируем под EXT4, журналируемой файловой системой, которая используется в операционных системах с ядром Linux.

Для создания LVM раздела перейдите в раздел Диски машины PVE, выберите пункт LVM , Создать: Volume Group, укажите диск /dev/sdb и задайте его имя, например backup.

kHQAAAABJRU5ErkJggg==

Тот же способ подходит и для создания раздела LVM-Thin: LVM Thin Provisioned volume, тонкие (разреженные) тома, которые занимают столько места, сколько требуется системе.

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

8F7AZ7Zi7J7jqAAAAAElFTkSuQmCC

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

HQpx2TBV5SwAAAAASUVORK5CYII=

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

V7EqylOsbwQAAAABJRU5ErkJggg==

На созданных и подключенных через панель управления Proxmox VE томах LVM можно хранить образы и диски виртуальных машин. Для создания остальных объектов необходимо примонтировать диск к файловой системе хоста PVE. Теперь вы знаете как добавить жесткий диск proxmox.

4. Форматирование диска в Ext4 с помощью терминала

Для разметки диска GPT и форматирования раздела под файловую систему EXT4 воспользуйтесь приложением Терминал. Ниже показано как выглядит структура файловой системы на хосте PVE:

AZsd3r95UXCwAAAAAElFTkSuQmCC

С помощью консольной утилиты fdisk произведите создание системы GPT и создайте новый раздел на диске /dev/sdb:

Q2bl2dtDZ5PWrsSsCAADer7M9vBSugySvXySpntgVAQAAbyRpSjkNWdy9Rg7HhLx+NnZFAADAG3Z2SimlnHNxH3kMCHn9fOyKAACA96Mq2VK25B5jKdxp5A38D1U0cgOPYolFAAAAAElFTkSuQmCC

sudo fdisk /dev/sdb

В результате в системе должен появиться раздел /dev/sdb1 диска /dev/sdb. Создадим файловую систему:

sudo mkfs.ext4 /dev/sdb1

По окончании форматирования, создайте точку монтирования /backup:

Отредактируйте файл /etc/fstab, в котором указываются точки монтирования дисков системы, таким образом, чтобы в конце файла была строка:

sudo vi /etc/fstab

/dev/sdb1 /backup ext4 defaults 0 2

AVizrm1hxL85AAAAAElFTkSuQmCC

Дайте системе команду монтировать все диски, указанные в файле fstab:

clvp4QPw+2wAAAABJRU5ErkJggg==

Таким же путем можно отформатировать диск LVM под EXT4, чтобы примонтировать его к файловой системе.

8BQmBzjJRkZl8AAAAASUVORK5CYII=

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

sudo fdisk /dev/sdb

sudo pwcreate /dev/sdb1

sudo vgcreate pve-test-bkp /dev/sdb1

sudo lvcreate -L 110G -n backup pve-test-bkp

ls /dev/mapper

H4+D9sLGGV5CAAAAAElFTkSuQmCC

Сознательно создавались длинные имена файлов, чтобы показать, как будет именоваться результат выполнения комманд: LVM-раздел pve—test—bkp-backup, расположенный в /dev/mapper теперь можно отформатировать в файловую систему EXT4 и примонтировать в раздел файловой системы /backup точно также, как ранее монтировался /dev/sdb1:

mkfs.ext4 /dev/mapper/ pve—test—bkp-backup

В файле /etc/fstab уберите вместо /dev/sdb1 укажите новый раздел, чтобы выглядело так:

sudo vi /etc/fstab

/dev/mapper/ pve—test—bkp-backup /backup ext4 defaults 0 2

Дайте команду системе перемонтировать диски согласно данным /etc/fstab:

zEe9xzxgPtc+wAAAABJRU5ErkJggg==

5. Использование диска для хранения архивных копий, образов и шаблонов

После удачного монтирования диска осталось добавить диск proxmox в панели управления. Для этого нажмите кнопку Добавить в разделе Хранилище хоста PVE и укажите тип Каталог. Выберите ID backup, каталог укажите /backup, в содержимом выберите Резервная копия и любые другие пункты с помощью зажатой клавиши на клавиатуре Shift и кликов мышкой.

ACenkue3ciwDAAAAAElFTkSuQmCC

В меню Пулы Датацентра создайте пул backup и добавьте созданное хранилище backup. Это позволит выбирать пул при создании виртуальных машин, создании бекапов и других файловых операций.

MlDZsTLQbKAAAAABJRU5ErkJggg==

Настройте резервную копию, на примере виртуальной машины CentOS. Для этого перейдите в виртуальную машину, затем в пункт Резервная копия, выберите в правом углу Хранилище backup, нажмите кнопку Создать резервную копию сейчас. После заполнения полей и нажатия кнопки Резеврная копия будет запущен фоновый процесс создания резервной копии.

B9Gs1jxasPOJAAAAAElFTkSuQmCC

6. Использование диска для хранения виртуальных машин

При создании хранилища backup были выбраны не только резервные копии, поэтому его можно использовать для создания образов виртуальных машин. Те диски, которые были инициализированы из панели управления Proxmox VE, могут размещать образы виртуальных машин, но не другие объекты.

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

V7EqylOsbwQAAAABJRU5ErkJggg==

Выводы

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

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Добрый день. Достались мне по гос контракте сервера от поставщика с виртуальными машинами на proxmox.
В админке вижу созданы 2 storage:
local, тип Directory, содержимое backup
iso и pve тип LVM, содержимое images.
Стоит 2 параллельные задачи:
1- Хочу перенести виртуальные машины с proxmox на vmware, не могу найти где на сервере лежат образы машин в raw формате, что бы с конвертировать его в формат vmware.
2 - Хочу перенести виртуальные машины на другой сервер, поднял на нем proxmox, скопировал в папку /var/lib/vz/dump образы бэкапов, в админке их не вижу. Как можно их восстановить на новом сервере?

RicoX

3f2cb34f74544d118013b7ca25a1e5db.jpg

1) /var/lib/vz/images/ ,если не указано другое, вообще можно посмотреть через веб морду Датацентр-Хранилище. RAW формата может и не быть, все машины могут лежать в более современном qcow2, тогда сначала конввертим в raw, затем в vmware.
2) Вы не указали, что бэкапы должны лежать там, заходим в Датацентр-Хранилище, открываем на изменение local, там выделяем поле . backup.

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

8b043b81e1ad4e4686dd96ffe0aaad06.jpg

1)Смотрел /var/lib/vz/ через mc, папки images нет.
В веб-морде такая настройка:

2) Спасибо, именно эту отметку пропустил. Восстановил виртуальную машину на новом сервере Proxmox VE 3.4, до этого виртуальная машина крутилась на более старом Proxmox-е 2.6.32.-16.
При запуске востановленной виртуальной машины выходит ошибка:

Не могу понять на что ругается.

P.S. На vmware цены смотрел. Я только начал заниматься визуализацией, и еще не знаю что выбрать.

0d35fb9354fa4f518913b34776823675.jpg

И еще вопрос, когда в proxmox добавляю раздел LVM поле "Группа разделов" пустая, где её нужно заполнить?

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

понедельник, 16 декабря 2019 г.

Руководство администратора Proxmox VE R 6.0 Глава 8.

Хранилище Proxmox VE

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

Типы хранилищ

Тонкая Настройка

Ряд хранилищ, и образы QEMU в формате qcow2 , поддерживает динамическое выделение памяти. При активированной тонкой настройке в хранилище будут записаны только те блоки, которые фактически используются гостевой системой.

Скажем, например, вы создаете виртуальную машину с жестким диском 32 ГБ, и после установки операционной системы гостевой системы корневая файловая система виртуальной машины содержит 3 ГБ данных. В этом случае только 3 ГБ записываются в хранилище, даже если гостевая виртуальная машина видит жесткий диск 32 ГБ. Таким образом, тонкая настройка позволяет создавать образы дисков, которые больше, чем доступные в настоящее время блоки хранения. Можно создавать большие образы дисков для виртуальных машин, а при необходимости добавлять дополнительные диски в хранилище без изменения размера файловых систем виртуальных машин.

Конфигурация хранилища

Все связанные с Proxmox VE конфигурации хранилища хранятся в одном текстовом файле по адресу /etc/pve/storage.cfg

Пулы Хранения

Каждый пул хранения имеет <type> и однозначно идентифицируется по его <storage_id>.
Конфигурация пула выглядит следующим образом: Строкой <Тип>: <storage_id> начинается определение пула, затем следует список свойств. Большинство свойств требуют значения, но некоторые имеют разумные значения по умолчанию. В этом случае вы можете опустить значение.

Чтобы быть более конкретным, взгляните на конфигурацию хранилища по умолчанию после установки. Он содержит один специальный локальный пул хранения с именем local, который ссылается на каталог /var/lib/vz и всегда доступен. Программа установки Proxmox VE создает дополнительные записи хранилища в зависимости от типа хранилища, выбранного во время установки.

Конфигурация хранилища по умолчанию ( /etc/pve/storage.cfg )


Общие свойства хранилищ

Владелец тома

Существует отношение собственности для томов типа образ. Каждый такой Том принадлежит виртуальной машине или контейнеру. Например, том local:230/example-image.raw принадлежит VM 230. Большинство серверных систем хранения данных кодирует эту информацию о владельце в имя Тома.

Использование интерфейса командной строки

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

Трактат о сущности механизма бэкапов в Proxmox VE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Параметры резервной копии

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

Статус выполнения

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

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

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

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

Резервные копии рекомендуется сразу скачивать с сервера и сохранять в надежном месте, например, в нашем облачном хранилище. Если распаковать файл с разрешением vma, одноименной утилитой, идущей в комплекте с Proxmox, то внутри будут файлы с расширениями raw, conf и 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. Одной из ее функций является конвертирование образов виртуальных дисков. Чтобы воспользоваться им, достаточно открыть консоль гипервизора и выполнить команду в формате:

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

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

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

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

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

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

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

Планировщик

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

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

Заключение

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

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

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

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

Про бэкапы в 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. Нажимаем кнопку Резервировать сейчас. Откроется окно, в котором можно будет выбрать параметры будущей резервной копии.

Теперь созданные архивы с резервными копиями виртуальных машин станут доступны для скачивания с сервера. Самым простым и банальным способом копирования является 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. Выбираем нужную копию и нажимаем кнопку Восстановление.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

Читайте также: