Бэкап виртуальных машин vmware с winrar. Резервное копирование виртуальных машин VMWare ESXi с помощью MKSBackup. Создание задания для планировщика в Windows PowerShell

Если у вас есть желание детальнее разобраться в процессах настройки и обеспечения комплексной безопасности локальной и сетевой инфраструктуры, построенной на базе ОС Linux, рекомендую познакомиться с в OTUS. Курс не для новичков, для поступления нужно пройти.

Если вы еще не настроили бесплатный гипервизор hyper-v, рекомендую познакомиться с моим материалом на эту тему — . Если у вас он уже настроен и встал вопрос о том, как быстро, удобно и бесплатно его забэкапить, то я рекомендую воспользоваться бесплатной утилитой HV Backup .

HVBackup описание утилиты для hyper-v

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

Утилита работает на всех версиях операционной системы, начиная с Windows Server 2008 и далее, как в графическом режиме, так и Server Core установках. Утилита поддерживает в том числе и бесплатную редакцию гипервизора Hyper-V Server.

HVBackup поддерживает app consistent и crash consistent бэкапы hyper-v, используя VSS, встроенный в систему. Существует множество коммерческих решений, основанных на таком же способе бэкапа виртуальных машин, но среди бесплатных мне известен только этот продукт.

Компания codeplex , производитель программы, утверждает, что она регулярно использует HVBackup в своей инфраструктуре, что гарантирует высокое качество работы и своевременные исправления или изменения.

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

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

Системные требования:
.Net Framework 3.5

Установка.Net Framework 3.5 в командной строке

Чтобы установить.Net Framework 3.5 необходимо выполнить следующие команды в Powershell.

Windows Server или Hyper-V Server 2012:

Install-WindowsFeature NET-Framework-Core

Windows Server 2008 или 2008 R2 (не core):

Ocsetup NetFx3

Windows Server (core) или Hyper-V Server 2008 / 2008 R2:

Ocsetup NetFx3-ServerCore

HVBackup пример использования

Выполнить полный VSS backup всех виртуальных машин хоста:

HVBackup -a -o d:\vm-backup

Выполнить полный VSS backup списка виртуальных машин (необходимо использовать кавычки, если имена машин содержат пробелы). Бэкап выполняется на удаленный сервер:

HVBackup -l "VM1,VM2" -o \\backup-server\wm-backup

Сделать полный бэкап виртуальных машин, список которых содержится в текстовом файле (каждая ВМ в отдельной строке):

HVBackup -f list.txt -o d:\wm-backup

Скрипт для автоматического бэкапа

Если вы хотите запланировать автоматическое выполнение резервного копирования, то удобнее всего сделать простой bat файл для этих целей и запланировать его исполнение. Создадим backup-all.cmd следующего содержания:

Set BCKPATH="\\backup-server\wm-backup" rem net use %BCKPATH% /user: Pushd %BCKPATH% && forfiles.exe -m *.zip -d -7 -c "cmd /c del @path" popd HVBackup.exe -a -o %BCKPATH% 1> log_out.txt 2> log_err.txt

Этот скрипт перед выполнением бэкапа всех виртуальных машин будет удалять zip файлы старше 7-ми дней в указанной директории. Пути и параметры вы можете подредактировать под свои нужды.

Теперь создадим запланированное задание на сервере для периодического выполнения резервного копирования созданным ранее скриптом:

Schtasks.exe /create /tn HVBackup /tr c:\backup-all.cmd /sc DAILY /ru /rp /st 01:00:00

Если необходимо удалить задание:

Schtasks.exe /delete /tn HVBackup /f

Немедленное выполнение задания:

Schtasks.exe /run /tn HVBackup

Параметры командной строки HVBackup

Использование: HVBackup.exe

-b, —backup
Выполнить backup (по-умолчанию).
-r, —restore
Выполнить восстановление.
-f, —file
Текстовый файл, содержащий список виртуальных машин по одной в каждой строке.
-l, —list
Список виртуальных машин для бэкапа.
-a, —all
Резервное копирование всех виртуальных машин на сервере.
-n, —name
Если указано, то делается бэкап только перечисленных виртуальных машин.
-g, guid
Если указано, то делается бэкап перечисленных виртуальных машин по GUID.
-o, —output
Обязательный параметр. Конечная папка для архивов. Может быть в виде локального или сетевого пути.
—outputformat
Формат имени архива виртуальной машины. {0} имя машины, {1} GUID машины и {2} текущая дата и время. По-умолчанию: «{0}_{2:yyyyMMddHHmmss}.zip»
-s, —singlevss
Сделать один snapshot для всех виртуальных машин.
—help
Вывести справку по командам:

Заключение

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

Есть хорошая возможность совместить HVBackup и . Например, делать архивы локально на сервере с hyper-v, монтировать к linux серверу папку и с помощью rsync забирать zip файлы с виртуальными машинами. Либо сразу делать резервное копирование на линуксовую самбу, к примеру. По приведенной выше ссылки есть пример на эту тему.

Онлайн курс Безопасность Linux

Если у вас есть желание детальнее разобраться в процессах настройки и обеспечения безопасности локальной и сетевой инфраструктуры, построенной на базе ОС Linux, рекомендую познакомиться с онлайн-курсом «Безопасность Linux» в OTUS. Обучение длится 3 месяца, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Программа курса разработана в виде серии практических воркшопов и ориентирована на подготовленных слушателей, уже обладающих знаниями и опытом в администрировании Linux. Чему научитесь:
  • Применять лучшие мировые практики и стандарты ИБ (Debian, RedHat, MitRE);
  • Использовать средства для обнаружения и эксплуатации уязвимостей в ОС Linux;
  • Устанавливать и конфигурировать сетевые системы обнаружения и предотвращения атак;
  • Работать с системами мониторинга и контейнеризации на базе Docker;
Проверьте себя на вступительном тесте и смотрите детальнее программу по.

Небольшой тест:
Локальная сеть - гигабит.
На локальное хранилище (аппаратный RAID 10 из 4 дисков 10К) - «time dd if=/dev/zero of=/vmfs/volumes/datastore/temp bs=1M count=1K» 8 секунд.
На «linux» хранилище (программный RAID 0 из 3 дисков 7,5К) - «time dd if=/dev/zero of=/vmfs/volumes/linbackup/temp bs=1M count=1K» 12 секунд.
На «windows» хранилище (аппаратный RAID 5 из 10 дисков 10К) - «time dd if=/dev/zero of=/vmfs/volumes/winbackup/temp bs=1M count=1K» 1 минута 44 секунды (сам в шоке).

Результаты говорят сами за себя. Да, на win-хранилище RAID 5, но врядли он один виноват в таком результате.

С СХД разобрались, теперь надо автоматизировать резервное копирование. Лучшим бесплатным средством является скрипт ghettoVCB , чтобы им воспользоваться, надо получить доступ к хосту ESXi по SSH. Как оказалось есть очень простой способ включения и выключения доступа прямо из vShere Client: Configuration > Software > Security Profile > Properties… > Remote Tech Support (SSH) > Options… > Start или Stop. По этим скриншотам думаю будет нагляднее:

Скачиваем последнюю версию скрипта. Можно пойти «тру» путём сделать как написано на страничке скрипта в секции «Setup:», но я поступил проще - распаковал архив у себя на компьютере, вместо редактирования конфигурационного файла - отредактировал сам скрипт, скопировал его на локальное хранилище (через «Browse Datastore»).

Вот основные параметры:

VM_BACKUP_VOLUME - путь к папке бэкапов, в моём случае /vmfs/volumes/linbackup
DISK_BACKUP_FORMAT - формат диска, thin для бэкапов подходит лучше всего
VM_BACKUP_ROTATION_COUNT - количество хранимых бэкапов (для каждой виртуальной машины), у меня 2
ADAPTER_FORMAT - тип адаптера, у меня lsilogic

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

Итак, скрипт скопирован на локальное хранилище, подключаемся по ssh, переносим скрипт куда нибудь ближе к корню, например в /ghettovcb/ghettovcb.sh, если вам не нужно бэкапить все виртуальные машины - необходимо создать файл со списком бэкапируемых виртуалок:
cd /ghettovcb
vi vmlist
жмём «a» вписываем имена виртуалок, каждое на новой строке, нажимаем «esc» и чтобы сохранить изменения ":wq" или чтоб выйти без сохранения ":q"

Переносы строк должны быть "\n", при переносах "\r\n" скрипт будет выдавать ошибку, поэтому не стоит создавать список в блокноте, с последующим копированием на хранилище, если вы ни разу не пользовались Notepad+ или EmEditor и не знаете что такое "\n" и "\r\n" - лучше создавайте список в vi.

Пробуем запустить скрипт:

./ghettovcb.sh -f ./vmlist -l ./log.txt

./ghettovcb.sh -f ./vmlist -g ./ghettovcb.conf -l ./log.txt
Скрипт отрабатывает, выдавая много информации, если в конце вывода видим "###### Final status: All VMs backed up OK! ######" значит всё хорошо, иначе - читаем log.txt и разбираемся что сделали не так.
Теперь надо создать расписание для бэкапов.
cd /var/spool/cron/crontabs
chmod u+w root
vi root
жмём «a», пишем расписание, только учтите - время указывается в UTC, т.е. для Москвы это локальное время минус три часа
00 20 * * * /ghettovcb/ghettovcb.sh -f /ghettovcb/vmlist -l /vmfs/volumes/linbackup/logs/`date +%F`.txt
или если вы создали файл конфигурации
00 20 * * * /ghettovcb/ghettovcb.sh -f /ghettovcb/vmlist -g /ghettovcb/ghettovcb.conf -l /vmfs/volumes/linbackup/logs/`date +%F`.txt
жмём «esc» и сохраняемся ":wq"
в заключении
chmod u-w root

Теперь ежедневно в 20:00 по UTC (в 23:00 по Москве) будет запускаться скрипт, логи о его выполнении будут сохранятся на хранилище в папке logs, отдельный лог на каждый день.

По логам у меня на бэкап уходит примерно 4 часа, посчитал скорость - примерно 4ГБ в минуту, т.е. примерно 70МБ в секунду, весьма не плохо. Хранилища в 2,7ТБ хватает на хранение двух копий каждой виртуалки, этого вполне достаточно, плюс остаётся свободное место, а оно нужно, т.к. сначала делается третья резервная копия и только после её создания удаляется самая старая копия.
Ну и ещё один камень в огород «windows» хранилища - пробовал делать бэкапы скриптом на него, storage просто отваливался, ну и собственно скрипт завершался с ошибкой. Понимаю, что всё дело в неверной настройки записи по NFS, но настройки были по умолчанию и разбираться в «тюнинге» не очень то и хотелось.

Эксперимент прошёл удачно, можно закупать сервер с хорошими дисками, планируется RAID 10 на 5ТБ, этого должно с запасом хватить и на будущие виртуалки.

Теги: vmware, vsphere, esxi, backup, резервное копирование

1. Резервное копирование виртуальных машин VMware ESXi

Введение

В данном документе представлены различные способы и стратегии резервного копирования VMware ESXi с помощью vSphere и Bacula Enterprise Edition версий 8.0, 8.2 и 8.4. Плагин Bacula Enterprise Edition для резервного копирования виртуальных машин VMware с помощью vSphere дает возможность восстанавливать исходное состояние виртуальной машины, в то время как резервное копирование файлов на уровне гостевой ВМ упрощает защиту данных критически важных приложений. Резервное копирование VMware использует технологию под названием Changed Block Tracking (CBT), гарантируя в целях создания более эффективных резервных копий и уменьшения нагрузки на сеть отправку в текущий поток инкрементальной или дифференциальной резервной копии только тех блоков, которые были изменены после первоначального полного и/или последнего инкрементального и/или дифференциального резервного копирования.

Основные характеристики резервного копирования VMware

  • Онлайн резервное копирование через VADP
  • Создание VSS снапшотов внутри гостевых ОС для приостановки приложений
  • Полное, дифференциальное и инкрементальное резервное копирование ВМ на уровне образа
  • Восстановление полного образа ВМ
  • Восстановление vmdk файлов в альтернативный каталог
  • Доступ к хранилищу VMware, как по TCP/IP, так и через SAN (FC/ISCSI)

Обзор резервного копирования VMware

Текущая версия плагина для VMware vSphere поддерживает vSphere версий 6.0, 5.5, 5.1, 5.0, 4.1 (минимум 7 версия виртуального аппаратного обеспечения). В данном документе представлены решения для ПО Bacula Enterprise Edition 8.0 и последующих версий, которые не применимы к более ранним версиям ПО.

Глоссарий резервного копирования VMware

В данном документе используются следующие термины, связанные с тем, как сделать бэкап VMware:

  • CBT – технология отслеживания изменённых блоков.
  • Datastore – название используемое VMware для обозначения хранилищ данных.
  • vSphere — представляет собой технологию VMware для виртуализации ОС и выполнения облачных вычислений.
  • VDDK – это набор библиотек C/C++, который позволяет создавать и получать доступ к виртуальным дискам VMware. VDDK используется параллельно с vSphere API для написания ПО для создания резервных копий и восстановления, или схожих приложений.
  • При использовании сервера VMware ESXi файлы виртуальной машины помещаются во внешнюю память большого объёма.
  • NBD – сетевое блочное устройство. vSphere позволяет получать доступ к файлам, размещенным в Datastore с помощью технологии прямого доступа к файлам, доступа через NBD, NBD over SSL или SAN. В случае доступа к файлам через NBD в качестве сетевого протокола используется протокол TCP/IP.
  • SAN . vSphere позволяет получать доступ к файлам в хранилище данных с помощью технологии прямого доступа. SAN может использовать сеть Fibre Chanel (технология резервного копирования без загрузки локальной сети Lan free backup) или технологию ISCSI over TCP/IP.
  • VMware ESX и VMware ESXi – архитектура гипервизора, устанавливаемого на сервер без операционной системы. Меньшая по размеру кодовая база ESXi предполагает меньшую “поверхность для атаки” и меньший размер кода для патча, что позволяет повысить надежность и безопасность системы.
  • VCB – метод консолидированного резервного копирования VM Более ранний VMware API , который, как правило, больше не используется. Плагин VMware не использует технологию VCB.
  • VADP – следующее поколение инфраструктуры защиты данных VMware, реализованное в vSphere 4.0, позволяющее ПО для резервного копирования создавать централизованные, эффективные бэкапы VMware вне хост-машин и без загрузки локальной сети.
  • .vmdk — файловый формат, используемый для виртуальных устройств, разработанных для продуктов VMware.
  • .bvmdk – внутренний файловый формат, используемый плагином Bacula Enterprise для обработки разреженных блоков и дифференциальных/инкрементальных бинарных бэкапов VMware. После конвертации с помощью инструмента vddk файл превращается в «сырой» образ исходного диска, который можно конвертировать в формат vmdk с помощью утилиты qemu-img.
  • В ESX 3.x используется 4 версия виртуального аппаратного обеспечения, в vSphere 4.x – 7 версия, а в vSphere 5 – 8 версия.
  • Отпечаток может быть сгенерирован их ESXi хоста
    openssl x509 -sha1 -in /etc/vmware/ssl/rui.crt \-noout -fingerprint | cut -d ‘=’ -f 2
  • guestfish – оболочка и инструмент командной строки для просмотра и изменения файловой системы ВМ.
  • VM (или ВМ) аббревиатура термина «виртуальная машина».
  • vSphere – это платформа для виртуализации серверов с возможностью согласованного управления виртуальными датацентрами.
  • SELinux — Security-Enhanced Linux (SELinux, Linux с улучшенной безопасностью) — это модуль безопасности ядра Linux, который обеспечивает механизм поддержки политик безопасности контроля доступа, включая полномочное управление доступом (MAC).

1.1 Как сделать бэкап VMware в гостевой ОС

1.1.1 Установка клиента Bacula Client в каждой гостевой ОС

Первая стратегия не предполагает использования плагина Bacula Enterprise Edition для vSphere. Вместо этого на каждую ВМ устанавливается Bacula Enterprise File Daemon, как если бы эти ВМ были обычными физическими серверами. С целью оптимизации потоков ввода/вывода на серверах VMware ESX/ESXi используются задачи Schedule , Priority и Maximum Concurrent Jobs для распределения задач резервного копирования в окне резервного копирования. Поскольку все сервера используют один и тот же набор дисков, выполняя все задачи резервного копирования в одно и то же время, возможно образование узких мест в подсистеме диск/сеть.

Рисунок 1: Установка bacula-fd на каждую гостевую ВМ

Установка Bacula Enterprise File Daemon на каждую ВМ позволяет управлять виртуальными серверами, как если бы они были физическими серверами, а также использовать все функции ПО Bacula Enterprise, такие как:

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

1.1.2 Резервное копирование VMware с помощью плагина Bacula Enterprise Edition для vSphere

В случае стратегии создания бэкапа образа виртуальной машины VMware, плагин Bacula Enterprise Edition для vSphere сохраняет диски Клиента в качестве «сырых» образов в контексте VMware/vSphere. Для того чтобы реализовать данную стратегию не нужно устанавливать Bacula File daemon на каждой гостевой машине.

Плагин Bacula для vSphere свяжется с хостом VMware ESXi для считывания и сохранения содержимого дисков ВМ через NBD или SAN. При непосредственном доступе к образу vmdk, сохраненному в хранилище данных , ПО Bacula не придется прогонять через файловую систему Клиента для открытия/чтения/закрытия файлов. Соответственно ПО будет потреблять меньше ресурсов ESXi инфраструктуры, чем если бы создание бэкапа VMware происходило на каждой гостевой машине. В то же время ПО Bacula также прочитает и сохранит бесполезные данные, например, файлы подкачки и временные интернет-файлы.

Рисунок 2: Создание резервной копии по TCP с помощью NBD

Если плагин vSphere для создания бэкапа использует метод транспортировки данных через NBD, данные передаются поточно на сервер для хранения резервных копий через порт VMkernel системы ESXi.

Плагин Bacula Enterprise для vSphere также может использовать инфраструктуру сети SAN в целях снижения нагрузки на сервера ESXi. Однако, несмотря на потребление меньшего объема ресурсов на сервере ESXi, данные по-прежнему должны будут считываться с ваших дисков, что может привести к конфликту при попытке одновременной передачи/приема данных.

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

1.1.3 Сравнение стратегий резервного копирования VMware

Таблица 1. Сравнение стратегий создания резервных копий

Процедура восстановления отдельных файлов из бэкапа машин VMware, созданного с помощью плагина для vSphere, описана в разделе 2 на странице 27.

1.2 Установка

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

1.2.1 Конфигурирование

Параметр Plugin Directory утилиты File Daemon, хранящийся в /opt/bacula/etc/bacula-fd.conf, должен указывать на то, где установлен плагин vsphere-fd. so . Как правило, по умолчанию плагин Bacula устанавливается в каталог: /opt/bacula/plugins

Утилита File daemon должна иметь прямой доступ к сети vSphere или доступ через SAN. Проверить подключение можно с помощью программы telnet.
Сетевой доступ vSphere к ESX или серверу vCenter необходимо сконфигурировать в /opt/bacula/etc/vsphere_global.conf.

Рисунок 3. Создание резервной копии через сеть SAN

Параметр Обязательный Значение по умолчанию Описание
Раздел общих настроек global
keep_generation Нет 100 Макс. кол-во бэкапов между двумя полными бэкапами.
profile_all_vm Нет vsphere_all_vm.profile Название внутреннего файла, используемого для хранения информации о профиле ВМ.
root_directory Нет /opt/bacula/working/vsphere Корневой каталог плагина vSphere.
vddk_path Нет /opt/bacula/bin/vddk
Раздел настроек vsphere
username Да Имя пользователя, которому разрешено подключаться к vSphere.
password Да Пароль для имени пользователя, которому разрешено подключаться к vSphere.
hpassword Нет Скрытый пароль для имени пользователя, которому разрешено подключаться к vSphere.
timeout Нет 60 Время ожидания подключения к серверу vSphere в секундах.
thumbprint Да Отпечаток SSL сертификата vSphere сервера.
server Да Сервер vSphere ESXi, используемый для создания бэкапа.
url Да Адрес сервера vSphere ESXi или vCenter используемый в целях осуществления вызова с помощью SOAP.
Default_datastore Нет datastore1 Хранилище данных для восстановления, используемое по умолчанию.
default_restore_host Нет ESX сервер, используемый по умолчанию для восстановление, если в vCenter доступно несколько серверов.
default_ovf Нет Описание OVF по умолчанию, используемое в случае, если текущее описание OVF не может быть загружено в VMWare .
root_directory Нет /opt/bacula/working/vsphere Каталог, используемый для хранение внутренних данных плагина.
datastore_minimum_space Нет Минимальный размер для хранения данных в хранилище данных. Например, 5ГБ.
datastore_allow_overprovisioning Нет Да Позволяет восстанавливать ВМ с помощью функции Over Provisioning. Если параметру присвоено значение «Нет », при восстановлении необходимо гарантировать, что размер всех дисков соответствует размеру хранилища Datastore.
datastore_refresh_interval Нет 600 Интервал, используемый для обновления статистики хранения данных в Datastore.

Таблица 2. Конфигурирование подключения vSphere с помощью файла vsphere_global.conf

Отпечаток можно получить с помощью экрана консоли, нажав F2, а затем авторизовавшись. Отпечаток Thumbprint отобразится в окне View Support Information под SSL Thumbprint (SHA1) . Или же вы можете подключиться по ssh:

Использование нескольких серверов vSphere

Вы можете указать несколько серверов vsphere в файле vsphere_global.conf. При использовании данной функции вам необходимо задать параметр server=xxx в командной строке плагина. Также обязательно указать альтернативный каталог на случай, если ваша ВМ будет иметь то же самое значение MoRef.

Примите во внимание тот факт, что дефолтный раздел является обязательным в файле vsphere_global.conf.

Параметр Обязательный Значение по умолчанию Описание Пример
host Нет Имя гостевой ВМ host=srv1
host_include Нет Образ гостевой ВМ, который необходимо включить host_include=srv3
host_exclude Нет Образ гостевой ВМ, который необходимо исключить host_exclude=srv
disk_exclude Нет Список дисков, которые необходимо исключить disk_exclude=0,2,4
keep_cbt Нет Не пытайтесь активировать CBT keep_cbt
quiesce_host Да Остановить гостевую ВМ перед тем, как сделать снапшот (попытаться, да, нет) quiesce_host=no
server Нет Указать сервер vsphere server=vsrv2
Debug Нет Разрешить отладку debug
abort_on_error Нет Прекратить выполнение задачи после обнаружения ошибки
update_timeout Нет Изменить первоначальное время ожидания обновления

Таблица 3. Параметры команд плагина vSphere

Примите во внимание тот факт, что команды host_include и host_exclude являются регулярным выражением Java.

Скрыть пароль vSphere

Начиная с версии плагина 8.0.3 вы можете скрывать пароль vSphere в файле vsphere_global.conf . Поле скрытого пароля называется hpassword . Для генерации скрытого пароля можно использовать команду @encode . Примите во внимание тот факт, что, если строка, которую вы хотите зашифровать, содержит выражение “=”, при прописывании команды вы должны использовать формат string= ключевое слово.

Тестирование конфигурации vSphere

Чтобы протестировать работу плагина для vSphere, можно использовать следующую команду (в качестве root-пользователя):

При использовании команды обновления vsphere-ctl должен появиться список всех ВМ, которые заданы на сервере ESXi. Если этого не произошло, пожалуйста, проверьте правильность настройки своих учетных данных в файле vsphere_global.conf .

Команда list позволяет отображать информацию, обнаруженную на ESX-хостах и в хранилищах данных.

Пример использования функции Job

При запуске задач по созданию инкрементального/дифференциального бэкапа необходимо обязательно задавать параметр Accurate .

Примеры использования функции FileSet

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

Рисунок 4. Бэкап виртуальной машины VMware guest1 на ESXi сервере

Тестирование функции FileSet

Вы можете использовать команду estimate для тестирования функции FileSet.

Реализация инкрементального резервного копирования VMware на уровне блоков

Примите во внимание тот факт, что утилита CBT не поддерживается 6-ой и более ранними версиями виртуального аппаратного обеспечения, или когда виртуальный диск подключен к совместно используемой виртуальной шине SCSI.

Чтобы CBT могла определить изменённые сектора диска с момента последнего изменения ID, потребуется соблюсти следующие условия:

  • Версия хоста ESX/ESXi 4.0 и выше.
  • 7 версия (и выше) аппаратного обеспечения ВМ, которой принадлежат диски, изменения которых должны отслеживаться.
  • Операции ввода/вывода данных должны осуществляться через блок элементов памяти ESX/ESXi. NFS поддерживается, как RDM-диски в режиме виртуальной совместимости, но не RDM-диски в режиме физической совместимости. Также используется файловая система VMFS при поддержке SAN, iSCSI, или локального диска.
  • Для ВМ необходимо активировать утилиту CBT (смотрите описание ниже).
  • Хранилище ВМ не должно (постоянно или непостоянно) быть представлено независимым диском, то есть таким, которые не будет затронуты снапшотами.

Чтобы утилита CBT смогла определить сектора диска с помощью полного бэкапа, потребуется соблюсти следующие условия:

  • Виртуальный диск должен быть расположен на VMFS-томе при поддержке SAN, iSCSI, или локального диска.
  • ВМ должна иметь нулевое количество снапшотов (0) при активации CBT для реализации т.н. чистого запуска.

При использовании дисков типа “Thick Provisioned Eager Zeroed”, утилита VMWare CBT отобразит все блоки как использованные во время создания полного бэкапа. В случае ВМ, которые не поддерживают CBT, плагин для vSphere всегда будет выполнять полное резервное копирование виртуальных дисков. Чтобы проверить, была ли активирована утилита CBT для виртуального диска, откройте клиент vSphere, выберите команду powered-off virtual machine without snapshots (отключить ВМ без создания снапшотов).

  • Правой кнопкой мыши кликните по ВМ и выберите пункт редактирования настроек Edit Settings .
  • Перейдите на вкладку Options .
  • Кликните по вкладке General под вкладкой Advanced , а затем по пункту Configuration Parameters . Откроется диалоговое окно конфигурации параметров.
  • Кликните по пункту Add Row .
  • Добавьте параметр ctkEnabled и присвойте ему значение true .
  • Кликните по Add Row , добавьте параметр scsi0:0.ctkEnabled и присвойте ему значение true .

Внимание: строка scsi0:0 в параметре scsi0:0.ctkEnabled указывает на SCSI устройство, назначенное для жесткого диска, добавленного к ВМ. Каждый жесткий диск, добавленный к ВМ, получает свое SCSI устройство, обозначаемое как scsi0:0, scsi0:1, или scsi1:1. 
Во время создания первого полного бэкапа VMware плагин для vSphere постарается автоматически активировать утилиту CBT при выключении ВМ. Чтобы отключить данную функцию введите команду keep_cbt в командной строке плагина.

Проблемы при использовании CBT

Если вы возвращаетесь к снапшоту, более раннему нежели последний инкрементальный бэкап, вы должны создать полный бэкап ВМ перед повторным использованием инкрементальных бэкапов. Данная проблема была решена в vSphere 4.1 и и третьем обновлении vSphere 4.0. Вместо возможного предоставления неполных данных, номер для идентификации изменений, полученный до возврата к прежнему снапшоту, теперь правильно рассматривается в качестве недействительного (http://kb.vmware.com/kb/1021607).

Сжатие размера бэкапа путем сброса CBT

Как только блок будет помечен как «использованный» утилитой VMWare CBT, система будет постоянно создавать бэкап данного конкретного блока при выполнении полного резервного копирования, даже если этот блок будет помечаться как «свободный» гостевой ОС. Через какое-то время может возникнуть ситуация, при которой будет создан большой по размеру полный бэкап VMware с малым размером используемого дискового пространства.

Путем повторного создания диска с помощью VMotion можно сбросить таблицу CBT, чтобы пометить только реально использованные блоки. Чтобы выполнить данную операцию, необходимо сначала очистить диск гостевой ВМ путем записи «нулевых» блоков для покрытия всего свободного пространства. Примите во внимание тот факт, что операция будет задействовать ресурсы, поэтому ее необходимо выполнять вне рабочих часов.

В ОС Windows процедуру можно выполнить с помощью утилиты Microsoft sdelete , доступной по адресу http://technet.microsoft.com/en-us/sysinternals/bb897443.aspx

В ОС Linux можно использовать встроенное средство dd . Примите во внимание тот факт, что вы можете ограничить dd, чтобы не заполнить полностью весь диск.

По завершении операции необходимо остановить гостевую ВМ. Это можно сделать через интерфейс оболочки ESXi следующим образом:

Информацию о расположении диска и конфигурационного файла можно найти следующим образом:

После этого нулевые блоки VMDK файлов должны быть очищены через интерфейс оболочки ESXi следующим образом:

По завершении операции необходимо деактивировать CBT для гостевых дисков, которые вы хотите сжать. Вы также можете отредактировать их через консоль управления vSphere или ВИ .

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

Теперь вы не должны видеть файлов типа “*-ctk.vmdk” и можете снова включить CBT в файле конфигурации хоста и запустить вашу гостевую ВМ.

Файлы типа “*ctk.vmdk” будут созданы заново. Команда estimate плагина bacula должна отобразить файлы bvmdk меньшего размера.

Поскольку данная процедура довольно сложная, мы рекомендуем вам сначала опробовать ее через песочницу. Если активирован интерфейс ESXi SSH, то можно создать скрипт чего угодно.

Определение недоступности CBT

Если утилита CBT (отслеживание изменённых блоков) не доступна для диска, файл vsphere-ctl*log может содержать следующую ошибку:

При возникновении данной ошибки, плагин для vSphere будет автоматически создавать полный бэкап образа диска. Чтобы активировать CBT для конкретного диска, смотрите раздел 1.2.1 на странице 14.

Активация доступа через SAN

У вас могут возникнуть сложности с настройкой доступа к сети SAN на хосте. Библиотека VixDiskLib VMWare скомпилирована для версии Redhat 5 64bit. На более поздних ОС, таких как Ubuntu или Redhat 6, необходимо скомпилировать и установить библиотеку 1.95.7. Примите во внимание тот факт, что плагин Bacula Enterprise для vSphere содержит эту библиотеку в пакете bacula-enterprise-vixdisk .

Чтобы использовать технологию перемещения данных по сети SAN, сервер резервного копирования, на котором установлен плагин для vsphere, должен иметь доступ ко всем LUN-блокам, экспортированным на сервер ESX. Такие пакеты, как multipathd , не будут иметь проблем с устройствами с различными подключениями.
Если ваши диски видны как /dev/sda, /dev/sdb, … плагин vSphere откроет каждый диск, чтобы получить универсальный идентификатор UUID и сравнить его с тем, который предоставляет сервер ESX. Например, при использовании iSCSI команда lsscsi отобразит диски следующим образом:

Вы можете убедиться в том, что используется метод передачи данных через SAN, воспользовавшись функцией отладки debug в командной строке плагина и убедиться в том, что файл vddk trace содержится в следующем месте:

Если режим передачи данных через сеть SAN не доступен, плагин для vSphere автоматически переключится к режиму передачи данных через nbd.

Удаление старых снапшотов

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

  • Удаление старых снапшотов и предыдущих неудачно сгенерированных снапшотов

vsphere-ctl clean-snapshot —snapshot myhost

  • Удаление старых снапшотов с именем, начинающимся со строки

vsphere-ctl clean-snapshot —snapshot-base pluginTest myhost

  • Удаление всех снапшотов со всеми производными;возможно быстрее)

vsphere-ctl clean-snapshot —snapshot —snapshot-delete-child myhost

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

Трассировка отладки

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

Таблица 4. Способы трассировки, используемые плагином для vSphere

Чтобы извлечь файл bvmdk не конвертируя его с помощью vddk во время выполнения процедуры восстановления, вам необходимо задать уровень отладки FileDaemon = 1000. Во время восстановления Bacula может генерировать неверные отчеты о размере файла.

Рабочие файлы

Плагин для vSphere создает специальные файлы в рабочем каталоге . Эти файлы необходимы для работы утилиты CBT VMWare. Чтобы очистить рабочий каталог плагина для vSphere, вы можете воспользоваться командой vsphere-ctl :

В результате будут удалены 30-дневные файлы и каталоги. Данный период должен соответствовать как минимум периоду созданию полного бэкапа плюс несколько дней для безопасности. Во время создания бэкапа, если плагин не сможет найти рабочие файлы, во время создания последнего бэкапа, плагин vSphere создаст полный бэкап всех дисков.

Исключение диска

Чтобы исключить конкретный диск из процедуры можно через консоль vSphere активировать независимый режим, или использовать функцию disk_exclude (смотрите таблицу 1.2.1 на странице 11).
Чтобы найти diskid для того, чтобы использовать его в функции disk_exclude , можно воспользоваться командой estimate listing . 0.bvmdk – это образ diskid 0.

1.3 Процедуры резервного копирования и восстановления VMware vSphere

1.3.1 Резервное копирование

Рисунок 5. Исключение диска из бэкапа


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

ПО Bacula Enterprise позволяет восстанавливать любой файл (bvmdk, ovf, …) на локальных дисках. После этого вы можете локально смонтировать образ с помощью инструмента VMWare vmware-mount tool или qemu-nbd и выполнить восстановление на уровне файлов. При использовании параметра where=/path/to/dir в функции восстановления, плагин автоматически восстановит выбранные файлы в указанное место.

Также возможно скопировать «сырой» образ на любое устройство или смонтировать его и восстановить файлы напрямую.

Восстановление на новой гостевой ВМ

Если вы запускаете процедуру восстановления вашей ВМ с помощью параметра where=/, и выбираете все файлы в каталоге vm , плагин для vSphere постарается восстановить ваши диски на новой ВМ, созданной во время восстановления с имеющимися атрибутами (диски, контроллер, тип CPU, …).

В настоящее время режим расширенной передачи данных через сеть SAN не поддерживается для выполнения восстановления. Плагин для vSphere использует передачу данных через NBD.

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

Либо вы можете воспользоваться интерфейсом BWeb (смотрите рисунок 6)

Рисунок 6: Выбор хранилища данных datastore, сервера ESXi или имя хоста в момент восстановления

Примите во внимание тот факт, что вам необходимо сконфигурировать по меньшей мере одну ВМ на вашем ESX сервере, чтобы автоматически восстановить ВМ с помощью Bacula. В дальнейшем мы планируем устранить данное ограничение.

Начиная с версии Bacula Enterprise 6.2.4, плагин для vSphere поддерживает создание автоматической топологии сети. Таким образом, если ваш ESX хост не предоставляет правильной конфигурации vSwitch для ВМ, плагин Bacula должен будет повторно создать все настройки сети во время восстановления.

Начиная с версии Bacula Enterprise 8.2.1, плагин для vSphere может проверять наличие доступного объема памяти в хранилище Datastore во время восстановления. Пользователь может запретить увеличение резервной области и зарезервировать минимальный объем памяти в хранилище. Эти два параметра можно настроить в файле vsphere_global.conf и можно перезаписать из меню восстановления.

server = 192.168.0.68

url = https://192.168.0.68/sdk

datastore_minimum_space = 64MB

datastore_refresh_interval = 10

datastore_allow_overprovisioning = false

“Нераспределенный” объем памяти, возвращенный сервером vSphere не всегда является точным. Частоту обновления можно изменить используя метод, описанный в руководстве по ссылке http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2008367

Иногда ПЩ Bacula не удается загрузить OVF файл с описанием гостевой ВМ на сервер vSphere или vCenter. В частности, это обусловлено определенными ограничениями VMware, такими как “вы не можете использовать OVF, содержащий ссылки на смонтированный CDROM”… Плагин для vSphere использует обходные пути для решения подобных проблем, но он не решает все проблемы. Если у вас возникают подобные сложности, вы можете использовать параметр default_ovf в файле vsphere_global.conf . Как правило, необходимо сконфигурировать параметр default_ovf таким образом, чтобы он ссылался на существующий простой шаблон OVF. В процессе восстановления этот шаблон будет использован автоматически, и вам нужно будет сконфигурировать ВМ позже, указав такие значения, как номер CPU, объем RAM, и т.д.

В ОС Windows в некоторых случаях после фактического завершения процесса восстановления, возможно, потребуется выполнить дополнительные задачи. Например, если восстановленная система не будет грузиться, возможно, потребуется воспользоваться средствами восстановления Windows для отладки системы. Для серверов с установленной службой Active Directory, возможно, потребуется изучить руководства Microsoft для того, чтобы добиться согласованного состояния баз данных AD и синхронизировать с другими серверами AD. Если инсталляция затрагивает динамические диски, вы должны импортировать из в только что восстановленную систему после перезагрузки. Вы можете осуществить импорт с помощью диспетчера дисков или с помощью функции “diskpart”, выбрав один из динамических дисков и введя команду «import».

Восстановление без плагина для vSphere

Если вы пытаетесь восстановить диски в File Daemon, в котором не установлен плагин Bacula Enterprise для vSphere, вам придется конвертировать файлы bvmdk в raw файлы с помощью команды vddk из командной строки:

Формат bvmdk используется плагином для vSphere Plugin, чтобы гарантировать целостность данных и эффективность обработки разреженной информации утилитой CBT.

1.4 Приостановка гостевой ВМ

Чтобы правильно приостановить работу гостевой ВМ, необходимо установить и обновить на ВМ Linux/Windows Virtual Machine инструменты VMware Tools.

Команда плагина quiesce_host=Try/yes/no позволяет контролировать процедуру остановки гостевых ВМ с помощью vSphere перед захватом снапшота. По умолчанию используется значение try . В данном режиме плагин попытается остановить гостевую ВМ при создании снапшота, и, если создание снапшота закончится неудачно, плагин попытается повторно создать снапшот, не останавливая гостевую ВМ. Первая попытка будет занесена в журнал задач в качестве ошибки.

Более подробную информацию о конкретном сообщении об ошибке вы найдете в журнале консоли vSphere.

Warning message from ESXi: the guest OS has reported an error during quescing. Error code was: 2 the error message was: custom quiesce script failed. (Сообщение об ошибке от ESXi: гостевая ОС сообщила об ошибке в момент остановки. Код ошибки 2: ошибка скрипта остановки)

An error occurred while saving the snapshot: Failed to quiesce the virtual Machine (Во время сохранения снапшота возникла ошибка: Невозможно остановить ВМ)

1.4.1 Linux

Путем создания специального скрипта в /usr/sbin/pre-freeze-script , вы сможете остановить свою систему автоматически при создании снапшота с помощью vSphere. vSphere будет пытаться исполнить скрипт /usr/sbin/post-thaw-script в случае, если он будет присутствовать в гостевой ОС.

1.4.2 Windows VSS

Плагин усиливает защиту Windows , создавая перед резервным копированием снапшоты на базе VSS для остановки приложений, активируемых VSS.

Скрипты pre-freeze и post-thaw для VSS. Начиная с версий ESX/ESXi 3.5 U2 и выше, программа VMware Tools сначала ищет скрипты по алфавиту в C:/Program Files/VMware/VMware Tools/backupScripts.d, вызывая их с аргументом freeze , а после в обратном алфавитном порядке вызывает с аргументом thaw (или freezeFail в случае неудачной остановки).

1.5 Поддерживаемые платформы

Плагин для VSphere поддерживает следующие продукты на VMware платформе:

  • ESX/ESXi версий: 6.0, 5.5, 5.1, 5.0, 4.1

В настоящее время мы тестируем корректную работу плагина для VSphere со следующими продуктами VMware платформе:

  • vCenter Server версий 6.0, 5.5, 5.1, 5.0, 4.1 управляющие ESX/ESXi 4.1 и более поздними версиями
  • VirtualCenter версий 2.5, управляющий ESX/ESXi 4.1

Для осуществления манипуляций с файлами и снапшотами плагин для VSphere использует vStorage API. Это расширение требует наличия валидной несвободной лицензии VMWare.

  • Плагин VSphere был протестирован (и поддерживается) следующими платформами на базе Linux: RHEL 6, 7 (Red Hat Enterprise Linux) 64bit
SLES 11 (SUSE Linux Enterprise Server) 64bit

1.6 Ограничения

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

2 Обзор процедуры восстановления единичного файла VMware

В данном разделе представлена информация о том, как использовать функцию восстановления одного файла VMware с помощью Bacula Enterprise Edition и плагина для vSphere.

Краткое описание функций

Инструмент восстановления одного файла Bacula Enterprise Edition позволяет использовать следующие функции:

  • Консольный интерфейс
  • Интерфейс Bweb Management Suite
  • Поддержка создания полного/дифференциального/инкрементального бэкапов
  • Поддержка Windows 2003 по 2012
  • Поддержка Linux (ext3, ext4, btrfs, lvm, xfs)
  • Поддержка ESX 5.x и 6

2.1 Установка

Документация, подробно описывающая процедуру установки, доступна по запросу.

2.2 Скрипты восстановления

Эта функция позволяет быстро находить и восстанавливать конкретные файлы из каталога в среде VMware.

2.2.1 Через интерфейс текстовой консоли

Плагин для восстановления одного файла (VMware single file restore) позволяет использовать простую программную консоль, обеспечивающую доступ к файлам внутри ВМ. Процесс восстановления одного файла начинается с монтажа бэкапов ВМ:

Сначала правильно выберите клиент

Затем, выберите задачу, которую хотите восстановить.

Затем выберите нужную ВМ.

Теперь выберите местоположение гостевой файловой системы (локально или через SMB)

На данном этапе, файловая система ВМ монтируется локально (в примере выше файлы доступны по адресу /opt/bacula/working/vmware/5 . Как в случае со стандартной файловой системой, можно найти каталоги и скопировать файлы (через cp, scp, ftp) из другого сеанса работы с терминалом, используя “root” Unix и аккаунты “bacula”. Если вам необходимо использовать другой аккаунт Unix для работы с файлами, используйте функцию “-o allow_other ” при запуске скрипта mount-vmware .

Чтобы очистить сессию, просто нажмите “Enter” в сеансе работы с терминалом, в котором был запущен скрипт mount-vmware .

Начиная с Bacula Enterprise 8.4.8 можно ограничивать список задач Job list с помощью следующих командных строк:

  • -s= ограничить список задач последними ХХХ днями
  • -l= ограничить список задач последними введёнными числами
  • -f= указать расширенный фильтр исходя из имени задачи и/или имени FileSet

2.2.2 Восстановление VMware из интерфейса Bweb Management Suite

Функция восстановления одного файла VMware single file restore может быть реализована с помощью Bweb Management Suite. Данная утилита является мастером восстановления, позволяющим легко и просто восстанавливать файлы из гостевой ВМ. Для начала необходимо выбрать клиент, на котором выполнялась задача по созданию бэкапа с помощью vSphere (смотрите рисунок 7).

Рисунок 7. Выбор Клиента

После того, как будет выбран Клиент, администратор должен выбрать задачу Job (Restore Point- точку восстановления) для восстановления. (смотрите рисунок 8 на другой странице).
Если выбранная задача Job является корректной задачей vSphere, т.е. может быть исполнена, на третьем этапе отобразится список виртуальных машин, включенных в FileSet (смотрите рисунок 9 на следующей странице).

На данном этапе ПО Bacula должно создать виртуальный образ выбранной ВМ. Необходимо восстановить пару небольших файлов из каждой задачи Job, которые составляют выбранную точку восстановления Restore Point . После завершения процедуры ПО Bacula необходимо смонтировать диск выбранной ВМ в системе. Эти шаги, как правило, выполняются быстро, однако, затрачиваемое время во многом зависит от используемой конфигурации. Создаются и на период данного этапа сохраняются индексы, чтобы ускорить выполнение последующих запросов на восстановление.

После того, как диск будет смонтирован, в диспетчере файлов отобразятся файлы выбранной ВМ. В нем вы сможете выбрать файлы или каталоги для восстановления. (смотрите рисунок 10 на странице 31). Затем администратор может создать ZIP или TAR архив. Архив будет создан автоматически и сохранен в /opt/bacula/working . Будет создана ссылка для безопасного скачивания архива по HTTP. Администратор сможет предоставить эту ссылку конечному пользователю.

Каждый раз выбирая файлы администратор сможет выбрать метод восстановления файла в сжатом виде в формате tar или zip. (смотрите рисунок 11 на странице 32).
После восстановления важно завершить сессию для того, чтобы высвободить ресурсы, занятые под восстановление.

Рисунок 8. Выбор точки восстановления

Рисунок 9. Выбор ВМ

Рисунок 10. Выбор файлов

Рисунок 11. Доступ к файлу

2.3 Примечания

2.3.1 Каталог кэша

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

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

2.4 Ограничения

  • Функция восстановления единичны файлов VMware использует интерфейс Bacula BVFS для отображения списка файлов и каталогов. В случае MySQL; несмотря на ограничения MySQL, связанные с индексами в столбцах TEXT, процедура не оказывает существенного влияния на производительность MySQL. Тем не менее, в целях получения лучшего результата мы рекомендуем использовать PostgreSQL.

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

    Data Recovery с поддержкой VCenter Server

    Veeam BackUp & Replication

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

    Data Recovery с поддержкой vCenter Server

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

Данное решение работает как с VCenterServer, так и без него, но будет отсутствовать возможность настройки бэкапа по времени. Мы рассмотрим все основные возможности чуть ниже, когда будем сравнивать все продукты.

    Veeam BackUp & Replication

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

    Также с недавнего времени выпускает средства для бэкапа в виртуальных средах. Кроме того, Symantecединственное из всех решений бэкапа использует технологию V2P (конвертирование виртуальной среды на физические серверы). Правда, Vcenter обладает такой технологией, но уже не в рамках технологии резервного копирования

    • Притом, что средства Акронис широко используются в виртуальных системах, изначально Акронис создавалась как бэкап физических машин, и создания специальных архивов, разработанных самой компанией с целью минимизировать объем бэкапа. Акронис включает в себя механизмы конвертирования машин в средах всех видов (V2V, V2P , P2V и P2P).

      Детальное сравнение технологий бэкапа. VMware vs Veeam vs Symantec vs Acronis

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

      Мы будем рассматривать 2 типа серверов:

      Сравнения представим для одного и пятидесяти серверов (хостов ESX).

      Рассмотрим типы лицензирования для наших технологий:

      1. Veeam Backup & Replication лицензируется по числу физических процессоров (сокетов) хост серверов VMware ESX/ESXi;

        Acronis лицензируется по числу хост серверов VMware ESX/ESXi;

        Symantec лицензируется по числу хост серверов VMware ESX/ESXi;

      Продукты, выбранные для сравнения:

        Vmware Data Recovery + Vcenter Server;

        Veeam Backup & Replication Enterprise Edition;

        Symantec Backup Exec System Recovery Virtual Edition;

        Acronis Backup & Recovery 10 Advanced Server Virtual Edition;

      Функции и возможности Data Recovery+VCenter Veeam Symantec Acronis
      Бэкап данных + + + +
      Создание снимков + + + +
      Бэкап по времени + + + +
      Отправка логов по e-mail - + + +
      Откат машин к предыдущему состоянию + + + +
      Централизованный интерфейс управления + + + +
      Полная совместимость с решениями Vmware + + + +
      Режим дедупликации 1 + + - 2 - 3
      Инкрементное резервное копирование 4 + + + +
      Настраиваемые параметры для нескольких Vcenter в режиме LinkedMоde + + + +
      Восстановление отдельных данных + + + +
      Служба теневого копирования томов (VSS) + + + +
      Управление политиками + - 5 + +
      Совмещение со службами vMotion, HA , DRS + + + +
      Поддержка типов хранения данных (Локальное, NFS, Share, iSCSI, Fibre Channel, NAS) Локальное, NFS, Share, iSCSI, Fibre Channel, NAS Локальное, NFS, Share, iSCSI, Fibre Channel, NAS , SAN Локальное, NFS, Share, iSCSI, Fibre Channel, NAS , SAN , USB, DAS Локальное, NFS, Share, iSCSI, Fibre Channel, NAS , SAN , DAS, облачные сервисы
      Требование наличия VCenter + - - -
      Возможность восстановления на другой аппаратной платформе 6 - - + +
      Работа с базами SQL - + - 7 -
      Работа с сервером Exchange - + - 8 -
      Работа с Active Directory - + - 9 -
      Возможность преобразования виртуальных сред в физические (V2P) - - + +
      Возможность преобразования физических сред в виртуальные (P2V) + - + +
      Рекомендация наличия Vcenter + + + +
      Моментальное восстановление после сбоя - + + +
      Функция восстановления на «голое железо» 10 - - + +
      Защита файлов шаблонов - + + -
      Репликация данных - + - -
      Проверка восстановления 11 - + - -
      Работа с несколькими версиями ESX Раздел идет по первой цифре версии + + +
      Поддержка ОС Копирует всю машину, независимо от того какая ОС стоит Windows, Linux Поддержка большинства ОС
      Поддержка платформ Только VMware Только VMware VMware, Microsoft Hyper-V, Citrix Xen, физические VMware, Microsoft Hyper-V, Citrix Xen, Parallels, физические
      Ориентировочная стоимость для 1 сервера, руб.
      2 процессора по 4 ядра 50 000 60 000 100 000 70 000
      4 процессора по 12 ядер 50 000 180 000 100 000 70 000
      Ориентировочная стоимость для 50 серверов, руб.
      2 процессора по 4 ядра 180 000 3 000 000 5 000 000 3 500 000
      4 процессора по 12 ядер 180 000 9 000 000 5 000 000 3 500 000

        Режим дедупликации позволяет сохранять бэкап не всей машины, а лишь данные, которые были изменены с момента последнего бэкапа. Это дает нам 2 существенных преимущества:

        • Существенная экономия места под резервное хранение данных;

          Экономия трафика при расположении серверов на дальних друг от друга дистанциях (географическая составляющая);

        Функция доступна с дополнительной опцией Deduplication Option;

        Функция доступна с дополнительной опцией Deduplication;

        Инкрементное резервное копирование позволяет сначала выполнить резервное копирование всего исходного каталога и потом «добавлять» к нему те файлы, которые изменились со времени последнего резервного копирования. Данная функция позволяет делать бэкап машины без перевода ее в режим обслуживания;

        Функция, доступная с дополнительной программой Veeam Monitor;

        Технология Symantec Restore Anyware позволяет пользователям перенести систему на другой компьютер, не выполняя установки заново;

        При утере файлов машины позволяет создать новую ВМ с такими же характеристиками и восстановить на нее старую;

        После создания бэкапа данная технология проверяет, сможет ли поднять машину сразу после ее сбоя;

      Data Recovery с поддержкой vCenter Server

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

      Veeam BackUp& Replication

      Самый популярный способ создания бэкапов в среде VSphere. Многофункционален, может исполнять большинство функций, правда изрядное количество дополнительных параметров являются опциями (VeeamOne, VeeamReporter, VeeamMonitor и т.д.), что повысит его стоимость при приобретении полного пакета. Но, тем не менее, сама программа Veeam BackUp & Replication 5 является законченным продуктом, использующимся во многих компаниях, как малых, так и крупных. Эта программа включает в себя 2 модуля: создание резервных копий и их репликацию. Данный продукт обладает новой технологией, которая используется как тестовая во многих программах бэкапа. VeeamBackUp & Replication5 позволяет запускать ВМ непосредственно из резервной копии. Данная технология у компании Veeam называется vPower. Благодаря данной технологии пользователь получает следующие преимущества:

        Мгновенное восстановление виртуальных машин

        Универсальное восстановление объектов любых приложений (U-AIR)

        Подтверждение возможности восстановления SureBackup

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

        Мгновенное возобновление работы после сбоя

        Запуск ВМ непосредственно с резервной копии

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

        Возможность выбора пути в пользу быстродействия или надежности (RTO & RPO)

      Symantec Backup Exec System Recovery Virtual Edition

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

      На данный момент Symantec выпускает продукт для бэкапа ВМ - Symantec BackupExec SystemRecovery VirtualEdition. Данный продукт включает в себя среду Symantec Management Solution, Standalone Client и Recovery Disk. Для бэкапа файл-сервера нам необходима только лицензия SSR, но для расширенных функций при использовании баз SQL, серверов Exchange и т.д. нам необходимо приобрести агенты для данных серверов. Как показывает практика, большинству компаний недостаточно создания одного резервного хранилища данных, так вот в Symantec SystemRecovery предусмотрена функция создания внешней резервной копии на FTP -сервере или дополнительном дисковом накопителе для улучшенного аварийного восстановления.

      Symantec имеет ряд своих уникальных функций:

        Возможность восстановления на другой аппаратной платформе;

        Возможность преобразования виртуальных сред в физические (V2P);

        При использовании USB, как хранилище резервных машин, Symantec распознает его, определяет его тип и интеллектуально воздействует с ним, продолжая выполнять задания резервного копирования;

      Также Symantec использует функцию сжатия данных при использовании технологии P2V , что позволяет сэкономить на трафике, при конвертации машин на расстоянии (при окончании конвертации место, занимаемое ВМ на диске, будет равно объему физической машины.)

      Агенты Symantec созданы под определенные типы серверов (SQL, Exchange, DB2, ActiveDirectory и т.д.), в том числе и под операционные системы, что позволяет им распознавать все особенности таких серверов и не просто создавать бэкап всей машины, а еще поддерживать ряд индивидуальных характеристик для каждого из них (агент для Exchange отдельно работает с его почтовыми базами, а агент SQL восстанавливает структуру баз практически мгновенно после сбоя)

      Acronis Backup & Recovery 10 Advanced Server Virtual Edition

      У компании Acronis существует продукт для бэкапа ВМ - Acronis Backup & Recovery 10 Advanced Server Virtual Edition. В решении используется технология, похожая на vPower от Veeam - AcronisInstantRestore, позволяющая мгновенно восстанавливать машину после сбоя. Пакет Acronis Backup & Recovery 10 AdvancedServer VirtualEdition позволяет организациям любого размера увеличить экономический эффект от виртуализации, защищая все виртуальные машины, работающие на каждом отдельном физическом сервере, по доступной, фиксированной цене. Acronis Backup & Recovery 10 AdvancedServer VirtualEdition не только поддерживает платформы VMware, Microsoft Hyper-V ® , Citrix XenServer и Parallels, но и позволяет выполнять неограниченные миграции между этими платформами. Компания Acronis предлагает рассчитать экономию от своей программы, использую калькулятор экономии бюджета с помощью этой программы: http://www.acronis.ru/backup-recovery/roi-calculator.html .

      Но на этом возможности Акронис не ограничиваются. Компания Acronisвключила в пакет Acronis Backup& Recovery 10 AdvancedServer VirtualEdition еще одну функцию, это консолидация серверов для перевода систем с физических на виртуальные платформы, причем со встроенным планировщиком заданий. В итоге имеем, что данная программа выполняет 2 основных функции:

        Экстренное восстановление систем

        Консолидация серверов

      Основные преимущества по сравнению с другими технологиями:

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

        Широкий спектр поддерживаемых устройств хранения резервных копий (вплоть до оптических устройств и магнитных лент)

        Создание раздела Acronis Secure Zone на том же сервере ВМ, что позволяет восстановить машину за короткий срок, причем этот раздел будет защищен режимом дедупликации на другом сервере

        Функция восстановления на «голое железо» позволит в случае полной потери файлов машины создать такую же машину и восстановить на ней снимок прошлой.

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

        Поддержка большинства ОС, при установке агента резервного копирования

Бесплатный backup (резервное копирование) виртуальных машин на базе VMware ESXi

Для VMware ESXi вопрос резервного копирования виртуальных машин стоит особо остро. Дополнительное бесплатное ПО неудобно в использовании из-за ограниченного функционала. Поэтому наш backup будет основан на бесплатном скрипте — ghettoVCB . Это самый лучший вариант существующих скриптов, хотя у него такое забавное название и всего проекта в целом — www.virtuallyghetto.com, автор William Lam . Его алгоритм — создание снапшота и клонирование VM.

Для настройки полноценной схемы резервного копирования нам потребуется:

  • NFS сервер для хранения файлов;
  • подключение по SSH к ESXi;
  • скрипт ghettoVCB.sh добавляется на сервер ESXi (в корень или папку будущего бекапа). Это делается через SFTP любым удобным для вас способом, например, FileZilla;
  • даем права на выполнение скопированного скрипта;

Теперь более подробно остановимся на каждом из пунктов. Для повышения быстродействия и отказоустойчивости файлового сервера/сервера резервного копирования лучше использовать RAID10. Предпочтительны в данном случае являются ОС Linux (Debian, Ubuntu, «удобная вам») и файловая система XFS , т.к. в такой конфигурации скорость записи (основной приоритет для быстрого бекапа) будет выше.

Уже имеется у нас, но также можно все выполнить и в vSphere client : Configuration > Software > Security Profile > Properties… > Remote Tech Support (SSH) > Options… > Start или Stop.

Переходим к конфигурации скрипта ghettoVCB.sh , основные параметры, которые нам понадобятся:

VM_BACKUP_VOLUME - путь к папке бэкапов, в моём случае /vmfs/volumes/datastore1/backup
DISK_BACKUP_FORMAT - формат диска, thin для бэкапов подходит лучше всего
VM_BACKUP_ROTATION_COUNT - количество хранимых бэкапов (для каждой виртуальной машины), у меня 3
ADAPTER_FORMAT - тип адаптера, в моем случае — lsilogic

Остальные параметры отвечают за копирование файлов по сети и e-mail уведомления. Подробнее параметры конфигурации описаны на сайте разработчика.!

Если необходимо копировать не все виртуальные машины, то создается файл со списком VM, включенных в бекап. Создаем такой файл в vi:

  • переходим в папку со скриптом — cd /ghettovcb или backup
  • vi vmlist
  • нажимаем «a» вписываем имена VM (каждое имя на новой строке)
  • нажимаем «esc» и чтобы сохранить изменения — «:wq» (без сохранения «:q»)

Запускаем скрипт:

  • ./ghettovcb.sh -а -l ./log.txt — запуск копирования всех машин, запись логфайла в той же директории
  • ./ghettovcb.sh -f ./vmlist -l ./log.txt — запуск копирования машин, указанных в файле vmlist, логи сохраняются в той же директории
  • ./ghettovcb.sh -f ./vmlist -g ./ghettovcb.conf -l ./log.txt — аналогочно, только с использованием.conf файла

О корректном выполнении скрипта будет сигнализировать строка с надписью: «###### Final status: All VMs backed up OK! ######». Если такого нет — проверяйте логи, синтаксис команд и путей к файлам.

Для того, чтобы добавить строку на запуск по расписанию (в cron), необходимо выполнить правку файла «/etc/rc.local.d/local.sh» , выполнив следующее:

  • перейти в каталог /etc/rc.local.d/local.sh
  • chmod u+w local.sh
  • открыть файл редактором — vi local.sh
  • включить редактирование клавищей «i» или «insert»
  • дописать перед строкой exit0 следующее:

/bin/kill $(cat /var/run/crond.pid)
/bin/echo 0 20 * * * /vmfs/volumes/datastore/script/ghettoVCB.sh -a -l /vmfs/volumes/backup/log/log.txt >> /var/spool/cron/crontabs/root
/bin/crond

  • при этом указываем расписание (время указывается в UTC, т.е. для MSK -3 часа), т.е. «00 20 * * * «
  • нажимаем «esc» и сохраняемся — «Shift+:» и «wq»
  • в конце выполняем chmod u-w local.sh

Таким образом, в 23:00 по МСК будет выполняться резервное копирование файлов виртуальных машин. В нашем случае будет оставаться 3 копии.

Настройка backup для ESXi через ghettoVCB.sh завершена.