Бесплатный backup (резервное копирование) виртуальных машин на базе VMware ESXi. Сравнение решений для backup виртуальных машин от Veeam, Acronis и Symantec Резервное копирование с помощью Vizioncore esxRanger

Для организации системы автоматического резервного копирования виртуальных машин, запущенных на сервере VMWare ESXi мы воспользуемся бесплатной утилитой MKSBackup , скачать которую можно (на момент написания статьи последняя доступная версия MKSBackup 1.0.4 от 24.01. 2013). Данная утилита является своеобразным фронтэндом, который интегрируется с различными скриптами резервного копирования, в том числе GhettoVCB (скрипт резервного копирования ВМ, написанный на perl и поддерживаемый энтузиастами). GhettoVCB позволяет в онлайн режиме создавать резервные копии запущенных виртуальных машин. Резервная копия ВМ создается путем создания ее снимка (снапшота).

Важно . GhettoVCB не работает с виртуальными машинами, имеющих собственные снимки. Для выполнения бэкапа виртуальной машины все снапшоты должны быть удалены (например, через Snapshot Manager).

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

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

Установка скрипта резервного копирования MKSBackup

Настройка параметров резервного копирования виртуальных машин

Следующий этап – настройка параметров резервного копирования виртуальных машин, запущенных на сервере ESXi. Настройка проводится путем редактирования конфигурационного файла mksbackup.ini (по умолчанию находится в папке C:\Magik).

Откройте файл mksbackup.ini в любом текстовом редакторе. По своей структуре файл представляет собой несколько секций, имя каждой секции заключено в квадратные скобки.
Секция:

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

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

Program=ghettovcb host=10.10.1.89 port=22 login=root password=LI&f3ccc23 local=C:\magik\vmware global_conf=ghettoVCB.conf vm_list=vm1_https winXPtest destination=C:\magik\${vm} scp_bin="D:\Install\Putty\pscp.exe" -scp -r

Подробнее остановимся на параметрах задания:

program – программа резервного копирования, оставляем ghettovcb

host – имя/ip хоста ESXi, на котором запущены виртуальные машины

port – порт для доступа (по умолчанию 22 порт – протокол SSH)

login – имя пользователя с правами доступа к серверу ESXi (по умолчанию это root, но с целью безопасности лучше завести на сервере ESXi отдельного пользователя)

password – пароль пользователя

local – локальная директория, в которой хранится скрипт резервного копирования и его конфигурация

global_conf – файл с настройками скрипта ghettoVCB

vm_list – список виртуальных машин, для которых необходимо создать резервную копию. Если нужно забэкапить все виртуальные машины, этот параметр нужно оставить пустым. Если нужно исключить некоторые виртуалки, воспользуйтесь параметром vm_exclude.

destination – параметр позволяет указать тип выполняемой операции. Это может быть

  • backup – выполнить простое резервное копирование (место назначения указывать не нужно)
  • copy – выполнить резервное копирование и скопировать полученные файлы в указанный каталог
  • move — выполнить резервное копирование и переместить полученные файлы в указанный каталог

Остановимся на варианте move, как на более оптимальном. В этом случае на хосте ESXi создадутся локальные резервные копии виртуальных машин, которые затем будут перенесены на компьютер, запустивший скрипт.

mon-sun – предполагается, что скрипт может выполняться ежедневно (оставим так, так как периодичность запуска резервного копирования зададим через планировщик Windows).

Кроме того, укажем каталог, в который будут перемещаться резервные копии ВМ (C:\magik). Параметр ${vm} указывает, что для каждой виртуальной машины будет создан отдельный каталог с ее именем, куда и будут складываться фалы виртуальной машины.

Примечание . Подробное описание конфигурационных настроек скрипта и его синтаксиса приведено на сайте разработчика.

scp_bin – путь к утилите scp

Важно . Убедитесь, что на сервере ESXi включен демон SSH.

VM_BACKUP_VOLUME=/vmfs/volumes/msa2000/backup VM_BACKUP_ROTATION_COUNT=3

VM_BACKUP_VOLUME – каталог на сервере ESXi, в котором будут сохранятся копии виртуальных машин (естественно, что на VMFS разделе должно быть достаточно свободного места)

VM_BACKUP_ROTATION_COUNT – количество хранимых локальных копий (в нашем примере будут хранится 3 последние резервные копии)

Осталось с помощью утилиты plink (также входит в состав поставки Putty) сохранить ключ хоста в локальном кеше ssh. Например, так:

PLINK.EXE [email protected] ls /

Запуск резервного копирования виртуальных машин на хосте VMWare ESXi

Протестируем работу скрипта резервного копирования. Для это нужно открыть командную строку с правами администратора и выполнить команду:

C:\Magik\MKSBackup\mksbackup.exe -v -c C:\Magik\mksbackup.ini backup VMWARE_FROM_WINDOWS

Где ключ –v показывает, что нужно отображать подробную информацию, -c путь к файлу настроек mksbackup.ini, backup – означает что нужно запустить резервное копирование, в конце указывается имя задания из файла mksbackup.ini (в нашем примере задание VMWARE_FROM_WINDOWS).

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

Процесс резервного копирования можно отследить по появлению событий создания/ удаления снапшотов в консоли VMware vSphere.

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

После выполнения тестового копирования можно перейти к автоматизации процесса создания резервных копий. Для этого создадим новое задание планировщика Windows.

Создадим, задание с именем «Backup ESXi», которое выполняется по пятницам и запускает команду: C:\Magik\MKSBackup\mksbackup.exe -v -c C:\Magik\mksbackup.ini backup VMWARE_FROM_WINDOWS

В настройках задания не забудьте указать, что его нужно запускать с правами администратора (опция «Run with highest privileges»).

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

Недостатки данного данного метода резервного копирования виртуальных машин:

  • довольно низкая скорость создания резервных копий
  • большое количество свободного места, необходимое для хранения бэкапов ВМ

Указанные недостатки компенсируется его бесплатностью, но для крупных решений предпочтительно использовать коммерческие продукты резервного копирования, например Veeam или HP DataProtector.

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

    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 на том же сервере ВМ, что позволяет восстановить машину за короткий срок, причем этот раздел будет защищен режимом дедупликации на другом сервере

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

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

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

Небольшой тест:
Локальная сеть - гигабит.
На локальное хранилище (аппаратный 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, резервное копирование

Многие пользователи, которые начинают пользоваться средствами виртуализации от VMware, рано или поздно задаются вопросом - как создать копию виртуальной машины (клонировать её) в бесплатной версии VMware ESXi. Если у вас есть коммерческое издание VMware vSphere и сервер управления vCenter, то клонировать ВМ можно просто из контекстного меню машины:

Однако все несколько сложнее, если у вас бесплатная версия VMware ESXi Free (он же vSphere Hypervisor). Тут можно пойти вот какими путями:

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

2. Использовать софт для резервного копирования и восстановления.

К сожалению, для бесплатного ESXi использовать отличный продукт Veeam Backup and Replication не получится , но есть некоторые продукты, которыми это можно сделать. Например, Trilead VM Explorer и Unitrends .

Сначала создаем резервную копию машины, а потом восстанавливаем ее параллельно с уже существующей ВМ.

3. Можно просто скопировать виртуальную машину и ее диск.

Первый вариант данного способа прост - копируете папку с ВМ (для доступа к файловой системе ESXi можно использовать WinSCP или FastSCP). Далее добавьте ВМ в окружение ESXi файл *.vmx через контекстное меню и пункт "Add to inventory":

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

vmkfstools -i /vmfs/volumes/storage/server1/server1.vmdk /vmfs/volumes/storage/server1_clone/server1_clone.vmdk -d thin

С помощью этой утилиты можно много чего делать, более подробно о ней написано в KB 1028042 . Далее создаем новую ВМ и подцепляем к ней полученный виртуальный диск. Не забудьте поменять имя машины и сетевую идентификацию!

Есть еще способ сделать клон ВМ с помощью (vMA) и vSphere CLI (vCLI) как написано в KB 1027872 , но он требует развертывания vMA и не стоит заморочек ради клонирования одной ВМ. Но для регулярного клонирования машин - обязательно изучите эту KB.

Please enable JavaScript to view the

«Есть системные администраторы, которые не делают резервное копирование, и есть те, которые уже делают резервное копирование».
(с) Из этих ваших интернетов.

Добрый день.

В данной статье речь пойдет о таком необходимом и насущном вопросе в системном администрировании, как средства резервного копирования для виртуальных машин (ВМ) . Данную статью можно справедливо считать логическим продолжением пары предыдущих, где рассматривались процессы развертывания систем гипервизоров на базе продуктов VMware и Microsoft соответственно. На этот раз разговор о том, как настроить сервер, который будет отвечать за создание и хранение резервных копий виртуальных машин платформ vSphere ESXi и Hyper-V.
Для обоих вариантов основой будет служить бесплатная версия программы резервного копирования Veeam Backup & Replication (далее Veeam B&R) . В качестве «сервера бэкапов» в моем случае был выбран обычный ПК с ОС Windows 7 (64 бит) . Про разрядность ОС в скобках упомянуто не случайно - с некоторой версии (вероятно с 7-й или ранее) Veeam B&R поставляется как 64-битное приложение, отказавшись от 32-разрядных систем для сервера Veeam Backup & Replication.
Полную информацию со списком поддерживаемых версий ОС сервера можно найти в справочнике к свежему релизу (на момент написания статьи - v9) , который в свою очередь всегда можно найти на странице FAQ Veeam.

Желая получить бюджетный вариант проекта и максимально возможный выигрыш в стоимости, насколько это возможно в рамках соблюдения лицензионных соглашений, будем использовать бесплатную версию пакета Veeam Backup & Replication. Это в свою очередь несколько ограничит рабочий функционал пакета. В частности в бесплатной версии нет доступа к планировщику заданий и, например — режима инкрементного копирования (только цельные полные копии ВМ, вместо частичных — по изменениям между версиями бэкапов) . Если без второго худо-бедно можно жить, хотя и с оговорками, то в первом случае мы в качестве альтернативы воспользуемся встроенным планировщиком Windows.
Запускать же наш планировщик будет задания, основанные на исполняемых сценариях Windows Powershell, для которых в дистрибутиве Veeam B&R (начиная с версии 8 +update 3) имеются необходимые командлеты, что очень хорошо.

Если вы будете работать с гипервизором ESXI 6-й версии (как в данной статье) , то поверх установленного Veeam B&R v8 должно быть установлено обновление kb2068 или более поздняя версия самой программы — в противном случае вы не сможете подключиться к ESXI (ошибка Failed to login to «SERVER_IP» by SOAP, port 443, user «root», proxy srv: port:0 Unknown API version format: «dev») .

Резервное копирование ВМ VMware vSphere ESXi

Полагаю описывать процесс установки Veeam Backup & Replication на будущий сервер бэкапов нет необходимости - он мало отличается от большинства windows-инсталляторов, если не считать большой длительности из-за установки всех необходимых компонентов, поэтому сразу приступим к обзору пакета от Veeam.

Установка, настройка и проверка работы Veeam Backup & Replication

После установки, запускаем Veeam B&R – для запуска требуются права администратора.

Рис. 01

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

Add Server – VMware vSphere .

Рис. 02

Следующие шаги демонстрируют процесс добавления нового сервера ESXi, помимо IP-адреса, большей частью это заведение аккаунта администратора сервера (Credentials) .

Рис. 03

На следующей вкладке добавляем сам аккаунт администратора ESXi (root)

Рис. 04
Сервер добавлен.

Рис. 05

По завершении добавления, в ноде «VMware vSphere», в списке серверов, мы увидим наш новый гипервизор. Кликнув на его имени, можно увидеть список размещенных на сервере виртуальных машин и их краткое описание.

Рис. 06

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

Рис. 07

Откроется диалог с выбором расположения будущего архива с образом ВМ. Выбираете локацию и подтверждаете изменения.

Рис. 08

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

Рис. 09

По завершении процесса в назначенном каталоге будет записан архив с резервной копией нашей ВМ (файл с расширением *.vbk) .

Скорость процесса во многом зависит как от размера файловой системы ВМ (занимаемое место на диске) , характеристик бэкап-сервера и гипервизора (дисковая система, скорость сетевого интерфейса) , так и от архитектуры сети, через которую данная операция выполняется.
В моем примере диски SATA-II и гигабитные сетевые контроллеры, как на бэкап-сервере так и на гипервизоре, между ними коммутатор — также с портами на 1GB/s, сетевые патчкорды небольшой длины и обжаты соответственно под работу на данном стандарте пропускной способности (аналог «стоечной» кроссировки соединений) .
Помимо прочего, могу порекомендовать на все ВМ работающие на продуктах VMware, устанавливать в гостевых ОС пакет VMware Tools для оптимизации работы всех взаимосвязанных служб и утилит внутри инфраструктуры VMware.
Идем далее.

Создание задания для планировщика в Windows PowerShell

После того, как мы убедились, что в ручном режиме нет никаких затруднений, приступаем к добавлению задания в планировщик заданий Windows. Но перед этим, создадим собственно сам исполняемый объект, который будет нашим заданием - сценарий powershell.
Можете создать сценарий с нуля, а можете воспользоваться готовым, который можно позаимствовать в блоге (он же на русском языке) одного из разработчиков из компании Veeam. Из свежих рекомендаций - версия powershell должна быть начиная с 3-й, дабы избежать вероятных проблем в работе командлетов со старой версией (если надо, то обновите перед началом творческих изысканий) . Узнать текущую версию можно набрав команду в консоли powershell:

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

Ниже можно увидеть, как выглядит мой сценарий после изменений (файл с именем VeeamZIP2.ps1) . Измененные поля с моими значениями подсвечены красным цветом.

# Author: Vladimir Eremin # Created Date: 3/24/2015 # http://forums.veeam.com/member31097.html # ################################################################## # User Defined Variables ################################################################## # Names of VMs to backup separated by semicolon (Mandatory) # example from V. Eremin: # $VMNames = "VM1", "VM2", "VM3" $VMNames = "win_xp1", "zabbix" # Name of vCenter or standalone host VMs to backup reside on (Mandatory) $HostName = "192.168.55.100" # Directory that VM backups should go to (Mandatory; for instance, C:\Backup) $Directory = "d:\backup\arch\veeam-esxi\" # Desired compression level (Optional; Possible values: 0 - None, 4 - Dedupe-friendly, 5 - Optimal, 6 - High, 9 - Extreme) $CompressionLevel = "5" # 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 = "In3days" ################################################################## # Notification Settings ################################################################## # Enable notification (Optional) $EnableNotification = $False # Email SMTP server $SMTPServer = "" # Email FROM $EmailFrom = "" # Email TO $EmailTo = "" # Email subject $EmailSubject = "" ################################################################## # Email formatting ################################################################## $style = "" ################################################################## # End User Defined Variables ################################################################## #################### DO NOT MODIFY PAST THIS LINE ################ Asnp VeeamPSSnapin $Server = Get-VBRServer -name $HostName $MesssagyBody = @() foreach ($VMName in $VMNames) { $VM = Find-VBRViEntity -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) { $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) { $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) }

Как видно из примера выше, я изменял только несколько полей:

$VMNames = "win_xp1", "zabbix"

имена виртуальных машин из списка в Veeam B&R

$HostName = "192.168.55.100"

IP-адрес гипервизора ESXi

$Directory = "d:\backup\arch\veeam-esxi\"

каталог для хранения архивов образов виртуальных машин

$EnableEncryption = $False

отключение шифрования архивов

$Retention = "In3days"

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

Тут вы можете выставить свое значение. — возможные варианты перечислены в комментариях сценария.

$EnableNotification = $False

Здесь я отключил уведомления на e-mail т. к. пока не планировал такую функцию для себя. При желании вы можете настроить это, если потребуется.

Когда все опции определены, необходимо проверить работу нашего сценария.
Запустите консоль CMD от имени администратора и выполните команду:

Powershell –file “c:\bin\VeeamZIP\vmware\VeeamZIP2.ps1”

Если все настроено правильно, вы увидите выполнение сценария:

Рис. 10

Рис. 11

По завершении данного шага приступаем к следующему этапу.

Добавление задания в планировщик задач Windows

Запускаем от имена администратора «Планировщик заданий Windows».
Правой кнопкой мышки кликаем на папке «Библиотека планировщика заданий» и выбираем «Создать простую задачу». Даем нашей задаче имя: «VeeamZIP-test» и задаем свойства новой задачи.

Рис. 12

Опишем характер задачи при необходимости

Рис. 13

Установим график для новой задачи

Рис. 14

Зададим действия, которые надо выполнить для задачи.

Рис. 15

Обратите внимание на данный шаг, а именно на то, как распределены команда и ее аргументы по форме:
— в моем случае планировщик согласился выполнять мой сценарий только при таком методе заполнения полей (Отдельно 2 строки: «Программа…» и «Добавить аргументы…») .

Рис. 16

Рис. 17

Рис. 18

Рис. 19

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

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

Рис. 20

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

Ниже показан характерный пик активности на интерфейсе lan-pci во время загрузки образов ВМ с ESXi на сервер Veeam B&R:

Рис. 21

Записанные архивы образов ВМ в каталоге назначения (хранилище резервных копий) .

Рис. 22

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

Хотелось бы несколько слов сказать касательно типов лицензий.

Для функционирования вышеописанного метода резервного копирования необходимо соблюдения следующих условий по используемому ПО:
ОС бэкап-сервера - Windows 7 x64 sp1/ Server 2008R2 / 2012 или новее;
Veeam Backup & Replication (Free, не ниже v8 +обязательная установка последних обновлений, но не ниже upd v.3) ;
VMware ESXi 6 (вполне возможно будет работать с v5.5) Essential Kit или выше (более расширенная лицензия) . Бесплатная (ESXi Freeware) версия блокирует возможность создавать бэкапы ВМ.

По состоянию на первую половину 2016 года, стоимость лицензий при вышеприведенной схеме будет в пределах 45 т. руб. (ESXi Essential Kit x 3 servers) + 10 т. руб. на Windows 7 (8) .
По поводу ESXi можно отдельно заметить, что лицензия Essential Kit позволит получить доступ к функционированию механизма резервного копирования цельных копий виртуальных машин. В случае наличия финансовой возможности расширить лицензию, скажем до Enterprise, для использования откроется режим частичного копирования (инкрементная схема и еще ряд других полезных и интересных опций) .
Этот режим конечно еще более оптимален, если не смотреть на итоговую смету. Более того, если есть средства на полные корпоративные пакеты VMware ESXi, то тут уже видимо можно вести речь про закупку полной коммерческой версии для Veeam Backup & Replication, что уже откроет дорогу к использованию всех опций данного ПО, включая планировщик. Нетрудно заметить, что такой вариант заставляет задуматься о целесообразности использовать описанную в статье технику работы с бэкапами и очевидно, приведен для общего ориентирования по теме.
В случае, если лишних финансов на расширенные лицензии у вас не наблюдается, то полагаю использование описанной в статье связки выглядит более чем оптимально и бюджетно.

На этом пожалуй завершу первую часть статьи посвященной резервному копированию виртуальных машин с гипервизора VMware ESXi 6 в хранилище сервера Veeam Backup & Replication v8. Во второй части будет рассмотрена настройка бэкап-сервера для работы с виртуальными машинами на базе Hyper-V.