Переход на виртуальную среду Linux при помощи Clonezilla

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

Процесс консолидации серверов при помощи виртуализации зависит от начальной позиции:

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

В этой статье мы поговорим о втором варианте — миграции из физической среды в виртуальную (physical-to-virtual migration, P2V).Существует несколько методов, ручных и автоматических, для упрощенияпроцесса миграции P2V. Я расскажу об этих методах и покажу, какпреобразовать физический сервер в виртуальную машину при помощипрограммы клонирования Clonezilla Live.

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

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

Введение в Clonezilla Live

Clonezillaпредставляет собой программу клонирования с открытым исходным кодом(лицензия GPL), подобную Norton Ghost, которую можно использовать дляклонирования отдельных разделов или диска целиком. Существует двередакции продукта: Clonezilla SE (server edition) и Clonezilla Live. Clonezilla SE предназначен для резервного копирования и восстановления множества серверов в сети. Clonezilla Liveпредставляет собой облегченную версию для клонирования отдельных компьютеров.

Версия Clonezilla Live сочетает в себе Debian Live и Clonezilla, она обладает следующими функциями и преимуществами:

  • Клонируются только использующиеся блоки жесткого диска.
  • Поддерживаетсямножество файловых систем и LVM, в том числе ext2, ext3, xfs, jfs иLVM2 в GNU/Linux, FAT, NTFS в Microsoft Windows и HFS+ в Mac OS.
  • В отличие от Clonezilla SE не требуется сервер удаленной бездисковой загрузки Linux (Diskless Remote Boot in Linux, DRBL).
  • Поддерживается загрузка с CD/DVD, USB-дисков и флэш-накопителей, а также по сети с использованием PXE.
  • Имеется возможность настройки процесса загрузки и восстановления.

Для клонирования разделов или дисков Clonezilla Live использует известные утилиты Partition Image, ntfsclone,partclone и dd.Для неподдерживаемых файловых систем Clonezilla выполняет копированиевсех блоков подряд (используемых и неиспользуемых) c помощью dd.

Средства виртуализации и миграции системы

Примиграции физического сервера на виртуальную машину можно столкнуться стакими же ограничениями, как и при переносе системы с одногофизического сервера на другой. Например, невозможно перенести64-разрядную систему на 32-разрядное оборудование. Кроме того, приразвертывании образа Windows на виртуальной машине с большойвероятностью возникнут проблемы с библиотекой аппаратно-зависимогоуровня (Hardware Abstract Layer, HAL).

Дляпереноса системы из физической среды в виртуальную создано множествокоммерческих и бесплатных программ (PlateSpin PowerConvert, VMwareConvert, Microsoft® Virtual Server Migration Tookit и средстваклонирования). Эти средства миграции помогают разрешить потенциальныепроблемы с различиями в оборудовании физического сервера и виртуальноймашины. Одной из их функций является предоставление необходимыхдрайверов для ядра операционной системы и правильная загрузка этихдрайверов во время запуска системы. Разумеется, многие из этих средствP2V содержат больше возможностей, чем необходимо для миграции одногокомпьютера.

VMware Server представляет собойбесплатную закрытую платформу, поддерживающую различные гостевыеоперационные системы (Windows, Linux, Solaris и т.д.) на хостах Linux иWindows. Как полное решение виртуализации, мониторы виртуальных машин(virtual machine monitors, VMM), работающие на гипервизоре,предоставляют виртуальным машинам все доступные типы аппаратныхресурсов, в том числе виртуальную BIOS, виртуальное ОЗУ, виртуальныйконтроллер SCSI, виртуальный сетевой адаптер и т.д. Поскольку гостевыеоперационные системы полностью отделены от физического оборудования, ихможно запускать без изменений.

Теперь давайтерассмотрим миграцию P2V при помощи Clonezilla Live для клонированияобраза ОС Windows на виртуальную машину под управлением VMware Server.

Шаг 1. Клонирование системного раздела

Вначале загрузите физический сервер с Clonezilla Live CD.

Clonezilla поддерживает несколько вариантов загрузки. Например, можно выбрать вариант To RAM (в ОЗУ),чтобы загрузить Debian Live вместе с Clonezilla в оперативную память иосвободить привод CD-ROM для других целей. Выберите вариант поумолчанию и перейдите к настройкам языка и клавиатуры. Оставьтезначение по умолчанию.

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

Теперь появятся два параметра, определяющие тип клонирования:

  • device-device (устройство-устройство) для прямого клонирования устройств.
  • device-image (устройство-образ) для клонирования в образ.

Поскольку мы преобразуем физический компьютер в виртуальную машину, наиболее подходящим вариантом будет device-image.

Затем укажите каталог, куда будет записан образ или из которого он будет восстановлен, как показано на рисунке 1. Параметры ssh-server,samba-server и nfs-serverиспользуются при подключении по сети, когда свободное место или образархива на локальном диске недоступны. В нашем случае мы будемклонировать системный раздел и сохранять его на другой раздел того жежесткого диска. Если вы выберете local_dev (локальное устройство), вы получите возможность указать в качестве хранилища образов USB-устройство.

Рисунок 1. Выбор хранилища образов
Рисунок

Взависимости от того, какие диски подключены — внутренние или внешние(USB), — понадобится указать каталог, который будет связан с хранилищемобразов /home/partimag. Образ представляет собой подкаталог в/home/partimag с информацией об образе и файлами данных. В этом примересистемный раздел /dev/sda1 будет сохранен как образ в /dev/sda5.Соответственно sda5 выбран для монтирования в каталог /home/partimag/,как показано на рисунке 2.

Рисунок 2. Раздел хранения образа
Рисунок

Нарисунке 2 показаны сведения о дополнительных командах монтированияустройства хранения образа, расположение текущей файловой системы иотчет о свободном месте в /home/partimag. Убедитесь в том, что вхранилище образов достаточно свободного места для сохранения данных ссистемного раздела.

Можно указать домашний каталог для образа Clonezilla на устройстве хранения образа, как показано на рисунке 3.

Рисунок 3. Режим Clonezilla
Рисунок

Послеэтого укажите режим использования Clonezilla Live. Можно выбратьсохранение или восстановление диска целиком или отдельных разделов нанем. Для резервного копирования раздела выберите третий пункт saveparts (сохранить раздел).

Послевыбора режима необходимо указать имя образа (Sys01-2009-02-23-img) иисходное устройство (/dev/sda1) для резервного копирования. Наследующих нескольких рисунках показаны дополнительные параметрысоздания образа. Поскольку Clonezilla поддерживает различные типыфайловых систем и интегрирована с такими средствами клонированияразделов, как ntfsclone, partclone, partimage, набор используемыхсредств определяется текущей файловой системой. Оставьте значения поумолчанию, если вы не знакомы с клонируемой файловой системой. Значениепо умолчанию -q (ntfsclone > partimage > dd)наилучшим образом подходит для резервного копирования NTFS-раздела.

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

Рисунок 4. Дополнительные расширенные параметры клонирования Clonezilla
Рисунок

При создании образа Windows-системы параметр -rm-win-swap-hibэкономит время резервного копирования и восстановления, исключаякопирование файлов подкачки и спящего режима. Также рекомендуютсяпараметры -gm или -gs , если необходимо переместить сохраненный образ в другое место и проверить целостность образа перед восстановлением.

Кроме того, в Clonezilla Live можно указать метод сжатия в зависимостиот требований к эффективности и скорости. Некоторые файловые системы неподдерживают файлы размером более 2 ГБ, поэтому имеется возможностьуказать максимальный размер файла, разделив образ на части.

Наконец, при помощи параметра -p можно назначить команду, которая будет выполнена после завершения процесса клонирования.

Когданастройки сделаны, следует проверить их и подтвердить свой выбор.Процессы резервного копирования и восстановления используют утилитуocs-sr. После завершения настройки при помощи GUI-мастера Clonezillaотображается команда ocs-sr с параметрами, которыепотребовались бы, чтобы добиться такого же результата при помощикомандной строки. Мастер также создает временный файл с этой командой,который сохраняется в каталоге /tmp.

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

Шаг 2. Подготовка виртуальной машины

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

Во-первых,запустим New Virtual Machine Wizard (мастер создания новой виртуальноймашины) VMware. Укажите версию операционной системы, использующуюся наклонируемом физическом сервере. Затем необходимо создать виртуальныйдиск равного или большего размера, чем в исходной системе, потому чтоClonezilla не поддерживает восстановление образа на раздел или дискменьшего размера, чем исходный. Однако возможно восстановление на дискбольшего размера в соответствии с разбиением исходного диска.

Рисунок 5. Настройка размера диска виртуальной машины
Рисунок

Примечание:ядро Clonezilla Live может не поддерживать диски SCSI предыдущих версийVMware Server. В этом случае при создании виртуальной машиныиспользуйте диски IDE.

Во-вторых, укажите виртуальному устройству CD-ROM использовать образ ISO Clonezilla Live, как показано на рисунке 6.

Рисунок 6. Использование образа ISO Clonezilla Live в виртуальной машине
Рисунок

В-третьих,поместите файлы образа системы, полученные в предыдущем разделе, навторой диск хост-сервера, раздел 0, диска 1. Поскольку VMware Serverподдерживает прямой доступ к дискам SCSI хоста, добавьте в виртуальноймашине в качестве второго диска подключенный напрямую раздел 0 диска 1.Во время восстановления это устройство будет смонтировано в каталог/home/partimag.

Рисунок 7. Подключение раздела с образом системы
Рисунок

Теперь, когда вы создали компактную виртуальную машину, настало время загрузить ее с образа Clonezilla Live.

Шаг 3. Восстановление образа на виртуальную машину

Послетого как виртуальная машина загрузится с образа Clonezilla Live,появится уже знакомый GUI-мастер восстановления и резервногокопирования, показанный на рисунке 8. пока вы не выберете режим. В этомпримере мы используем для восстановления вручную непосредственнооболочку Clonezilla Live на основе Debian.

Рисунок 8. Оболочка Clonezilla Live
Рисунок

Длявосстановления образа при помощи оболочки Clonezilla Live вы должнывойти в систему в качестве суперпользователя root, как показано влистинге 1; это дает полный доступ к Clonezilla.

Листинг 1. Входим в систему от имени root

user@debian:~$ sudo su -
debian:~#

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

Листинг 2. Просмотр информации о дисках

debian:~# fdisk -l
Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesnt contain a valid partition table

Disk /dev/sdb: 160.0 GB, 160039272960 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa0bea0be

Device Boot Start End Blocks Id System
/dev/sdb1 1 19457 156288321 7 HPFS/NTFS

/dev/sda — этовиртуальный диск, который мы создали как целевой для восстановления, онне форматирован. /dev/sdb — это физический диск 1 на хост-сервере,который напрямую подключен к виртуальной машине как устройство SCSI, нанем находится образ клонированной системы.

Длявосстановления образа раздела целевой диск должен отображаться вClonezilla как форматированный. Для записи метки на виртуальный дискможно использовать команду fdisk. Соответствующие команды показаны в листинге 3.

Листинг 3. Форматирование целевого диска

# fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xee2955bc.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content wont be recoverable.

The number of cylinders for this disk is set to 5221.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help):
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-5221, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-5221, default 5221):
Using default value 5221

Command (m for help):
Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
[ 866.679048] sd 0:0:0:0: [sda] 83886080 512-byte hardware sectors (42950 MB)
[ 866.682658] sd 0:0:0:0: [sda] Write Protect is off
[ 866.683795] sd 0:0:0:0: [sda] Cache data unavailable
[ 866.683822] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 866.686443] sda: sda1
[ 866.695530] sd 0:0:0:0: [sda] 83886080 512-byte hardware sectors (42950 MB)
[ 866.698278] sd 0:0:0:0: [sda] Write Protect is off
[ 866.699422] sd 0:0:0:0: [sda] Cache data unavailable
[ 866.699495] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 868.702058] sda: sda1
Syncing disks.

Можноиспользовать значения по умолчанию из листинга 3. В данный момент типраздела не имеет значения, потому что во время восстановленияClonezilla создаст его заново.

Как и во время процедурырезервного копирования, необходимо смонтировать устройство свозможностью записи в каталог /home/partimag, в котором Clonezillaбудет искать каталог с образом для восстановления. Чтобы подготовитьвосстановление из образа в разделе /dev/sdb1 на новый раздел /dev/sda1,вначале смонтируйте /dev/sdb1 в каталог /home/partimag с правами назапись. Обратите внимание, что в данном случае /dev/sdb1 являетсяфайловой системой NTFS на хост-сервере, которая может быть открыта,поэтому для успешного монтирования может понадобиться параметр force.См. листинг 4.

Листинг 4. Монтирование устройства с образом в каталог /home/partimag

debian:~# mount -t ntfs-3g /dev/sdb1 /home/partimag -o force
debian:~# ls /home/partimag
Sys01-2009-02-23-img

Когда/home/partimag и целевой раздел готовы, укажите лучший способвосстановления образа для вашей среды. Как и при резервном копировании,Clonezilla предоставляет множество дополнительных гибких параметров длявосстановления образа. На рисунке 9 показаны параметры восстановления иих значения.

Рисунок 9. Расширенные дополнительные параметры восстановления Clonezilla
Рисунок

Привосстановлении системного образа Windows на целевой диск необходимозаписать загрузочный сектор. Для этого используйте параметры -j0 (использовать dd для создания таблицы разделов) и -t1 (клиент восстанавливает предварительно созданную MBR из syslinux). Параметр hnX PC (Xравен 0 или 1) гарантирует создание уникального имениWindows-компьютера. Если необходимо изменить текущие расположениецелевого раздела, можно использовать параметр -k1 или другие параметры настройки разделов для создания другой таблицы разделов.

Влистинге 5 приведена команда восстановления образа Sys01-2009-02-23-imgиз каталога /home/partimag (/dev/sdb1) на целевое устройство /dev/sda1.

Листинг 5. Использование командной строки для восстановления образа

debian:~# /opt/drbl/sbin/ocs-sr -e1 auto -c -t1 -r -j3 -cm -j0 -p reboot restoreparts
Sys01-2009-02-23-img sda1

На рисунке 10 показаны итоговая информация и процесс выполнения команды. Теперь на виртуальной машине создан клон системы.

Рисунок 10. Итоговая информация и процесс восстановления Clonezilla
Рисунок

Послезавершения восстановления можно запустить систему на виртуальноймашине. Для увеличения производительности установите на виртуальнуюмашину VMware Tools.

Заключение

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

Советы по Clonezilla

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

  1. Убедитесь, что в хранилище образов достаточно свободного места для сохранения данных в разделе.
  2. Можно разделить образы на несколько частей, чтобы обойти ограничение на максимальный размер файла.
  3. Clonezilla не поддерживает восстановление образа на раздел или диск меньшего размера, чем исходный.
  4. Если Clonezilla Live не поддерживает диски SCSI данной версии VMware, используйте при создании виртуальной машины диски IDE.
  5. Для восстановления образа в оболочке Clonezilla Live вам необходимо войти в систему в качестве суперпользователя root.
  6. Длявосстановления клонированного образа раздела целевой виртуальный дискдолжен отображаться в Clonezilla как отформатированный.
  7. Для успешного переноса ОС Windows® вам понадобятся знания о HAL и средства, подобные sysprep.