Сборник небольших "how to" для разных задач администрирования ПК СВ "Брест"
Общие задачи
Изменение или добавление пути хранения образов дисковых устройств
По-умолчанию образы виртуальных жестких дисков хранятся в каталоге /var/lib/libvirt/images. При использовании Astra Linux Special Edition при инициализации ОС этому каталогу присваивается метка безопасности:
Проверить значение метки безопасности можно командой:
Часто возникает необходимость разместить образы дисков по другому пути, например, на дополнительном жестком диске или примонтированном удаленном хранилище. Запуск ВМ с образом из такого хранилища приведет к следующей ошибке:

Для решения этой проблемы необходимо внести изменения в сценарий /usr/sbin/pdp-init-libvirt, добавив конечный путь хранения образов, а также все вышестоящие каталоги.
Например, файл образа диска размещается по пути /tmp/tmp/
После внесения изменений необходимо перезагрузить машину.
Локальная виртуализация
Настройка сети
Подключение ВМ к физической сети хоста
На хосте создать сетевой мост, включив в него необходимый сетевой порт хоста (в примере - eth0):
через файл /etc/network/interfaces (на хосте, до инициализации сетевого соединения (!!!), должен быть установлен пакет bridge-utils):
XMLили через Network Manager, если он установлен (не рекомендуется для серверной виртуализации):
Запустить "Менеджер виртуальных машин", открыть существующую ВМ, или создать новую.
Нажать в меню "Вид" - "Подробности", перейти к настройке сетевого адаптера.
Переключить режим на "Общее устройство", и поле "Имя моста" вписать "bridge0":

Сетевой трафик ВМ будет доступен с хостовой ОС для адаптера eth0, а также для внешних сетей, к которым подключен eth0
Серверная виртуализация
Удаленный проброс USB-устройств в виртуальную машину
Для удаленной работы пользователя с ВМ возможно подключение USB-устройства пользователя к ВМ.
Для этого необходимо использовать протокол SPICE и утилиту virt-viewer в качестве интерфейса взаимодействия с ВМ:
- На сервере виртуализации запустить Менеджер виртуальных машин (virt-manager);
- В свойствах ВМ перейти во вкладку "Дисплей" и выбрать тип сервера SPICE;
- Во вкладке "Контроллер USB" выбрать необходимое поколение контроллера.
При подключении с рабочего места командной:
возможен проброс USB устройств через меню "Файл" - "USB device selection"
Облачная виртуализация
Клонирование ВМ
Схема клонирования ВМ в OpenNebula предполагает следующую последовательность действий:
- создание шаблона на основе существующей ВМ
- развертывание новой или нескольких ВМ на основе этого шаблона
Более подробно:
- В свойствах ВМ, находящейся в выключенном состоянии, нажать значок дискеты ("Save as template");
- ВМ перейдет в статус "HOTPLUG", затем, через некоторое время) в "POWEROFF".
- После этого в списке шаблонов появится новый шаблон, а в списке дисковых образов - новый диск.
- На основе нового шаблона необходимо создать новую (новые) ВМ.
- В свойствах новых ВМ необходимо отключить старый (оригинальный) образ диска и подключить новый.
Шейпинг сетевого и дискового ввода-вывода ВМ
В OpenNebula на уровне шаблона ВМ возможно ограничение полосы пропускания дисковой и/или сетевой подсистемы ВМ. Для этого:
- Перейти в Tamplates - VMs, создать шаблон ВМ
- Настроив основные параметры на вкладке "General", перейти во вкладку "Storage", выбрать диск и раскрыть "Advanced options":
3. Ограничить полосу дискового ввода-вывода, выставив в "IO throttling (bytes/s)" значение
4. перейти во вкладку "Network". Выбрать сеть и раскрыть "Advanced options":
5. выставить в полях "Override Network Inbound Traffic QoS" и "Override Network Outbound Traffic QoS" значения
6. Закончить создание шаблона, нажав "Create". Созданные далее на основе шаблона виртуальные машины получают одинаковые настройки ограничения дискового и сетевого ввода-вывода. Для индивидуальной настройки ограничения сетевого и/или дискового ввода-вывода для отдельных ВМ необходимо приготовить индивидуальный шаблон ВМ.
Настройка сети
Настройка VLAN
OpenNebula имеет возможность помечать сетевые пакеты виртуальных машин VLAN-тэгами перед передачей их в сетевую карту хостовой системы. Для этого необходимо создать новую виртуальную сеть:
- перейти во вкладку Virtual Networks
- создать новую сеть, дать ей имя
- далее во вкладке"Conf":
в поле "Network mode" выбрать 802.1Q;
в поле "Physical device" указать мост хоста, в который будут передаваться пакеты виртуальной сети;
в поле "VLAN ID" выбрать "Manual VLAN ID";
в появившемся ниже поле указать номер VLAN. - во вкладке "Addresses" создать необходимые диапазоны IP или MAC
- нажать Create
Виртуальные машины, присоединенные к этой сети будут доступны друг другу без необходимости настройки VLAN в них (как будто им предоставлены Access-порты коммутатора). Но трафик этой сети будет передаваться в хостовую ОС уже с указанной меткой VLAN.
Поддержка Open vSwitch
OpenNebula поддерживает работу с программным коммутатором Open vSwitch. Для подготовки на узлах виртуализации нужно установить Open vSwitch и создать виртуальные коммутаторы с одинаковым именем (например ovs-sw0):
- далее войти в OpenNebula, перейти во вкладку Virtual Networks
- создать новую сеть, дать ей имя
- перейти во вкладку "Conf":
в поле "Bridge" указать "ovs-sw0"
в поле "Network mode" выбрать "Open vSwitch";
в поле "VLAN ID" указать "No VLAN network"; - во вкладке "Addresses" создать необходимые диапазоны IP или MAC
- нажать Create
Подключенные к данной сети виртуальные машины при запуске будут автоматически подключаться к виртуальному коммутатору ovs-sw0, что можно проверить командой на узле виртуализации: