Базовая настройка виртуализации KVM с OvS на CentOS 7
Руководство по настройке KVM виртуализации на CentOS 7 с программным коммутатором Open vSwitch
Установка Open vSwitch
Open vSwitch — программный многоуровневый коммутатор с открытым исходным кодом, предназначенный для работы в гипервизорах и на компьютерах с виртуальными машинами.
Имея один активный физический интерфейс на сервере, базовая конфигурация Open vSwitch будет выглядеть следующим образом:
Добавляем бридж и в него добавляем наш физический интерфейс:
1 | ovs-vsctl add-br ovs-br0 |
Проверяем:
1 | # ovs-vsctl show |
Вносим изменения в настройки интерфейсов:
/etc/sysconfig/network-scripts/ifcfg-eno1
1 | TYPE=OVSPort |
/etc/sysconfig/network-scripts/ifcfg-ovs-br0
1 | DEVICE=ovs-br0 |
Перезагружаем сеть.
1 | systemctl restart network.service |
Установка представлена в статье Установка OpenvSwitch в CentOS
Установка необходимых пакетов и инструментов виртуализации
1 | yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install |
Создаем каталог для хранения образов виртуальных серверов и образов ОС:
1 | mkdir /home/vm |
Для удобства я использую симлинки в директорию пользователя:
1 | cd /var |
А также создаем отдельную папку под конфигурацию:
1 | mkdir /home/config |
Создание виртуального сервера
Создаем тестовый сервер с настройками по умолчанию. Не забываем загрузить образ системы, которую будем устанавливать.
1 | virt-install |
Команды можно вводить одной строкой.
1 | virt-install --network network=default --name TestVM --ram=1024 --vcpus=1 --disk path=/var/vm/testvm.img,size=20,format=qcow2 --graphics vnc,password=password --cdrom /var/iso/CentOS-7-x86_64-Minimal-1511.iso --boot cdrom,hd,menu=on |
Базовые параметры:
--network network=default
: Подключаем виртуальный сервер к виртуальной сети с именем default
--name
: Указываем имя виртуального сервера--ram=
: Указываем размер выделяемой оперативной памяти для сервера--vcpus=
: Указываем количество процессоров которое выделяем для сервера--disk
: Указываем расположение, формат и размер виртуального диска--graphics vnc,password=password
: Указываем пароль и возможность подключатся к терминалу виртуального сервера через VNC--cdrom
: Указываем расположение образа с которого будем устанавливать систему--boot
: Указываем что подключено при загрузке
После запуска можем наблюдать приблизительно следующую информацию:
1 | Запуск установки... |
В настройках при создании сервера мы указали что можем подключатся к терминалу через VNC ключом --graphics vnc,password=password
. Подключаемся. Узнать порт, который был назначен виртуальном серверу можно командой:
1 | virsh vncdisplay TesVM |
Порт VNC как правило 5900+0=5900
. Если результат предыдущей команды был 127.0.0.1:1
, то порт VNC будет 5901
. И так далее..
Подключаться к порту необходимо по IP хост-сервера.
В случае успешной установки ОС, в консоли хоста наблюдаем следующие сообщения:
1 | Работа домена завершена. Продолжение... |
Настроить libvirt для работы с OvS можно только через редактирование конфигурационного XML виртуального сервера.
1 | virsh edit <vm> |
Находим секцию конфигурации сети нашего виртуального сервера:
1 | <interface type='network'> |
И приводим её к следующему виду:
1 | <interface type='bridge'> |
После запуска виртуального сервера проверяем конфигурацию OvS и наблюдаем успешное добавление порта:
1 | # ovs-vsctl show |
Управление виртуальными серверами
Просмотр текущих виртуальных серверов.
1 | # virsh list --all |
Включение виртуального сервера.
1 | virsh start TestVM |
Отключение виртуального сервера.
1 | virsh shutdown TestVM |
Имитация отключения кабеля питания.
1 | virsh destroy TestVM |
Приостановка работы сервера.
1 | virsh suspend TestVM |
Подключение ISO-образа к виртуальному серверу.
1 | virsh attach-disk TestVM /home/iso/CentOS-7-x86_64-Minimal-1511.iso hda --type cdrom --mode readonly |
Отключение ISO-образа
(Не физическое удаление устройства, а извлечение диска)
1 | virsh attach-disk TestVM "" hda --type cdrom --mode readonly |
Автоматический запуск виртуального сервера при старте хост системы:
1 | virsh autostart TestVM |
Отключить автозапуск для сервера:
1 | virsh autostart TestVM --disable |
Работа со снепшотами
Cоздать снепшот виртуальной машины:
1 | virsh snapshot-create <VM_NAME> |
Откатиться к нужному снепшоту:
1 | virsh snapshot-revert TestVM <номер снепшота вм> |
1 | virsh snapshot-list <имя вм> - список снепшотов для указанной ВМ |
Изменение параметров виртуального сервера
Параметры виртуального сервера можно изменять редактируя XML-файл.
Первый вариант - сохранить конфигурацию в XML формате:
1 | virsh dumpxml TestVM > TestVM.xml |
Затем загрузить её обратно:
1 | virsh define TestVM.xml.xml |
Второй вариант - использовать команду virsh edit
. При использовании команды конфигурационный файл сервера будет открыт в системном редакторе по умолчанию, а по завершении редактирования автоматически сохранит конфигурацию.
1 | virsh edit TestVM |
На этом базовое знакомство с KVM завершено.
Более подробная информация по настройке и работе с KVM будет опубликована в последующих статьях.