Настройка KVM под Ubuntu Server 10.04 LTS. Часть 4 – Управление гостевыми системами

Управление виртуальными машинами

Из командной строки

Вы можете управлять вашими виртуальными машинами из командной строки используя virsh. Вы можете получить список доступных команд если наберете «help». Наберите «help command» чтобы получить дополнительную информацию о конкретной команде.

Создание новых виртуальных машин

Перед тем как вы сможете управлять вашей новой виртуальной машиной, вы должны создать ее:

Обратите внимание, что для того чтобы увидеть в списке машину newvm, вы должные использовать ‘list —inactive’ или ‘list —all’, так как команда list без параметров показывает список только запущенных в настоящее время машин.

Список виртуальных машин

Virsh позволяет вам получить список доступных виртуальных машин:

Определение, удаление определения, запуск, выключение и уничтожение виртуальных машин

Виртуальные машины, которые можно увидеть с помощью команды list —all — это машины которые «определены» из XML-файла. Каждая виртуальные машина конфигурируется с помощью XML файла в директории /etc/libvirt/qemu. Если вы желаете удалить виртуальную машину из списка виртуальных машин, вам необходимо удалить ее определение:

Для того чтобы можно было удалить определение виртуально машины, вам для начала нужно ее выключить:

Это команда запрашивает мягкое выключение (аналогично выполнению shutdown в командной строке).

Примечание: Ubuntu 10.04 server не имеет установленного по умолчанию acpid. Этот пакет необходимо установить в гостевую операционную систему перед тем как она будет принимать любые запросы от хостовой системы.

Вы так же можете использовать «destroy», команда более нагло выключает виртуальную машину, аналогично выдергиванию шнура питания:

Если вы сделали изменения в конфигурационном XML-файле, вам необходимо попросить KVM перезагрузить его и перезапустить виртуальную машину:

Затем перезапустить виртуальную машину:

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

Virsh позволяет вам легко ставить на паузу и восстанавливать виртуальные машины.

Редактирование свойств виртуальных машин

libvirt хранит их конфигурационные файлы как xml в ‘/etc/libvirt/qemu’. xml легок для понимания, и аналогичен файлам VMware *.vmx. Если желаете, то можете редактировать эти файлы и перезапускать libvirt-bin для того, чтобы изменения вступили в силу, но рекомендованный метод изменения свойств виртуальной машины с помощью virsh (или virt-manager, если он поддерживает свойства аппаратной части, которые нужно править). Концепция проста::

  1. экспортируйте (aka ‘dump’) xml-описание виртуальной машины, которую вы желаете поправить
  2. отредактируйте xml
  3. импортируйте (aka ‘define’) xml

К примеру, для того что бы отредактировать машину с именем ‘foo’ (вы можете получить список виртуальных машин с помощью команды ‘virsh list —all’), сделайте следующее:

Добавление процессоров

KVM позволяет вам создатвать многопроцессорные гостевые машины. Для выделения двух CPUs виртуальной машине, экспортируйте xml как описано выше, затем отредактируйте его чтобы получилось:

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

Adding Memory

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

Теперь импортируйте xml. Помните, что память выделяется в килобайтах, таким образом для выделения 512Мб памяти укажите 512 * 1024, или 524288.

Изменение модели сетевой карты

kvm и qemu сейчас по умолчанию использует rtl8139 NIC. Поддерживаемые модели в i82551, i82557b, i82559er, ne2k_pci, pcnet, rtl8139, e1000, и virtio. Для использования другой NIC, экспортируйте xml как описано выше, затем отредактируйте файл чтобы получилось:

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

Добавление проброса USB устройств (USB Pass-through)

Ограничения

  • USB protocol 1.1 only
  • Device must be plugged in before KVM starts
  • Apparmor modifications needed

Модификация Apparmor

Для того, чтобы программы получали доступ к usb устройствам apparmor должен быть изменения. Отредактируйте /etc/apparmor.d/abstractions/libvirt-qemu и отредактируйте:

После изменений нужно перезапустить apparmor:

Добавление USB устройств

Для начала найдите Vendor ID и Product ID usb устройства:

В примере Broadcom Corp. Bluetooth Controller имеет вендора и идентификатор продукта соответственно 0a5c и 2110. Это должно быть указано в xml профиле. Это можно сделать с помощью virsh командой edit command.:

Получение новых идентификаторов

Для того, чтобы получить новый mac адрес для вставки в xml файл, используйте команду:

Для получения уникального идентификатор (uuid) для вашего xml-файла, используйте: uuidgen