Сравнение решений для backup виртуальных машин от VMware, Veeam, Acronis и Symantec. Резервное копирование виртуальных машин VMware ESXi Скрипт для копирования виртуальных машин из esxi

Сравнение решений для backup виртуальных машин от VMware, Veeam, Acronis и Symantec. Резервное копирование виртуальных машин VMware ESXi Скрипт для копирования виртуальных машин из esxi
Сравнение решений для backup виртуальных машин от VMware, Veeam, Acronis и Symantec. Резервное копирование виртуальных машин VMware ESXi Скрипт для копирования виртуальных машин из esxi

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

    Veeam BackUp & Replication 5

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

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

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

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

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

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

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

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

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

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

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

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

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

      В выборе между этими технологиями необходимо провести черту по нескольким разграничениям:

      1. Тип лицензирования

        Характеристики

        Объем и периодичность бэкапа

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

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

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

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

Возникла задача организации резервного копирования виртуальных машин Hyper-V с отдельных хостов виртуализации (без кластера) на нескольких удалённых площадках. В силу того, что одной из вводных этой задачи является наличие очень скромных и нестабильных каналов связи, идея использования единого сервера резервного копирования на центральной площадке отпала сама по себе. Ибо одно дело, когда можно стягивать резервные копии в одно центральное место с учётом блочных изменений, сокращая при этом нагрузку на сеть, например тем же System Center DPM , и совсем другое дело, если в сжатые сроки потребуется выполнить полное восстановление ВМ на определённый момент времени по этим же слабеньким каналам. Таким образом, нужно было подумать над тем, как организовать резервное копирование виртуальных машин непосредственно на удалённой площадке, при условии отсутствия увеличения текущих затрат на лицензируемое ПО и на имеющемся оборудовании.

Так получилось, что на этих удалённых площадках помимо хоста виртуализации имеется выведенный ранее из эксплуатации, но вполне рабочий, старенький сервер IBM System x3200 , который можно использовать в качестве файлового сервера для хранения резервных копий виртуальных машин. Возникла идея установить на данный сервер дополнительные диски, в качестве базовой ОС развернуть Linux с пакетом QUADStor , с помощью которого, в свою очередь, создать виртуальный диск с поддержкой блочной дедупликации и по протоколу iSCSI презентовать этот диск хосту виртуализации Hyper-V , а уже на хосте виртуализации с помощью продукта настроить "горячее" резервное копирование виртуальных машин на этот самый iSCSI диск. В итоге должно получиться "дёшево и сердито". В этой заметке я опишу процедуру настройки такой конструкции.

Подготовка файлового сервера на базе Debian Linux c QUADStor

Дисковая корзина нашего будущего файлового сервера IBM System x3200 в имеющейся конфигурации поддерживает не более 4 SAS/SATA дисков 3.5". Учитывая то, что контроллер в этой модели сервера также очень скромный (LSI Logic SAS1064ET) и, упрощённо говоря, умеет только "страйп" или "зеркало", создадим две зеркальных пары дисков – первую на двух уже имеющихся SATA дисках малой ёмкости под операционную систему Linux, и вторую - на двух дополнительно установленных малобюджетных SATA дисках по 1TB для хранения резервных копий ВМ (под виртуальный диск QUADStor).

Итак, на первую зеркальную пару дисков без особых изысков устанавливаем ОС Debian GNU /Linux 8.6 (Jessie ). Вторую зеркальную пару больших дисков при этом оставляем неразмеченными.

Переходим к установке и настройке .

Порядок установки QUADStor на разные дистрибутивы Linux описан в документе Installation/Upgrading on RHEL/CentOS 5.x, 6.x, SLES 11 and Debian 6.x, 7.x . Исходя из того, что в нашем случае используется Debian, устанавливаем предварительно требуемые пакеты:

# apt-get install uuid-runtime build-essential sg3-utils iotop sysstat lsscsi apache2 psmisc firmware-qlogic linux-headers-`uname -r`

Включаем поддержку CGI для веб-сервера Apache :

# a2enmod cgi

Добавляем правило iptables , разрешающее входящие подключения к веб-серверу и сохраняем текущие правила:

# iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT # iptables-save > /etc/iptables.conf

Перезагружаем сервер и убеждаемся в том, что служба веб-сервера успешно стартует при запуске системы:

# systemctl status apache2.service

Теперь скачиваем и устанавливаем основной пакет QUADStor Storage Virtualization (ссылку на актуальную версию пакета берём здесь: Storage virtualization downloads ):

# mkdir ~/QUADStor-files # wget http://www.quadstor.com/virtentdub3z/quadstor-virt-3.2.11-debian7-x86_64.deb -P ~/QUADStor-files # dpkg -i ~/QUADStor-files/quadstor-virt-3.2.11-debian7-x86_64.deb ... Performing post install. Please wait... Synchronizing state for quadstor.service with sysvinit using update-rc.d... Executing /usr/sbin/update-rc.d quadstor defaults Executing /usr/sbin/update-rc.d quadstor enable Building required kernel modules Running /quadstor/bin/builditf. This may take a few minutes. Processing triggers for systemd (215-17+deb8u5) ...

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

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

# systemctl status quadstor.service

Проверяем доступ к веб-интерфейсу пройдя по ссылке http://{сервер} . Веб-сервер должен будет перенаправить нас по ссылке http://{сервер}/cgi-bin/system.cgi

После того как установка завершена QUADStor, выполняем первичную настройку, которая принципиально не отличается от , а именно:

  • Настраиваем ограничение доступа к веб-серверу Apache , а так же, при необходимости, настраиваем поддержку HTTPS ;
  • Переходим в веб-интерфейс управления QUADStor и создаём там Storage Pool ;
  • Добавляем диск (Physical Storage ) в Storage Pool (при этом в качестве добавляемого диска используем вторую зеркальную пару дисков больших дисков на нашем сервере, которые в системе представлены как одно дисковое устройство) ;
  • Создаём виртуальный диск VDisk .

После того, как виртуальный диск QUADStor создан, настроим доступ к нему по протоколу iSCSI . Вообще информацию о том, каким образом возможно получить доступ к виртуальным дискам QUADStor, можно найти в документе Accessing Virtual Disks (VDisks) .

Функционал iSCSI Target реализован в QUADStor с помощью службы ietd , которая открывает в системе TCP -прослушиватель на порту 3260 , поэтому нам потребуется в iptables создать соответствующее разрешающее правило:

# iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3260 -j ACCEPT # iptables-save > /etc/iptables.conf

Чтобы задать настройки конфигурации iSCSI, касающейся созданного нами виртуального диска перейдём в свойства этого диска в веб-консоли QUADStor (Virtual Disks > Modify > iSCSI Configuration ):

Здесь в поле IQN увидим автоматически сгенерированный идентификатор iSCSI-диска и для ограничения доступа к этому диску зададим значения полей Incoming User и Incoming Password . В эти поля пропишем произвольные имя пользователя и пароль, которые наш файловый сервер будет запрашивать у iSCSI клиента (Initiator) при подключении к этому виртуальному диску QUADStor.

Подключение диска QUADStor к хосту виртуализации на Windows Server

Перейдя на наш хост виртуализации Hyper-V на базе Windows Server 2012 R2 , откроем Панель управления и найдём в ней апплет iSCSI Initiator . При первом обращении к этому апплету система сообщит о потребности в запуске системной службы, необходимой для корректной работы с протоколом iSCSI. Соглашаемся с запуском этой службы и переводом её в состояние автоматического запуска при старте системы:

После запуска службы откроется апплет управления iSCSI, где на закладке Discovery нажмём кнопку Discover Portal , чтобы добавить информацию о нашем файловом сервере на базе Linux

В открывшемся окне введём FQDN имя или IP адрес Linux-сервера (порт оставляем предлагаемый по умолчанию - 3260 ) и нажмём ОК

После этого в табличной части поля Discovered targets должен появится ранее упомянутый IQN нашего виртуального диска QUADStor со статусом Inactive . То есть диск успешно обнаружен на удалённом Linux-сервере и теперь для того, чтобы произвести подключение этого диска воспользуемся кнопкой Connect .

Add this connection to the list of Favorite Targets для того, чтобы диск был добавлен в список автоматически подключаемых при старте системы дисков и нажмём кнопку расширенных настроек подключения диска - Advanced

В открывшемся окне включим опцию Enable CHAP log on и укажем имя пользователя и пароль для доступа к диску QUADStor, которые мы задали ранее.

Сохраним сделанные настройки, закрыв окна кнопкой ОК

Если всё сделано правильно, то статус диска должен измениться на Connected .

Перейдём на закладку Favorite Targets и убедимся в том, что диск присутствует в списке на автоматическое подключение при запуске операционной системы.

На этом подключение виртуального диска QUADStor по протоколу iSCSI можно считать законченным. Теперь нужно выполнить инициализацию этого диска в системе и создать на нём раздел с файловой системой NTFS . Для этого перейдём в оснастку Disk Management (diskmgmt.msc), выберем подключенный диск и переведём его в состояние Online

Затем выполним инициализацию диска – Initialize Disk

Будет задан вопрос о выборе типа разметки диска. Так как мы используем виртуальный диск QUADStor, то, вероятно, со временем мы захотим увеличить размер диска, и он будет большего размера, чем сейчас. Напомню, что виртуальный диск QUADStor может быть в любое время увеличен до 64TB , несмотря на то, что реальный размер физических дисков, на которых расположен этот виртуальный диск будет невелик и/или будет оставаться на прежнем уровне. А учитывая то, что в MBR имеется ограничение на размер логических дисков в 2TB , то в нашем случае имеет смысл выбирать тип разметки GPT :

После того, как диск проинициализирован и на нём создана таблица разделов, создадим на этом диске раздел с файловой системой NTFS

Назначим этому диску отдельную букву, например E:\ , и дождёмся окончания процесса форматирования, которое в зависимости от размера диска может занять некоторое время.

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

Установка Veeam Backup Free Edition 9.5

Для резервного копирования виртуальных машин Hyper-V мы будем использовать программу Veeam Backup Free Edition 9.5 , которая позволит нам создавать полную резервную ВМ без её выключения.

Узнать об основных возможностях этого продукта можно из документа Product Overview .

С системными требованиями можно ознакомится загрузив документ Release notes .

Лицензионное соглашение EULA доступно по ссылке Veeam End User Software License Agreement .

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

Файл образа VeeamBackup&Replication_9.5.0.711.iso размером в 1,5GB после загрузки копируем на наш хост виртуализации на базе Windows Server и монтируем его в систему. Например, с помощью PowerShell сделать это можно так:

Mount-DiskImage -ImagePath " С:\Temp\VeeamBackup&Replication_9.5.0.711.iso "

На смонтированном диске запускаем программу установки Setup.exe , читаем и принимаем лицензионное соглашение, жмём Next

На шаге ввода лицензионного ключа оставляем все без изменений. Без ключа программа будет работать в режиме Free Edition с ограниченной функциональностью, которой в рамках нашей задачи будет достаточно.

Стоит отметить то, что на самом деле в систему устанавливается полноценный экземпляр Veeam Backup & Replication , и если в процессе первичной установки не был указан лицензионный ключ, то его можно добавить в приложение в дальнейшем и повысить режим его работы до редакций Standard , Enterprise или Enterprise Plus . Подробнее узнать о различиях бесплатной и платных версий можно из документа Veeam Backup: Free vs Paid

На следующем шаге, не изменяя набора устанавливаемых компонент, снова жмём Next

Компоненты доустанавливаются из дистрибутива, поэтому отдельно ничего загружать не придётся. После того, как нужные компоненты развёрнуты снова запускаем проверку с помощью кнопки Re-run и переходим к следующему этапу установки - Next .

Здесь мы увидим сводный экран текущих настроек, с которыми будет установлено приложение. Если включить опцию Let me specify different settings , то все указанные настройки можно будет изменить перед началом процесса непосредственной установки. Например, вместо устанавливаемого по умолчанию именованного экземпляра SQL Server 2012 Express , можно задать установку в уже существующий экземпляр SQL Server, поменять имя БД, сервисную учётную запись, расположение каталогов или номера портов. В большинстве случае предложенные настройки можно оставить в конфигурации по умолчанию и нажать кнопку Install .

В процессе установки на нашем хосте виртуализации будет развёрнут именованный экземпляр Microsoft SQL Server 2012 SP3 редакции Express (VEEAMSQL2012 ) и в нём будет создана база данных VeeamBackup . Дождёмся завершения процесса установки.

Регистрация хоста виртуализации в Veeam Backup

По окончании процесса установки, запускаем с рабочего стола или стартового меню ярлык Veeam Backup & Replication Console . В качестве сервера подключения используем localhost и порт по умолчанию 9392 . Включим опцию использования учётных данных текущего пользователя Use Windows session authentication и нажмём Connect

В первую очередь выполним в программе регистрацию нашего хоста виртуализации, чтобы появилась возможность резервного копирования виртуальных машин, расположенных на этом хосте. Для этого на вкладке VIRTUAL MACHINES в дереве инфраструктуры выберем Microsoft Hyper-V и в контекстном меню или верхней ленте кнопок выберем Add server .

В открывшемся мастере добавления сервера введём FQDN имя нашего сервера…

На шаге Type выберем тип Hyper-V сервера. В нашем случае это отдельно работающий хост – Standalone

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

Жмём Next и дожидаемся окончания конфигурации Veeam Backup и подключаемого хоста виртуализации

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

Теперь можно перейти к проверке функций резервного копирования виртуальных машин c помощью Veeam Backup.

Проверка резервного копирования ВМ в Veeam Backup

На подключённом нами ранее по протоколу iSCSI диске создадим каталог, в который будут помещаться полные резервные копии виртуальных машин, сделанные из Veeam Backup. В нашем случае это будет каталог E:\VMBackups .

Затем в консоли Veeam Backup выберем какую-нибудь виртуальную машину и вызовем для неё пункт меню VeeamZIP

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

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

В ходе резервного копирования мы также сможем увидеть, что в консоли Hyper-V Manager виртуальная машина принимает соответствующий статус.

В результате выполнения задачи резервного копирования в указанном нами каталоге будет создана полная резервная копия ВМ в виде файла с расширением VBK . Этот тип фалов ассоциирован в системе с Veeam Backup и по его двойному клику будет автоматически запускаться консоль Veeam Backup и в ней будет открыта форма, из которой можно при необходимости произвести операцию восстановления как всей виртуальной машины, так и отдельных файлов внутри ВМ (Instant File-Level Recovery ).

Таким образом считаем, что резервное копирование, как таковое, у нас работает, но теперь нужно решить ещё одну немаловажную задачу. Дело в том, что бесплатная редакция Veeam Backup имеет ограничения, которые не позволяют нам настраивать запуск резервного копирования по расписанию непосредственно из интерфейса программы. Однако в составе Veeam Backup есть набор командлетов PowerShell , с помощью которых можно вызывать задачу резервного копирования в Veeam Backup. И если совместить эту возможность с Планировщиком заданий Windows (Task Scheduler ), то на выходе мы можем получить вполне работоспособное решение задачи автоматизации запуска резервного копирования по расписанию.

Автоматизация запуска резервного копирования ВМ

Получить онлайн-справку по PS-командлетам Veeam Backup можно по ссылке Veeam Backup & Replication 9.5 - PowerShell Reference . А уже готовый PowerShell скрипт, эксплуатирующий командлеты Veeam Backup, в частности Start-VBRZip , мы можем найти в статье Veeam Backup Free Edition: Now with PowerShell! . Я немного изменил этот скрипт, добавив возможность оповещений по электронной почте только в том случае, если в процессе резервного копирования возникла какая-то ошибка.

# ########################### User Defined Variables ############################ # Names of VMs to backup separated by comma (Mandatory). For instance, $VMNames = “VM1”,”VM2” $VMNames = " KOM-AD01-WS305 " , " KOM-AD01-DEV03 " # Name of Hyper-V host VMs to backup reside on (Mandatory) $HostName = " KOM-AD01-VM14 " # Directory that VM backups should go to (Mandatory; for instance, C:\Backup) $Directory = " E:\VMBackups " # Desired compression level (Optional; Possible values: 0 - None, 4 - Dedupe-friendly, 5 - Optimal, 6 - High, 9 - Extreme) $CompressionLevel = 0 # Quiesce VM when taking snapshot (Optional; VMware Tools are required; Possible values: $True/$False) $EnableQuiescence = $True # Protect resulting backup with encryption key (Optional; $True/$False) $EnableEncryption = $False # Encryption Key (Optional; path to a secure string) $EncryptionKey = "" # Retention settings (Optional; By default, VeeamZIP files are not removed and kept in the specified location for an indefinite period of time. # Possible values: Never , Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month) $Retention = " In1Week " # ########################### Notification Settings ############################ # Enable notification (Optional) # Possible values: 0 - None, 1 - Only Warnings&Errors, 2 - All notifications $EnableNotification = " 1 " $SMTPServer = " KOM-SMTP.holding.com " $EmailFrom = " [email protected] " $EmailTo = " [email protected] " $EmailSubject = " VEEAM Backup Notification " # ########################### Email formatting ############################ $style = " " # ########################### End User Defined Variables ############################ Asnp VeeamPSSnapin $Server = Get-VBRServer -name $HostName $MesssagyBody = @() foreach ($VMName in $VMNames ) { $VM = Find-VBRHvEntity -Name $VMName -Server $Server If ($EnableEncryption ) { $EncryptionKey = Add-VBREncryptionKey -Password ( cat $EncryptionKey | ConvertTo-SecureString ) $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(! $EnableQuiescence ) -AutoDelete $Retention -EncryptionKey $EncryptionKey } Else { $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(! $EnableQuiescence ) -AutoDelete $Retention } If ($EnableNotification -in " 1 " , " 2 " ) { $TaskSessions = $ZIPSession .GetTaskSessions().logger.getlog().updatedrecords $FailedSessions = $TaskSessions | where { $_ .status -eq " EWarning " -or $_ .Status -eq " EFailed " } If ($FailedSessions -ne $Null ) { $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n = " Name " ;e = {($_ .name).Substring(0 , $_ .name.LastIndexOf(" (" ))}} ,@{n = " Start Time " ;e = { $_ .CreationTime}},@{n = " End Time " ;e = { $_ .EndTime}},Result,@{n = " Details " ;e = { $FailedSessions .Title}}) } Else { $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n = " Name " ;e = {($_ .name).Substring(0 , $_ .name.LastIndexOf(" (" ))}} ,@{n = " Start Time " ;e = { $_ .CreationTime}},@{n = " End Time " ;e = { $_ .EndTime}},Result,@{n = " Details " ;e = {($TaskSessions | sort creationtime -Descending | select -first 1 ).Title}}) } } } If ($EnableNotification -in " 1 " , " 2 " ) { If (($EnableNotification -eq " 1 " ) -And ($FailedSessions -eq $Null )) { exit } Else { $Message = New-Object System.Net.Mail.MailMessage $EmailFrom , $EmailTo $Message .Subject = $EmailSubject $Message .IsBodyHTML = $True $message .Body = $MesssagyBody | ConvertTo-Html -head $style | Out-String $SMTP = New-Object Net.Mail.SmtpClient ($SMTPServer ) $SMTP .Send($Message ) } }

Откроем с правами администратора консоль Windows PowerShell и выполним проверочный запуск скрипта выполнив команду:

& "C:\Tools\VeeamZip.ps1 "

Запущенный скрипт отобразит статус выполнения задачи создания резервной копии виртуальных машин:

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

powershell.exe -NoProfile -command "C:\Tools\VeeamZip.ps1"

Настройку резервного копирования можно считать законченной.

Проверяем результат

Итак, в нашем примере PS-скрипт по расписанию (ночью, один раз в сутки) выполняет резервное копирование двух виртуальных машин с автоматическим удалением резервных копий старше семи дней. По прошествии семи дней проверим результат на нашем хосте виртуализации.

Как видим, у нас действительно имеется по 7 полных резервных копий для каждой из двух виртуальных машин, которые были указаны нами в скрипте. Общий размер используемого этими резервными копиями около 700GB . При этом, если мы заглянем в веб-консоль QUADStor и посмотрим свойства дискового пула на базе которого создан виртуальный диск, то увидим, что с учётом дедупликации реальная физическая дисковая ёмкость использована не более чем на 100GB .

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

Для создания резервных копий VMware в Handy Backup могут использоваться два метода: внутренний и внешний.

Внутренний метод

Копия Handy Backup устанавливается на виртуальную машину VMware под управлением ОС Windows или Linux. Эксплуатация Handy Backup на виртуальной машине ничем не отличается принципиально от использования аналогичного решения на “физических” компьютерах.

Внешний метод

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

Как сохранить образ виртуальной машины VMware

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

  1. Откройте Handy Backup и создайте новую задачу, нажав Ctrl+N или выбрав пункт меню. Выберите задачу резервного копирования.
  2. На Шаге 2 выберите плагин "VMware Workstation ".

  1. Дважды щёлкните на строчке “Новая конфигурация” для выбора конфигурации доступа к VMware.
  2. В открывшемся диалоге сделайте выбор между режимами "Hot " (резервное копирование без остановки машины) и "Enable suspend " (с остановкой виртуальной машины для получения её точного образа).

  1. Далее выберите в диалоге конкретный образ машины, к которому будет применена данная конфигурация.

  1. Нажмите "ОК" и продолжайте создание задачи, как обычно.

Описанная выше последовательность действий будет останавливать, а затем перезапускать виртуальные машины VMware без всякого дополнительного вмешательства.

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

    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 завершена.