среда, 16 октября 2013 г.

Первое знакомство с libvirt на Ubuntu 13.04

Добрый день.

Так как я попал на КИТ от Яндекса, первое домашнее задание связано с libvirt и я решил посмотреть, что это вообще такое, до того, как получу задание и вот моя краткая заметка по установке и созданию ВМ, через GUI и CLI. Все происходит на системе Ubuntu 13.04.



1. Установка libvirt

# sudo apt-get install python-eggtrayicon
# sudo apt-get install libvirt0
# sudo apt-get install python-libvirt
Эти пакеты подтянут все необходимые зависимости.

2. Установка virt-manager

Так же захотелось посмотреть на GUI интерфейс управления libvirt, который называется virt-manager:
# sudo apt-get install qemu-system
# sudo apt-get install virt-manager

При запуске Менеджер виртуальных машин (virt-manager) видим такое сообщение, проверим все пункты:

Ошибки и их возможные решения:

Ошибка 1: The 'libvirt-bin' package is installed

Проверим наличие пакета в системе:
# dpkg -l | grep libvirt-bin

libvirt-bin установлен, идем дальше. Если же пакета нет, то действуем как написано в Решение 1.

Решение 1: Установить пакет libvirt-bin

# sudo apt-get install libvirt-bin

Ошибка 2: The 'libvirtd' daemon has been started

Проверим, запущен ли процесс libvirtd:
# ps aux | grep libvirtd
libvirtd запущен, идем дальше.

Решение 2: Запустим службу libvirtd

# sudo service libvirt-bin start

Ошибка 3: You are member of the 'libvirtd' group

# cat /etc/group | grep libvirtd

Решение 3: Добавим юзера в группу:

# sudo usermod -a -G libvirtd username

Однако ошибка все еще появляется, нужно перезагрузить систему и сообщение об ошибке нас больше не будут волновать.

3. Создание сети libvirt

Для начала создадим новую виртуальную сеть:
Нажмем Правка -> Свойства подключения -> Виртуальные сети -> Добавить сеть (иконка плюса).

Зададим имя сети:

Зададим подсесть:

Выберем диапазон DHCP-сервера:

Теперь зададим пересылать ли пакеты на физическое устройство (какое устройство) и в каком режиме (NAT или bridge):

Посмотрим итоговые сведения полученной сети и нажмем Завершить:


4. Создадим ВМ через GUI

 Для этого нажмем на кнопку "Создать новую виртуальную машину":

В качестве гостевой ОС я буду устанавливать Russian Fedora. В появившемся окне введем название нашей виртуальной машины и выбор установки: Установить с локального носителя (ISO образ или CDROM) и нажмем Вперед.

Теперь нужно выбрать образ системы, я буду устанавливать Fedora 19, но в списке версий ОС ее нет, поэтому выберем Fedora 17.

На шаге 3 нужно выбрать количество ОЗУ и CPU для виртуальной машины и нажать Вперед.

На шаге 4 нас спрашивают о создании диска для виртуальной машины, я создал диск размером 20 Гб.

На последнем, 5-ом шаге нам выводят суммарную информацию и предлагают задать режим сети, тип виртуализации (kvm,qemu), архитектуру (i686, x86_64), микропрограмму (Default, UEFI).

Вот в принципе и все, мы создали виртуальную машину и она создалась, появляется VNC окно:

Выйти из режима захвата мыши можно комбинацией клавиш Ctrl + Alt.

5. Создание ВМ через CLI

GUI - это хорошо, однако не трувей, давайте создадим другую виртуальную машину с помощью CLI.
# virt-install --connect qemu:///system \ # Подключимся к libvirt
> --name "fedora2" \ # Имя ВМ
> --ram 2048 \ # Кол-во RAM
> --arch=x86_64 \ # Архитектура
> --vcpus=2 \ # Кол-во ЦПУ
> --os-type=linux \ # Тип ОС
> --os-variant=fedora17 \ # Версия ОС
> --disk "/var/lib/libvirt/images/fedora2.img",bus=virtio,size=20,format=raw,cache=writeback \ # Диск
> --network network=virt \ # Сеть
> --hvm \ # Аппаратная виртуализаця
> --accelerate \ # Ускоритель для поддерживаемых ОС
> --graphics vnc,listen=127.0.0.1,port=5903 \ # Тип подключения к рабочему столу
> --cdrom "/home/wimbo/Downloads/RFRemix-19-x86_64-netinst.iso" & # ISO-образ

Теперь в Менеджере виртуальных машин видим fedora2:

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

Наиболее частые операции с виртуальными машинами, я опишу в следующей заметке.

Полезные ссылки:

Устаревший ман по libvirt: тыц
Викиучебник: тыц

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

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