openvz

Использование vzdump снапшотов для снижения времени бэкапа.

Резервное копирование - несомненно лучший способ снижения рисков утраты данных. Использование бэкапов (от англ. backup) позволяет восстановить данные из созданной ранее копии. Создание резервных копий виртуальных машин OpenVZ производится с помощью утилиты vzdump.

Существует несколько способов создания бэкапов:

  1. путем остановки виртуальной машины и создания дампа;
  2. использование опции suspend;
  3. с помощью LVM2;

Ниже мы рассмотрим каждый способ подробнее.

Start/Stop

Первый способ работает только с полной остановкой виртуальной машины.

# vzctl stop 121
# vzdump 121
# vzctl start 121

Минусы данного способа в длительном простое в работе виртуальной машины.

Suspend

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

# vzdump --suspend 121

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

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

При использовании данного метода, наиболее полезны опции:

--stdexcludes — позволяет исключить временные файлы (/tmp и т.д.) --exclude-path — позволяет исключить определенные директории. Адреса директорий задаются с помощью regexp.

LVM2

Наиболее эффективный способ создания бэкапа виртуальных машин, это использование LVM2. Данный метод позволяет полностью избавиться от простоя в работе виртуальной машины. Для создания резервной копии используется свободное место в не размеченной области LVM2 раздела.

Для использования данного метода необходимо:

  1. Создать LVM2 'volume group' со следующими разделами 'logical volumes':
    • "/", тип ext3, размером например 10Gb;
    • "/vz", тип ext3, размером 100Gb;
    • "/opt/space", c любой файловой системой, размером 10Gb (Необходимо использовать не менее 512Mb неразмеченной области для создания бэкапов.);
    • "swap", тип swap, размером примерно 1Gb;
  2. После создания разделов, необходимо удалить отмонтировать раздел /opt/space и удалить раздел:
  3. # umount /opt/space 
    # lvremove /dev/sysvg/space 
    

Таким образом появится свободная неразмеченная область в LVM2 разделе. Для проверки освободившегося места можно выполнить команду vgdisplay, освободившееся пространство будет отображено в разделе "Free PE / Size". После подготовки места на разделе бекап виртуальной машины запускается командой:

# vzdump --dumpdir /home --snapshot 121

Во время своей работы, vzdump создаст временный раздел в свободной области и подмонтирует его в /vzsnap. После создания бэкапа, vzdump отмонтирует раздел /vzsnap и удалит его.

За более детальными параметрами работы утилиты vzdump необходимо обратиться к документации man vzdump.


Контакты
Найти