Создание резервных копий виртуальных машин


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

Многие поставщики коммерческих платформ виртуализации предлагают корпоративным пользователям встроенные средства архивации виртуальных машин, такие как VMware Consolidated Backup (VCB) для платформы ESX Server. Однако в секторе SMB (Small and Medium Business), где число используемых виртуальных машин невелико, практически отсутствуют предоставляемые производителем платформ средства резервного копирования. Вследствие этого, небольшим компаниям приходится привлекать системных администраторов для написания различных скриптов, а также использования стандартных утилит операционных систем, обеспечивающих архивацию и восстановление файлов и папок с жизненно важными данными.

Общие сведения о резервном копировании данных

Одновременно с процессом планирования виртуальной инфраструктуры необходимо также инициировать процесс по разработке плана архивации и восстановления после сбоев (Disaster Recovery Plan). Прежде всего, нужно выделить наиболее критические элементы ИТ-инфраструктуры, которые потенциально подвержены повреждениям со стороны внутренних и внешних источников, таких как отключение электропитания, неисправности жестких дисков, вирусная угроза и прочие. После этого, необходимо продумать частоту резервного копирования виртуальных машин различных категорий в зависимости от степени критичности. Виртуальные продакшен-сервера компании, которые работают в режиме полной публичной доступности, должны архивироваться довольно часто и регулярно и обладать свойством быстрой восстанавливаемости в случае сбоя. Внутренние сервера организации, не требующие столь высокого внимания и быстрого восстановления, могут архивироваться реже, с бoльшим временем восстановления. Затем нужно определить, какие устройства хранения будут использоваться для архивации (IDE или SCSI диски других серверов, устройства SAN и т. п.).

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

  • Обычная (полная) архивация (full backup)
    При этом типе архивации создается полная копия всех сохраняемых данных. Процесс создания такой резервной копии достаточно продолжителен, однако требует не так много времени на восстановление, поскольку не требуется выполнять несколько задач восстановления. Полная архивация сбрасывает маркеры архивации файлов и папок, которые используются для определения того, какие файлы следует копировать. Эти маркеры применяются для проверки состояний файлов при добавочной и разностной архивации.
  • Добавочная архивация (incremental backup)
    Этот вид архивации подразумевает копирование файлов и папок, которые изменились со времени создания последней резервной копии. Поэтому, если последовательно выполнить две добавочных архивации и не изменять файл между ними, в образ восстановления он добавлен не будет.
  • Разностная архивация (differential backup)
    Такая архивация включает в себя все изменения, произошедшие в файлах и папках, со времени последней полной архивации. Соответственно, при двух последовательных разностных архивациях файл, который не изменился между ними, но изменился со времени последней полной архивации будет помещен в архив оба раза.

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

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

Поскольку, в основном, виртуальная машина представляет собой папку с файлами, то можно применять встроенные средства резервного копирования хостовой операционной системы, в случае если используется платформа виртуализации поверх хостовой системы такая как, например Microsoft Virtual Server или VMware Server. В Microsoft Windows для этих целей можно применять утилиту ntbackup. При использовании bare-metal платформ (класса «голое железо»), таких как ESX Server или Virtual Iron, необходимо воспользоваться средствами производителя системы виртуализации или продуктами сторонних разработчиков.

Кроме того, резервное копирование виртуальных машин может осуществляться путем создания образов гостевых систем с помощью программного обеспечения, такого как Acronis True Image. Стоит отметить также, что бывают ситуации, когда необходимо осуществить архивацию не всей виртуальной машины, а некоторых данных в гостевой системе. В этом случае, при написании пакетных сценариев архивации можно использовать утилиты для монтирования виртуальных дисков в хостовую систему. Для платформ VMware такой утилитой является приложение VMware Disk Mount.

Архивация и восстановление виртуальных машин на платформе VMware ESX Server

Пилотный продукт компании VMware, платформа ESX Server, является ключевым элементом виртуальной инфраструктуры в производственной среде предприятия. Виртуальная инфраструктура VI3 (Virtual Infrastructure 3) представляет собой совокупность продуктов и средств, позволяющих парку виртуальных машин эффективно выполнять свои задачи и бесперебойно функционировать в различных условиях, включая такие форс-мажорные факторы как резкие всплески нагрузки, отключение питания и порча оборудования. Одним из самых важных средств по реализации стратегии Disaster Recovery является средство резервного копирования VMware Consolidated Backup (VCB). VCB может использоваться для создания резервных копий отдельных ESX-серверов, а также в совокупности со средством управления парками виртуальных серверов VMware Virtual Center. VCB предоставляет реализует следующие возможности:

  • создание архивных копий виртуальных машин с различным типом архивации посредством специального прокси-сервера VCB Proxy Host, который снимает нагрузку по созданию резервных копий с production-сервера компании, где запущены виртуальные машины
  • не требует установки дополнительных агентов на ESX-серверы
  • предоставляет широкие возможности по интеграции с продуктами сторонних производителей средств резервного копирования, поддержка различных пакетов уже встроена в VCB
  • поддерживает архивацию на уровне файлов для гостевых систем Windows (можно создавать архивные копии отдельных файлов и папок внутри гостевой системы), а также архивацию на уровне образов виртуальных машин для любых гостевых ОС

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

Процедура копирования виртуальных машин с помощью VCB
Процедура копирования виртуальных машин с помощью VCB

Созданные в процессе работы снимки состояний виртуальных машин с помощью агента, расположенного на прокси-сервере VCB сохраняются на резервном носителе, откуда затем могут быть восстановлены в случае сбоя запущенной гостевой системы или порчи оборудования. В этом случае, бэкап-агент имеет прямой доступ к логическим единицам LUN (Logical Unit Number) в устройствах SAN. Для сетей SAN средства VCB поддерживают протокол Fibre Channel, а также ленточные носители для сохранения архивных копий. VCB тесно использует возможности VMware Tools, запущенных внутри гостевой системы, для создания резервных копий данных гостевой ОС.

VMware Consolidated Backup на данный момент поддерживает следующие пакеты (список включает в себя только официально оттестированное ПО с продуктом ESX Server):

  • Symantec Backup Exec 10.0
  • Symantec Backup Exec 10d
  • Veritas Netbackup 5.0
  • Veritas Netbackup 5.0 MP4
  • Veritas Netbackup 5.1
  • Veritas Netbackup 5.1 MP2
  • Veritas Netbackup 5.1 MP3
  • Veritas Netbackup 6.0
  • Tivoli Storage Manager v 5.2.1
  • Tivoli Storage Manager v 5.2.3
  • Tivoli Storage Manager v 5.3
  • EMC Networker v 7.0
  • EMC Networker v 7.1.x
  • EMC Networker v 7.2
  • EMC Networker v 7.3
  • CA BrightStor ARCServe r11
  • CA BrightStor ARCServe r11.1
  • CA BrightStor ARCServe r11.5
  • Commvault Galaxy v 5.9
  • Commvault Galaxy v 6.1

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

  1. Программное обеспечение для создания резервных копий запускает сценарий подготовки к архивации, который выполняет следующие задачи:
    • убеждается в том, что внутри гостевой системы не происходят операции чтения-записи в сохраняемые папки и файлы (только для гостевых ОС Windows)
    • переключает виртуальную машину в режим «снапшота», создает снимок состояния виртуальной машины и делает его доступным для приложения, использующего VCB
    • монтирует снимок виртуальной машины с SAN на прокси-сервер
  2. Производится создание резервной копии снимка виртуальной машины на уровне образа, либо на уровне файлов и папок гостевой системы (полное, разностное или инкрементальное копирование).
  3. ПО для архивации вызывает post-backup сценарий, который завершает резервное копирование (демонтирует снимки виртуальных машин с прокси-сервера и выводит виртуальную машину из режима снимка).

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

Структура решения VMware Consolidated Backup
Структура решения VMware Consolidated Backup

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

Резервное копирование с помощью Vizioncore esxRanger

Продукт esxRanger компании Vizioncore, контролируемой сейчас компанией Quest Software, на данный момент является одним из самых популярных решений для создания архивных копий виртуальных машин на платформе ESX Server. esxRanger не требует установки никаких дополнительных агентов на серверы ESX и создает архивные копии виртуальных машин с одного сервера либо группы серверов за счет интеграции с продуктом Virtual Center. Процесс создания резервных копий происходит на одном Windows-сервере, откуда архивные образы виртуальных систем могут быть сохранены на различных устройствах хранения в производственной среде организации.

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

Главное окно esxRanger
Главное окно esxRanger

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

esxRanger интегрируется с VMware Consolidated Backup при использовании в сетях хранения данных SAN и позволяет создавать полные или дифференциальные копии виртуальных машин, а также отдельных файлов и папок в гостевых ОС Windows. Кроме того, в процессе резервного копирования esxRanger собирает различную информацию о метриках архивации (таких как время, затраченное на архивацию и восстановление), хранит ее в базе данных и позволяет использовать ее для построения трендов стратегии Disaster Recovery. В дополнение к этому, esxRanger имеет механизм политик, которые позволяют строить стратегию архивации данных на основе шаблонов и интегрировать его с другими компонентами ИТ-инфраструктуры организации, максимально снизив загрузку системных администраторов.

Процедура резервного копирования с помощью esxRanger выглядит так:

  1. Создается точка сохранения виртуальной машины и сохраняется в базе данных.
  2. При помощи VMware API происходит «разлочка» файлов виртуальных дисков на чтение (по умолчанию они заблокированы) и создание .REDO файлов, которые будут хранить изменения виртуальных дисков с момента точки сохранения.
  3. Файлы виртуальных дисков сжимаются.
  4. Происходит резервное копирование сжатых файлов и применение .REDO файлов к VMDK файлам виртуальных машин.
  5. После того, как изменения будут применены, VMDK файлы возвращаются в исходное заблокированное состояние.
  6. Системный администратор добавляет комментарии к архивным копиям виртуальных машин, содержащие указания на случай сбоя виртуальных машин.

В целом, esxRanger является удобным, надежным и простым в использовании средством создания архивных копий виртуальных машин в Virtual Infrastructure 3, которое обладает возможностями интеграции с VMware Consolidated Backup, что позволяет использовать его в сетях хранения данных SAN компаний любого масштаба.

Создание резервных копий виртуальных машин на платформе Microsoft Virtual Server

К сожалению, компания Microsoft, являющая владельцем и разработчиком продукта для виртуализации серверов Virtual Server 2005, не предоставляет пользователям столь мощного средства резервного копирования и восстановления, как VMware Consolidated Backup. В данный момент, Microsoft сосредоточилась, в основном, на разработке встроенной в следующую версию платформы Windows Server поддержки виртуализации на основе гипервизора под кодовым названием Viridian. Однако Microsoft постоянно откладывает дату окончательного релиза Windows Virtualization, а также урезает его анонсируемые возможности, поэтому сейчас трудно что-то определенное сказать о возможностях резервного копирования в готовящейся платформе виртуализации. С достаточно большой вероятностью можно сказать, что встроенная поддержка «живой» архивации будет, однако неясно пока в каком виде. На сегодняшний день, резервные копии виртуальных машин в Virtual Server могут быть созданы «двумя с половиной способами», включающими в себя:

  • использование стандартных средств резервного копирования образов операционных систем, которые могут быть созданы агентами, работающими внутри гостевых систем, например, Symantec Backup Exec.
  • написание специализированные скриптов, которые сохраняют состояние виртуальной машины, копируют ее данные на резервный носитель и запускают виртуальную машину снова
  • применение служб теневого копирования тома (Volume Shadow Service, VSS), поддержка которых в Virtual Server появилась совсем недавно и пока не поддерживается производителями систем резервного копирования данных

Для того чтобы произвести архивацию запущенных виртуальных машин на платформе Virtual Server можно использовать ее COM-интерфейс, написав сценарий, к примеру, с помощью Visual Basic Scripting (vbs). При создании резервной копии виртуальной машины необходимо сначала перевести ее в сохраненное состояние (Saved State), затем скопировать ее файлы в заданное место и, после этого, снова запустить ее. Ниже приведен пример скрипта на vbs, который делает эти необходимые действия для копирования одной виртуальной машины. Его можно запускать по расписанию с помощью стандартного планировщика задач Windows.

' backupvm.vbs
' автор: John Savill
' использование : backupvm.vbs

Option Explicit
On Error Resume Next

Dim objFSO, objVirtualServer, objVM, objSaveTask, objVHD

'Соединение с объектом файловая система
set objFSO=CreateObject("Scripting.FileSystemObject")

'Соединение с Virtual Server
set objVirtualServer = CreateObject("VirtualServer.Application")

'Поиск виртуальной машины
set objVM = objVirtualServer.FindVirtualMachine(WScript.Arguments(0))

'Сохранение состояния виртуальной машины
set objSaveTask = objVM.Save

'Пауза для выполнения операции сохранения
while not objSaveTask.isComplete
    WScript.Sleep 1000
wend

'Копирование виртуальных дисков и UNDO-дисков
for each objVHD in objVM.HardDiskConnections
    If objFSO.FileExists(objVHD.HardDisk.file) Then
        'Wscript.Echo objVHD.HardDisk.file & " " & WScript.Arguments(1)
        objFSO.CopyFile objVHD.HardDisk.file, WScript.Arguments(1)
    End If
    If objFSO.FileExists(objVHD.undoHardDisk.file) Then
        'Wscript.Echo objVHD.undoHardDisk.file & " " & WScript.Arguments(1)
        objFSO.CopyFile objVHD.undoHardDisk.file, WScript.Arguments(1)
    End If
Next

'Копирование vsv и vmc файлов
objFSO.CopyFile objVM.File, WScript.Arguments(1)
objFSO.CopyFile objVM.SavedStateFilePath, WScript.Arguments(1)

'Запуск виртуальной машины
objVM.Startup

Этот скрипт необходимо использовать следующим образом:

C:\temp>cscript backupvm.vbs <имя виртуальной машины> <диск:\путь_сохранения>

Нужно отметить, что компания Microsoft официально не поддерживает такой процесс создания резервных копий, поскольку целостность виртуальной машины, скопированной в сохраненном состоянии, может быть нарушена из-за того, что часть ее памяти не сохраняется в этом случае в файлах vsv и vhd.

Использование службы Volume Shadow Service

Поддержка служб VSS появилась в недавно вышедшем релизе Virtual Server 2005 R2 SP1. Использование служб теневого копирования в Virtual Server предполагает создание резервных копий запущенных виртуальных машин за счет создания образов, что должно существенно упростить и ускорить процедуру резервного копирования и восстановления. Однако недостаточно, чтобы программное обеспечение для резервного копирования поддерживало VSS, необходимо также, чтобы оно поддерживало еще и новый Virtual Server VSS Writer Service (VS Writer), обнаружить поддержку которого, на данный момент, не удалось ни у одной из систем архивации. В соответствии с информацией Microsoft, средства резервного копирования могут использовать VS Writer для архивации и восстановления виртуальных машин следующим образом: они нотифицируют Virtual Server о том, что процесс архивации начался, Virtual Server отвечает на это созданием снимка виртуальной машины, после чего начинается процесс копирования. На данный момент утилита NTBackup также не поддерживает этот механизм.

Резервное копирование виртуальных машин Xen

Компания XenSource, занимающаяся поддержкой Open-Source проекта Xen, а также распространением коммерческой платформы виртуализации XenEnterprise, предлагает не так много вариантов архивации виртуальных машин на платформе Xen. Один из них приведен ниже с использованием устройств хранения данных в файловой системе NFS (Network File System).

Исходная информация:

  • Хост XenServer (в примере процедуры бэкапа его IP 192.168.1.10)
  • Компьютер, используемый в качестве сервера хранения архивных копий (в примере его IP 192.168.1.1)
  • Виртуальная машина XenVM (в примере ее IP 192.168.1.12)

Процедура резервного копирования:

  1. Установите NFS сервер путем добавления в файл /etc/exports следующей строчки:
    / *(rw,sync,no_root_squash)
  2. На хосте XenServer пропишите в файл /etc/xen/xmexample1 следующее:
    kernel /boot/xenkernel
    name = "ExampleDomain"

    vif = [ '' ]

    root = /dev/nfs

    nfs_server = '192.168.1.1'
    nfs_root = '/ ip=192.168.1.10:192.168.1.1:192.168.1.1:255.255.255.0:::'
  3. Сохраните копию файла /etc/fstab и добавьте в него следующие строчки:
    192.168.1.1:rootdevice / nfs rw,hard,intr 1 1
    192.168.1.1:swapdevice swap swap defaults 0 0
    192.168.1.1:usrpartition /usr nfs rw,hard,intr 1 1
    192.168.1.1:varpartition /var nfs rw,hard,intr 1 1
    none /dev/pts devpts gid=5,mode=620 0 0
    none /proc proc defaults 0 0
  4. Скопируйте /lib/modules/2.6.16.29-xen с хоста XenServer на устройство резервного копирования
  5. Выполните следующую команду на сервере архивных копий:
    #scp 192.168.1.10:/lib/modules/2.2.16.29-xen /lib/modules/
  6. Для активации консоли, используя udev, выполните следующие команды на сервере архивных копий:
    mkdir /tmp/dev
    mount --move /dev /tmp/dev
    sbin/MAKEDEV null console zero
    mount --move /tmp/dev /dev
  7. Выполните следующую команду для монтирования устройства резервного копирования на хост Xen:
    #xm create -c xmexample1
  8. Сохраните резервную копию файла xenstore-ls и скопируйте содержимое файловой системы (за исключением директорий /proc и /sys) в другую папку:
    #rsync -a -e ssh --exclude='/proc/*' --exclude='/sys/*' 192.168.1.10:/ /backupdir

Заключение

Составление и реализация плана резервному копированию и восстановлению после сбоев (Disaster Recover Plan) наиболее важных серверов и рабочих станций организации является необходимой составляющей ее деятельности. Виртуальные машины, даже больше чем физические, требуют высокого внимания к архивации данных, поскольку обычно несколько виртуальных систем консолидировано на одном физическом хосте. Ведущие производители платформ виртуализации стремятся к тому, чтобы предоставить мощные и удобные средства резервного копирования, однако на данный момент это удалось только компании VMware. Стратегию резервного копирования можно проводить двумя способами: один из самых простых путей, делать это в рамках стандартной стратегии по архивации данных в ИТ-инфраструктуре компании, за счет установки в гостевых системах агентов резервного копирования и создания образов. Другой, более удобный и быстрый путь — использование встроенных средств платформ, таких как VMware Consolidated Backup или написание скриптов системными администраторами. В любом случае, никогда нельзя забывать, что отказ оборудования или иные форс-мажорные обстоятельства не должны существенно влиять на критически важную деятельность компании.






Дополнительно

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.