Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #89, МАЙ 2006 г.

Искусство виртуализации

Евгений Зобнин aka j1m

Хакер, номер #089, стр. 089-094-5


Теперь на примере установки некой абстрактной ОС рассмотрим возможности qemu. Для начала нам нужно создать виртуальный жесткий диск. Это можно сделать двумя способами: командой dd заполнить файл нулями, взятыми из /dev/zero, либо командой qemu-img. Второй способ более правильный и простой - его и рассмотрим. Создадим винт размером в 1 Гб:

# qemu-img create disk.img 1G

Также нам необходим ISO-образ, содержащий инсталлятор ОС (его легко извлечь с компакт-диска: "dd if=/dev/cdrom of=cd.iso conv=noerror"). Теперь запускаем qemu такой командой:

# qemu -hda disk.img -cdrom cd.iso -boot d -monitor stdio

Аргумент '-hda' задает наш виртуальный винт, '-cdrom' указывает на образ компакт-диска, '-boot d' - на загрузку с компакт-диска (возможен один из трех вариантов: a, b или c, то есть флопик, жесткий диск или CD-ROM), '-monitor stdio' предоставляет доступ к управляющей консоли qemu.

Если все сделано правильно, то должно открыться окно qemu, в котором начнется загрузка инсталлятора ОС (или самой ОС, если это LiveCD), ну а далее следует установить ОС обычным способом. Если операционка попросит второй установочный диск, то его легко подсунуть, набрав две команды в консоли qemu:

> eject cdrom

> change cdrom cd2.iso

По окончании установки перезапускаем qemu командой и радуемся новой ОС:

# qemu -hda disk.img -monitor stdio

Кстати, можно обойтись и без образа жесткого диска, указав реальный:

# qemu -hda /dev/hda -monitor stdio

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

# qemu -snapshot /dev/hda -monitor stdio

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

К сожалению, в рамках данной статьи нереально раскрыть всех возможностей qemu, таких как организация сетевого соединения, встроенный SMB-сервер, запуск бинарных файлов других архитектур или сохранение состояния виртуальной машины.

INFO

Сегодня в состав любого популярного дистрибутива Linux по умолчанию входит Xen.

Назад на стр. 089-094-4  Содержание