Требования к системе виртуализации

Для установки и функционирования vESBC установленная версия Xen в режиме HVM должна быть не ниже 4.16.

Использование командной строки XEN (xl)

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

Шаг 1. Создайте виртуальный диск, на котором будет храниться vESBC, используя утилиту dd:

dd if=/dev/zero of=<путь_к_образу_диска> bs=1M count=1024

Пример создания диска с названием vesbc_xen.img в домашнем каталоге пользователя xenadmin, размером 10Gb:

xenadmin@xen:~$ dd if=/dev/zero of=vesbc_xen.img bs=1M count=10240
10240+0 records in
10240+0 records out
10737418240 bytes (11 GB, 10 GiB) copied, 22,1395 s, 485 MB/s

Шаг 2. Создайте конфигурационный файл виртуальной машины vESBC:

xenadmin@xen:~$ sudo nano vESBC1.cfg

со следующим содержимым:

type = "hvm"
name = "vESBC1"
memory = 4096
vcpus = 4
device_model_version = "qemu-xen"
disk = [
    '<полный_путь_к_виртуальному_диску>,raw,hda,rw',
    '<полный_путь_к_установочному_образу>,raw,hdc,devtype=cdrom,r'
]
boot = "dc"
serial = "pty"

где:

type — тип домена виртуальной машины. Для vESBC необходим тип домена HVM, который указывает на то, что данная виртуальная машина является полностью виртуализированным компьютером с эмулируемым BIOS, дисковой и сетевой периферией и т. д.;

name — имя создаваемой виртуальной машины;

memory — количество выделенной оперативной памяти;

vcpus — количество виртуальных ядер;

device_model_version — версия эмулятора QEMU;

disk — список дисков:

boot — приоритет загрузки . "dc" означает загрузку сначала CD-ROM, а затем HDD;

serial — создает виртуальный последовательный порт (COM-порт)  в режиме псевдотерминала.

Пример:

type = "hvm"
name = "vESBC1"
memory = 4096
vcpus = 4
device_model_version = "qemu-xen"
disk = [
    '/home/xenadmin/vesbc_xen.img,raw,hda,rw',
    '/var/lib/libvirt/images/vesbc-1.41.0-build19.iso,hdc,devtype=cdrom,r'
]

boot = "dc"
serial = "pty"

Установка vESBC

Шаг 1. Для начала установки запустите виртуальную машину, передав в качестве параметра её конфигурацию:

xenadmin@xen:~$ sudo xl create vESBC1.cfg

Шаг 2. После запуска виртуальной машины подключитесь к консоли средствами Xen:

xenadmin@xen:~$ sudo xl console vESBC1

Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC

Шаг 3. После завершения установки выключите vESBC:

xenadmin@xen:~$ sudo xl destroy -f vESBC1

где:

-f — немедленное выключение виртуальной машины.

Шаг 4. В конфигурационном файле необходимо поменять местами параметры "boot" с 'd' на 'c', таким образом загрузка будет осуществляться с жёсткого диска, на который был установлен vESBC.  

boot = "cd"

Шаг 5. Запустите виртуальную машину, передав в качестве параметра изменённую конфигурацию:

xenadmin@xen:~$ sudo xl create vESBC1.cfg

Подключение сетевых интерфейсов

Перед подключением сетевых интерфейсов в vESBC, например на базе Linux Bridge необходимо предварительно настроить их в хостовой операционной системе.

Пример конфигурации файла config.yaml при конфигурировании через netplan для ОС Ubuntu:

network:
  version: 2
  ethernets:
    eno1:                               // eno1 - физический интерфейс хоста, который будет использоваться для подключения виртуальной машины vESBC к сети передачи данных.
      dhcp4: no
      dhcp6: no
    eno2:
      dhcp4: no
      dhcp6: no
    enp24s0f0:
      dhcp4: no
    enp24s0f1:
      dhcp4: no
  bridges:
    br0:                                // br0 - создание бриджа br0.
      interfaces:
        - eno1                          // добавление интерфейса eno1 в бридж.
      addresses:
        - 192.168.113.140/20            // настройка IP-адреса хоста (если необходима IP-связность между хостом и виртуальными машинами).
      routes:
        - to: default                   // настройка шлюза по умолчанию.
          via: 192.168.112.1
      nameservers:                    
        addresses:
          - 8.8.8.8                     // настройка DNS-сервера.
      parameters:
        stp: false
      dhcp4: no
    br1:                               // br1 - создание бриджа br0 без привязки фичеческого интерфейса гипервизора. Такой интерфейс может понадобиться для организации кластерного интерфейса между двумя vESBC.
      interfaces: []
      parameters:
        stp: false
      dhcp4: no

Шаг 1. Выключите vESBC:

xenadmin@xen:~$ sudo xl destroy -f vESBC1

Шаг 2. В конфигурационном файле добавьте новые параметры (в примере ниже указано подключение двух сетевых интерфейсов. При подключении более одного интерфейса следует указать все интерфейсы через запятую):

vif = [ 'bridge=br0,model=e1000,mac=00:16:3e:42:8f:c6', 'bridge=br1,model=e1000,mac=00:16:3e:60:d3:aa' ]

где:

vif — список эмулируемых сетевых интерфейсов;

bridge — виртуальный мост в хостовой ОС, к которому подключается интерфейс vESBC;

mac — cтатический MAC-адрес. Рекомендуется использовать префикс 00:16:3e (зарезервирован для Xen);

Рекомендуется использовать статический MAC-адрес, т. к. после перезагрузки виртуальной машины, при динамическом выделении адресов может быть выдан другой адрес, и для vESBC это будет новый сетевой интерфейс, а предыдущий интерфейс будет иметь статус неподключенного.

В результате будет потеряна IP-связность с vESBC. 

model — тип эмулируемой сетевой карты:

Шаг 3. Запустите виртуальную машину, передав в качестве параметра изменённую конфигурацию:

xenadmin@xen:~$ sudo xl create vESBC1.cfg

Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)

Virtual Machine Manager — это приложение для управления виртуальными машинами в операционных системах Linux при помощи графического интерфейса (GUI).

Создание виртуальной машины и установка vESBC

 Шаг 1. Запустите "Менеджер виртуальных машин". Для создания виртуальной машины нажмите кнопку "Создать виртуальную машину" в главном меню:

Шаг 2. В окне "Новая виртуальная машина" оставьте метод установки — "Локальный ISO или CDROM" и нажмите кнопку "Forward":

Шаг 3. Нажмите кнопку "Обзор":

В открывшемся окне выберите образ ISO vESBC, затем нажмите кнопку "Choose Volume":

Перед выбором образа ISO поместите его в каталог /var/lib/libvirt/images/

Шаг 4. Деактивируйте чек-бокс "Автоматически определять по носителю/источнику пакетов для установки". В поле "Выберите операционную систему для установки" укажите "Generic  or unknown OS. Usage is not recommended" и нажмите кнопку "Forward":

Шаг 5. Укажите количество ядер CPU и количество RAM в соответствующих полях, нажмите кнопку "Forward":

Шаг 6. Укажите объем HDD и нажмите кнопку "Forward":

Шаг 7. Укажите название виртуальной машины и нажмите кнопку "Готово". Также можно сразу указать сетевой адаптер, или настроить сеть позже.

Шаг 8. После создания виртуальной машины откроется окно установки vESBC. Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC.

Шаг 9. Если требуется донастройка (добавить/изменить сетевой адаптер, количество CPU, RAM и т. д.) виртуальной машины vESBC, выключите ее и откройте окно настроек кнопкой "Показать виртуальное оборудование"

Подключение сетевых интерфейсов

Перед изменением конфигурации виртуальной машины она должна быть выключена.

Шаг 1. Запустите "Менеджер виртуальных машин", выберите нужную виртуальную машину и нажмите кнопку "Открыть".

Шаг 2. Если сетевой адаптер уже был добавлен при создании виртуальной машины и требуется изменить его параметры, следует выбрать его в списке оборудования. 

    Изменение адаптера выполняется в настройке "Создать на базе". Доступны следующие режимы работы адаптера:

В режиме macvtap связи межу хостовой ОС и виртуальной машиной нет. Также данный режим не подходит для организации кластера vESBC (за исключением режима Passthrough), т. к. при использовании протокола VRRP MAC-адрес vESBC будет отличаться отMAC-адреса сетевого интерфейса, и трафик не будет передаваться в виртуальную машину из-за особенностей реализации драйвера macvtap.

Шаг 3. Для добавления дополнительных сетевых адаптеров нажмите кнопку "Добавить оборудование" в нижнем левом углу (cм. скрин выше). В открывшемся окне выберете раздел "Сеть", укажите параметры адаптера и нажмите кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины.

Подключение последовательного порта

Использование командной строки XEN (xl)

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

serial=<pty>

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

xenadmin@xen:~$ sudo xl console vESBC1

Для выхода из консоли нажмите комбинацию клавиш Ctrl + ].

Для подключения к консоли сторонними средствами, например через Minicom, требуется узнать нужный номер псевдотерминала. Для этого необходимо просмотреть содержимое файла:

/var/log/xen/<название вм>.log

Номер псевдотерминала указан в строке:

char device redirected to /dev/pts/3 (label serial0)

Пример:

xenadmin@xen:~$ cat /var/log/xen/qemu-dm-vESBC1.log
char device redirected to /dev/pts/3 (label serial0)
VNC server running on 127.0.0.1:5900

Подключение через Minicom:

xenadmin@xen:~$ sudo minicom -D /dev/pts/3

Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)

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

Для подключения к консоли запустите виртуальную машину, посмотрите номер pty:

Команда для подключения к pty с помощью minicom:

sudo minicom -D /dev/pts/4