Страницы

Сохранить статью у себя в соцсети:

среда, 20 июня 2012 г.

§ Starting VM? There is nothing easier!

Пример запуска виртуальной машины.

Описываю способ как запустить машину без использования вспомогательных средств-прослоек (libvirt, virt-manager, virsh). Это универсальный способ и работает везде. Консоль наше всё!
Из примера я убираю опциональные параметры, чтобы они не вносили путаницы на начальном этапе. О них в другой раз.
Для запуска виртуальной машины необходимы:
  1. общее описание виртуальной машины;
  2. возможность доступа извне;
  3. ресурсы:
    • память;
    • процессор;
    • диск;
    • сеть;
Общие параметры: 
Запускаемую виртуальную машину желательно отправить работать в фон "-daemonize" и конечно же следует включить поддержку KVM виртуализации "-enable-kvm
Для доступа к виртуальному экрану можно использовать VNC. Возможность подключения  реализуется через параметр "-vnc 1.2.3.4:1". После запуска к виртуальной машине можно подключиться любым VNC-клиентом к адресу 1.2.3.4 на порт 5901.
Ресурсы:
За объем виртуальной памяти отвечает параметр "-m 2048". Количество виртуальных процессоров устанавливается через "-smp 4". Если есть необходимость загрузить виртуальную машину с CD-ROM, указываем соответствующую опцию с указанием имени iso-образа "-cdrom file.iso"
Теперь более сложные параметры: подключение диска и сетевой карты.
Диск виртуальной машины требует для себя файл-образ или блочное устройство. При создании блочного устройства в последних версиях qemu, сначала определяется диск, затем определяется драйвер для диска. Особе внимание следует уделить связке подпараметров id и drive их аргумент взаимосвязаны и используется в качестве идентификатора при назначении драйвера для блочного устройства:
-drive file=/dev/vstorage00/kvm799-sda,if=none,index=0,id=disk7990 \
-device virtio-blk-pci,drive=disk7990

Виртуальная сетевая карта (будем использовать tap-интерфейс, он обеспечивает быструю производительность и все возможности которые предлагает сетевое окружение) также создается по двухуровневому принципу, сначала определяем карту, затем указываем используемый драйвер. Здесь также следует уделить внимание связке id и netdev, значение параметра затем указывается при определении драйвера. И чтобы указать сам интерфейс, используем "ifname" где в качестве аргумента мы указываем сетевой интерфейс на хост системе. Интерфейс на хост-системе должен быть заранее создан. При определении драйвера, также следует указать произвольный MAC-адрес:
-netdev tap,ifname=qtap799,id=qtap799,script=no,downscript=no \
-device virtio-net-pci,netdev=qtap799,mac=00:fc:44:e5:07:99 

Таким образом, из небольших кусочков сформировалась команда для запуска виртуальной машины:
/usr/bin/qemu-system-x86_64 -daemonize -enable-kvm -vnc 172.31.1.254:1 \
-m 2048 -smp 4 \
-cdrom /var/db/images/install-amd64-minimal-20120401.iso \
-drive file=/dev/vstorage00/kvm799-sda,if=none,index=0,id=disk7990 \
-device virtio-blk-pci,drive=disk7990 \
-netdev tap,ifname=qtap799,id=qtap799,script=no,downscript=no \
-device virtio-net-pci,netdev=qtap799,mac=00:fc:44:e5:07:99 
На это все. Запуск машины можно проверить через "ps aux |grep qemu

Смотрите также "Создание сети для виртуальных машин"
На главную "Аппаратная виртуализация"

Комментариев нет:

Отправить комментарий

Популярные сообщения

Профиль в Google+ Яндекс цитирования Яндекс.Метрика