FastNetMon

Показаны сообщения с ярлыком qemu. Показать все сообщения
Показаны сообщения с ярлыком qemu. Показать все сообщения

вторник, 19 октября 2010 г.

Установка и использование qemu на Debian OpenVZ VPS

Итак, у нас есть 64 битный VPS на OpenVZ, а мы хотим на нем водрузить еще одну ОС, возможно ли это? :) Вполне!

Устанавливаем qemu:
apt-get install -y qemu

Создаем папку для тестов:
mkdir /opt/debian
cd /opt/debian

Скачиваем образ Debian Net Install (32 битный дан ради примера гибкости qemu, 64 битный будет также замечательно работать):
wget http://cdimage.debian.org/debian-cd/5.0.6/i386/iso-cd/debian-506-i386-netinst.iso

Создаем образ диска виртуальной машины:
qemu-img create -f raw /opt/debian/debian5.img 2G

Запускаем (Аккуратно! у меня лимит памяти для qemu стоит в 128 мегабайт!):
qemu -hda /opt/debian/debian5.img -cdrom /opt/debian/debian-506-i386-netinst.iso -boot d -m 128 -vnc :1

"-boot d" означает загрузку с CD-ROM, а "-boot c" с образа жесткого диска.

После этого нам понадобится программа VNC viewer (это нечто в стиле протокола RDP, только для Linux), чтобы увидеть радостный экран начала установки Debian. Обращаю внимание, что VNC соединение никак не защищается и доступно всем подряд, так что надолго его оставлять не рекомендую, также хотелось бы заметить, что в настройках программы нужно выбирать Display 1.

Но фишка в том, что данный вариант у меня не заработал и пришлось скачать готовые qemu образы со стороннего сайта: http://blog.aurel32.net/?p=46 и попробовать их запустить, при этом все заработало на ура (проверял 32 и 64 битные образы Debian Lenny, все работает на ура!). Так что могу констатировать факт, что все работает отлично, за исключением (по каким-то причинам) загрузки с CD.

Вот, что именно я сделал (скачиваем 32 и 64 битные образы для qemu):
cd /opt/debian
wget http://people.debian.org/~aurel32/qemu/i386/debian_etch_i386_small.qcow2
wget http://people.debian.org/~aurel32/qemu/amd64/debian_etch_amd64_small.qcow2

И запускаем 32 битный Debian:
qemu -hda debian_etch_i386_small.qcow2 -boot c -m 128 -vnc :1

Или 64 битный:
qemu-system-x86_64 -hda debian_etch_amd64_small.qcow2 -boot c -m 128 -vnc :1

При эмуляции 64 битных систем будет выдаваться ошибка "Could not open '/dev/kqemu' - QEMU acceleration layer not activated: No such file or directory", но ее можно смело игнорировать.

Заключение: запуск qemu на OpenVZ возможен, но сопряжен с некоторыми проблемами, во-первых, не стоит пытаться включить поддержку kqemu (OpenVZ не поддерживает загрузку модулей ядра), во-вторых, не стоит забывать, что у VPE нету монитора и в качествен него нужно использовать VNC (или подобные технологии), а также стоит быть аккуратнее с настройками сети, не увлекаться с виртуальными бриджами и прочим - OpenVZ это также сделать не позволит.

По большей части основано на: http://phpsuxx.blogspot.com/2009/08/freebsd-72-qemu.html

воскресенье, 23 августа 2009 г.

Установка FreeBSD 7.2 в QEMU

Скачиваем образ первого диска FreeBSD 7.2:


wget -c -O/films/7.2-RELEASE-i386-disc1.iso ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.2/7.2-RELEASE-i386-disc1.iso


Создаем raw раздел (т.к. потом иначе будет проблематично его смонтировать как обычную папку) для установки Фри:

qemu-img create -f raw /films/freebsd72.img 1G


Запускаем инсталляцию Фри:
qemu -hda /films/freebsd72.img -cdrom /films/7.2-RELEASE-i386-disc1.iso -boot d -m 512


Ставим Фрю по принципу "Далее / Далее / Далее".

После завершения установки запускаем Фрю в обычном режиме:
qemu -hda /films/freebsd72.img -m 512

среда, 5 сентября 2007 г.

Виртуализация в openSUSE 10.2 x86_64 c помощью QEMU и kvm, практическая реализация

Установка QEMU

С установкой самого QEMU все достаточно просто, вот, например, отличная ссылка по данной теме: тут. Хотя я сам немного схавлявничал, скачав руками с репозитория файлик qemu-0.8.2-22.x86_64.rpm и поставив его командой
rpm -ihv qemu-0.8.2-22.x86_64.rpm


Для проверки правильности установки можете скачать образ freedos c сайта http://fabrice.bellard.free.fr/qemu/download.html и запустить его командой
qemu-system-x86_64 freedos.img
(ну конечно же на забыв распаковать его из архива).

Стоп, а что если мы работает на платформе x86_64 ? Вот как раз по данному поводу есть небольшая ремарка на сайте с документацией к QEMU (http://fabrice.bellard.free.fr/qemu/kqemu-doc.html#SEC7), а именно: "If you use kqemu on an x86_64 host, you must use `qemu-system-x86_64' instead of `qemu'", так что для всех пользователе 64 битной платформы родной становится программа qemu-system-x86_64, которая при запуска того же freedos конастатирует весьма неприятный факт, kvm отключен "Could not open '/dev/kqemu' - QEMU acceleration layer not activated", но тем не менее продолжает отлично работатать, хоть и медлненней, но это не надолго, сейчас мы решим и проблемы со скоростью.

Установка поддерржки kvm

Вот по данной теме есть две отличные статьи: оригинал, перевод, описывающие установку поддержки kvm посредством рпм пакетов.

Сам настраивал по данным мануалам и хотел бы сделать некоторые добавления, а именно то, что для запуска kvm модулей ядра нужно использовать команды:
modprobe kvm и modprobe kvm-amd (или kvm-intel)
и после этого запускать образы ОС посредством команды
qemu-kvm
которая сразу же проинформирует об ошибке, если не найдет модули kvm.

И все же у меня все ещё остались некоторые вопросы, буду рад если кто-то мне пояснит их - мы установили модули kvm и добились их стабильного функционирования, а тогда что такое модуль ядра kqemu, который цепляется как устройство /dev/kqemu и очень любим приложением qemu-system-x86_64?

Ну вот теперь точно все, приятной Вам виртуализации)

Виртуализация в openSUSE 10.2 x86_64 c помощью QEMU и kvm, введение.

Вы должно быть заметили, что последнее время начался бум всевозможных технологий виртуализации и соответственно самих эмлуяторов (Parallels Desktop, QEMU, Xen, vmware, VirtualBox и проч.) это и не случайно, ведь данные технологии предоставляют невиданые ранее удобства в масштабировании и интеграции всевозможных система, чего только стоят решения vmware для корпоративных клиентов, позволяющие создавать в целые виртуальные вычислительные среды на основе кластеров, причём отдельные элементы этих ВС являются виртуальными машинами, которые могут в случае сбоя одного из элементов кластера (уже физического) быть автоматически перемещены на другой физический сервер.

Также учитывая мощности (зачастую 2х и более ядерных) современных систем можно без проблем держать несколько виртуальных машин на некоторой хост операционной системе, например почтовый сервер от MS или сервер 1С можно спокойно держать в виртуальной машине. У меня собственно необходимость в виртуализации встала, когда потребовалось поставить программы, которые работают либо только под виндовс, либо под дос (да, увы, и такие архаизмы встречаются), а сервера (впрочем, как и рабочие станции, находящиеся в моём распоряжении) работают исключительно на Линуксе.

Для начала краткий экскурс по технологиям.
QEMU is a generic and open source machine emulator and virtualizer.

When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performances.

When used as a virtualizer, QEMU achieves near native performances by executing the guest code directly on the host CPU. A host driver called the QEMU accelerator (also known as KQEMU) is needed in this case. The virtualizer mode requires that both the host and guest machine use x86 compatible processors.

Тут вроде итак все понятно, Qemu представляет собой платформу для эмуляции систем (а также других платформ, например Arm).
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. KVM also requires a modified QEMU although work is underway to get the required changes upstream.

Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

The kernel component of KVM is included in mainline Linux, as of 2.6.20.

KVM is open source software.

Тут, конечно, как в предыдущем случае двумя словами обойтись нельзя, но я постараюсь - kvm представляет собой модули для ядра Линукса, которые позволяют достичь очень высокой производительности виртуальных систем (до 50% мощности хостовой операционной системы).

Для заинтересовавшихся привожу официальные сайты этих проектов:
- QEMU
- kvm

В следующих публикациях будут пошаговые инструкции по конкретной реализации описанных технологий.