Как-то вдруг понадобилось для некоторых моментов залить топлива в какой-нибудь виртуализатор. Сразу вспомнились древние времена с Vmware, смутно - игры с QEMU и недавнее удовольствие от морды VirtualBox.
Вспомнил про новость о том, что теперь прямо в ядро влили KVM (Kernel-based Virtual Machine) - модуль, который позволяет запускать виртуальные машины на процессорах с поддержкой KVM. Процессор у меня вроде не такой и старый, так что стоит посмотреть что он там умеет.
Требования к ядру? 2.6.16 и выше для AMD и 2.6.15 для Intel. Но для версий ранее 2.6.20 придется собирать модуль отдельно, в то время как в 2.6.20 он уже является частью ядра.
Как написано в документации по KVM, проверить поддержку нужной системы команд можно так:
egrep '^flags.*(vmx|svm)' /proc/cpuinfo
Если на экране хоть какой-то результат - можно читать дальше, что-то у вас нашлось и это не заразно.
Для начала неплохо бы поставить userspace (сама оболочка, маны, конфиги) для модуля:
apt-get install kvm
А вот теперь самое интересное. Любой из упомянутых выше виртуализаторов требует отдельной компиляции модуля для адаптации его под ядро. В случае с KVM этого не требуется, модуль уже собран для вас вместе с ядром. Если вы любите собирать ядра вручную, то и небольшой модуль вас не затруднит включить.
gpasswd -a mebius kvm
modprobe kvm
Первая команда дает мне право писать в создаваемый файл устройства /dev/kvm, а вторая загружает модуль. Если это необходимо, то можете внести этот модуль в список загружаемых по умолчанию.
Как я далее понял, KVM сделан из QEMU, но без старшего брата обойтись не получится и поставить его придется.
apt-get install qemu
qemu-img create -f vmdk hda.vmdk 3G
Вторая команда создает образ в файле hda.vmdk размером 3Gb. С ключом -f можно играть, вкурив в манах какой именно формат подойдет вам.
Можно запускаться:
kvm -cdrom /mnt/sda6/ubuntu.iso -boot d -hda /home/mebius/hda.vmdk -m 128 -localtime
Даже ключи KVM такие же, как и в QEMU, что не может не радовать. Ключи можно подсмотреть в man, но вкратце:
-m 128 - 128Mb памяти
-boot d - пока грузимся с образа диска
Конечно же в качестве привода можно использовать реальное устройство, но мой вам совет - не поленитесь, сделайте образ. Продлите жизнь и приводу и сэкономите кучу времени на установке ОСи.
И работает же! На мой взгляд довольно шустро и вполне сравнимо со своими закрытыми собратьями. Файл со всей виртуальной машиной лежит в отдельном файле, который можно переносить на любом устройстве, бэкапить и восстанавливать бесконечное число раз.
В виртуальной машине по умолчанию есть сеть и хост-машина получает адрес 10.0.2.2, так что по той же SAMBA или через FTP можно настроить взаимоотношения.
Так что теперь линуксоиды получили беспроблемный виртуализатор, для которого не будет больше вопросов с модулями ядра и который будет фактически родным для всей системы. Правда для этого нужно иметь в наличии более-менее современный процессор с поддержкой виртуализации и ядро 2.6.20 и выше.
Подробнее можно прочитать по адресу:
www.ibm.com/...