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

Для создания резервных копий 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 без всякого дополнительного вмешательства.

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

Добрый день.

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

Добрый день уважаемые читатели, не так давно, мы с вами разбирали процесс клонирования виртуальных машин Hyper-V , сегодня же мы с вами разберем, его главное конкурента, а именно гипервизор ESXI, в котором мы так же произведем клонирование виртуальной машины VMware . Сам процесс не сложный, но может у начинающих системных администраторов вызывать ряд вопросов, на которые я отвечу в этой статье.

Принцип клонирования

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

  • Копирование файлов виртуальной машины (в выключенном состоянии), из минусов, нужно заново ее создавать в инвентории и подсовывать существующие диске.
  • С помощью VMware vCenter Converter Standalon e, это вариант когда нет vCenter Server. Там принцип простой, вы устанавливаете его в виртуальную машину и делаете его клон, как будто это физическая машину, все подробно описано, по ссылке выше.
  • Средствами резервного копирования виртуальных машин "Veeam Backup Replication"
  • С помощью vCenter Cerver.

Ниже опишу первый метод и последний, остальные уже имеют свои подробные статьи.

Копирование файлов VM

Находим нужный ESXI хост, выбираем нужный вам дисковый массив (Datastore) и щелкаем по нему правым кликом мыши, из контекстного меню выбирает "Browse Datastore".

Выбираем нужную папку и из контекстного меню пункт "Copy", далее с помощью встроенного проводника, перемещаем ее в нужное местоположение, можно назвать это таким клонированием виртуальной машины VMware, для бедных.

Далее, на новом месте, открываете папку и щелкаете правым кликом по файлу с расширением *.vmtx, это конфигурационный файл. По сути на этом все. Лично я, чтобы получить доступ к файловой системе ESXI использую WinSCP , либо вы еще можете воспользоваться функциями OVA шаблона .

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

Копирование VM с помощью vCenter

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

На первом окне мастера вас спросят выбрать локацию (Datacenter)

Указываем хост назначения, если он подходит, вы увидите сообщение "Validation succeded"

Если же нет, то вы увидите сообщения:

  • Device CD/DVD drive 1 used backing - исправимая вещь, вам говорят, чтобы вы отмантировали ISO в виртуалке.
  • Network interface "имя адаптера" uses network "другое имя" - типа такой сети на хосте назначения нет, то же ничего страшного, пере воткнете в другой после клонирования.

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

На последнем шаге, вас спросят, хотите ли вы применить кастомные настройки к клону. Customise - это дополнительная настройка, позволяющая задать огромное количество установок. Выбрав пункт "Do not customise" вы закончите процесс мастера клонирования.

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

Если у вас есть желание детальнее разобраться в процессах настройки и обеспечения комплексной безопасности локальной и сетевой инфраструктуры, построенной на базе ОС 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;
Проверьте себя на вступительном тесте и смотрите детальнее программу по.

В продолжение темы:
Android

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