Назад | Перейти на главную страницу

Как сделать резервную копию виртуальных машин на автономном хосте ESXi?

Автономный хост ESXi (4.1) без сервера vCenter.

Как сделать резервную копию виртуальных машин как можно быстрее и удобнее для хранения?

Я знаю, что могу получить доступ к консоли ESXi и использовать стандартный Unix cp команда, но это приводит к копированию всех файлов VMDK, а не только их фактически используемого пространства; Таким образом, для VMDK размером 30 ГБ, из которого используется только 1 ГБ, резервное копирование займет 30 полных ГБ пространства и время соответственно.

И да, я знаю о виртуальных дисках с тонким предоставлением, но они, как правило, ведут себя очень плохо при физическом копировании и / или увеличении до полного выделенного размера; Кроме того, они не рекомендуются для реальной производительности виртуальных машин.

Я могу выключить виртуальные машины перед их резервным копированием (т.е. мне не нужны «живые» резервные копии); но мне нужен способ эффективно копировать их; и да, способ автоматизировать выключение / запуск при резервном копировании тоже может помочь.

У меня только ESXi; нет Service Console, нет vCenter Server ... как лучше всего справиться с этой задачей? А как насчет восстановления?

Я предпочитаю просто экспортировать их в файл ovf или ova с помощью клиента vSphere или командная строка ovftool.

В vSphere Client убедитесь, что виртуальная машина выключена, затем выделите ее и перейдите в меню File-> Export-> Export OVF Template. Тогда просто следуйте подсказкам.

Восстановление - это проще простого, просто сделайте наоборот (я думаю, пункт меню - «Развернуть шаблон OVF»).

Чтобы создать тонкую резервную копию с помощью ovftool

ovftool -dm=thin  vi://<user>@<esxi-host>/<vm-name> <local-file>.ovf

Вы также можете проверить некоторые варианты на http://www.virtuallyghetto.com/, Я знаю, что они очень популярны, и я думаю, что есть несколько хороших вариантов для резервного копирования, хотя я не просматривал ни одного из них в последнее время.

Я не знаю, подходит ли это вам, но VM Explorer отлично справляется с горячим или холодным резервным копированием виртуальных машин. Я считаю, что с помощью ESXi 4.1 VM Explorer позволяет выполнять резервное копирование гостевых виртуальных машин с одного хоста на другой.

В итоге я написал сценарий, который копирует файлы конфигурации виртуальной машины и использует vmkfstools -d для клонирования VMDK с сохранением тонкой подготовки.

Для справки:

#!/bin/sh

if [ $# != 2 ]; then
        echo "Usage: $(basename $0) <SOURCE VM PATH> <DESTINATION PATH>"
        echo "Example: $(basename $0) /vmfs/volumes/datastore1/VM1 /vmfs/volumes/datastore2"
        exit
fi

vmx=$(basename $(/bin/ls $1/*.vmx))
name=$(grep displayName $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmxf=$(grep vmxf $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
nvram=$(grep nvram $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')
vmdks=$(grep vmdk $1/$vmx | /bin/awk -F\" '{print $(NF-1)}')

echo "Started copying VM $name"

vmdir=$(basename $1)
destpath="$2/$vmdir"

echo "Source path: $1"
echo "Destination path: $destpath"

echo "Creating destination path $destpath"
/bin/mkdir -p $destpath

echo "Copying configuration files:"
echo $vmx
/bin/cp $1/$vmx $destpath
echo $vmxf
/bin/cp $1/$vmxf $destpath
echo $nvram
/bin/cp $1/$nvram $destpath

echo "Copying virtual disks:"
for vmdk in $vmdks;
do
        echo $vmdk
        /sbin/vmkfstools -d thin -i $1/$vmdk $destpath/$vmdk
done

echo "Completed copying VM $name"

Это требует, чтобы виртуальная машина была выключена и не имела активных снимков.

Я бы попытался использовать какое-то проверенное решение, а не кататься самостоятельно. Сокращение хлопот, времени и рисков легко окупится, даже если вы выберете платное решение. Все эти проблемы, которые вас беспокоят, решаются в любом современном решении для резервного копирования ESXi.

Решение, которое клиент использует в своей среде ESXi, если ему повезет, - это Veeam. Есть даже бесплатная версия, которая может вам подойти: https://www.veeam.com/virtual-machine-backup-solution-free.html

Гетто ВКБ может выполнять резервное копирование во время работы машины. Для пространства вы можете использовать файловую систему дедупликации + сжатия, например lessfs на резервном сервере.

XSIBackup - это служба ESXi, которая работает в ОС гипервизора ESXi и занимает мало места. На самом деле ваши пользователи не заметят, что в фоновом режиме происходит резервное копирование.

Он предлагает два разных инструмента: XSIBackup-Free и XSIBackup-Pro.

XSIBackup-Бесплатно предлагает все функции, присутствующие в версии Pro, такие как:

  • Горячие резервные копии
  • Планирование cron
  • Мгновенное дифференциальное резервное копирование (OneDiff)
  • Собственная дедупликация на уровне блоков плюс сжатие для локальных хранилищ данных и серверов Linux (XSITools).

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

https://33hops.com/xsibackup-pro-vmware-esxi-backup.html

Я тоже экспортирую в формат OVF. Это нормально, потому что он сжимает изображение на лету с помощью gzip.

Но лицензий больше нет, потому что при импорте файла OVF в ESXI создается машина с новым оборудованием.

Решение:

Я создаю резервную копию (скачиваю) файловую папку виртуальной машины без большого образа и сжимаю их.

И папка ovf, и сжатая копия файлов виртуального образа (без большого образа) находятся в одной папке.

Восстановление:

-> Импорт OVF в ESXI и загрузка несжатой конфигурации (из резервной папки с файлами) -> Виртуальная машина снова в порядке

Исмаил

cpio может копировать разреженные файлы, сохраняя в них «дыры».