...
-cpu — модель процессора, например, параметр -cpu host host передает виртуальной машине все возможности, флаги и инструкции (например, AES-NI, AVX, VT-x) вашего реального физического процессора;
...
Для подключения сетевого интерфейса необходимо запустить vESBC на QEMU с указанием настроек сетевой карты -nic tap,ifname=gi1 (если необходимо подключить несколько сетевых интерфейсов, то необходимо их всех указать, например, -nic tap,ifname=gi1 -nic tap,ifname=gi2). На хостовом устройстве необходимо перевести созданный интерфейс в состояние UP и назначить IP-адрес , для обеспечения IP-связности vESBC и хостовой операционной системы.
...
При использовании Linux Bridge требуется предварительная конфигурация бриджей в хостовой операционной системе.
Пример конфигурации файла файла config.yaml при конфигурировании через netplan для ОС Ubuntu 20.04.6 TLS:
| Блок кода |
|---|
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:
interfaces: []
parameters:
stp: false
dhcp4: no |
...
- Включите IOMMU в BIOS/UEFI (параметры VT-d для Intel или AMD-Vi для AMD).
- Добавьте параметры ядра в загрузчик (например, в /etc/default/grub в строку GRUB_CMDLINE_LINUX_DEFAULT):
- Для Intel: intel_iommu=on
- Для AMD: amd_iommu=on
- Узнайте PCI-адрес карты:
Если планируется, например, использование первого интерфейса сетевой кары, то адрес карты: 1818:00.0 (ID устройства — [8086:1572])Блок кода admin@host:~$ lspci -nn | grep -i ethernet 18:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01) 18:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01)
- Привяжите карту к vfio-pci:
Блок кода admin@host:~$ modprobe vfio-pci admin@host:~$ echo "0000:18:00.0" | sudo tee /sys/bus/pci/devices/0000:18:00.0/driver/unbind admin@host:~$ echo "8086 1572" | sudo tee /sys/bus/pci/drivers/vfio-pci/new_id
- Запустите виртуальную машину vESBC с проброшенным сетевым интерфейсом Intel X710 for 10GbE SFP+:
Блок кода qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -device vfio-pci,host=18:00.0 vesbc.qcow2
...
| Блок кода |
|---|
sudo apt update sudo apt install virt-viewer |
Создание виртуальной машины
| Якорь | ||||
|---|---|---|---|---|
|
- Создать Создайте файл образа диска в формате QCow2 аналогично как описано выше.
- Указать Укажите требуемые параметры виртуальной машины и выполнить выполните установку:
Блок кода sudo virt-install --name <название ВМ> --ram <азмер_RAM> --vcpus <количество CPU> --disk <параметры диска> --os-variant <тип ОС> --network <сетевой адаптер> --graphics <графический вывод> --video <драйвер> --console <параметры консоли> --cdrom <образ ISO vESBC>
где:
--name — название виртуальной машины;
--ram - — объем оперативной памяти;
--vcpus - — количество ядер CPU;
-- disk - — путь до файла диска, созданного в п.1 Обязательно использовать bus=ide.
--osvariant - — тип ОС, использовать generic;
--network - — указание сетевого адаптера;
--graphics - — настройки графического вывода виртуальной машины;
--video - — драйвер видеоадаптера;
--console - — настройка последовательного порта;
--cdrom - — путь кISO-образу vESBC.
Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC.
Пример установки:
| Блок кода |
|---|
udo virt-install --name vesbc --ram 4096 --vcpus 2 --disk path=/var/lib/libvirt/images/vesbc.qcow2,size=2,format=qcow2,bus=ide --os-variant generic --network bridge:br0,model=virtio --graphics spice,listen=127.0.0.1 --video virtio --console pty,target_type=serial --cdrom /var/lib/libvirt/images/vesbc-1.41.x-build89.iso --check disk_size=off |
Дальнейший запуск, остановка и выполнение настроек виртуальной машины осуществляется через командный интерфейс virsh.
Подключение сетевых интерфейсов
...
Подключение сетевых интерфейсов осуществляется флагом –networt –network при создании виртуальной машины, как описано выше.
При использовании Linux Bridge требуется предварительная конфигурация бриджей в хостовой операционной системе. Пример натройки настройки приведен выше.
Для подключения созданного интерфейса к виртуальной машине используется флаг при ее создании:
| Блок кода |
|---|
--network bridge:br0,model=virtio |
где:
br0 - — название бриджа в хостовой ОС;
model=virtio -— драйвер эмуляции virtio.
| Информация |
|---|
Помимо virtio можно использовать драйвер e1000 rtl8138. Драйвер virtio является более предпочтительным. |
...
Для передачи сетевого интерфейса в виртуальную машину:
- Узнайте PCI-адрес карты:
Если планируется, например, использование первого интерфейса сетевой кары, то адрес карты: 1818:00.0.Блок кода admin@host:~$ lspci -nn | grep -i ethernet 18:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01) 18:00.1 Ethernet controller [0200]: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 01)
- Для проброса интерфейса в виртуальную машину используйте флаг --hostdev при ее создании:
где 18:00.0 - — адрес сетевой карты.Блок кода --hostdev 18:00.0
Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)
Virtual Machine Manager Manager — это приложение для управления виртуальными машинами в операционных системах Linux при помощи графического интерфейса (GUI).
Создание виртуальной машины
- Запустить Запустите "Менеджер виртуальных машин". Для создания виртуальной машины нажмите кнопку "Создать виртуальную машину" в главном меню:
- В окне "Новая виртуальная машина" оставить оставьте метод установки - — "Локальный ISO или CDROM" и нажать кнопку нажмите кнопку "Forward":
- Нажать Нажмите кнопку "Обзор" и в открывшимся окне выбрать выберите образ ISO vESBC, затем нажать кнопку нажмите кнопку "Выбор тома":
Примечание Перед выбором образа ISO поместите его в каталог /var/lib/libvirt/images/
- Деактивировать Деактивируйте чек-бокс "Automatically detect from the installation media / source", в . Вполе "Choose the operating system you are installing" указать - укажите "Generric default" и нажать нажмите кнопку "Forward":
- Указать Укажите количество ядер CPU и количество RAM в соответствующих полях и нажать кнопку , нажмите кнопку "Forward":
- Указать Укажите объем HDD и нажать нажмите кнопку "Forward":
- Указать Укажите название виртуальной машины и нажать нажмите кнопку "Готово". Также можно сразу указать сетевой адаптер, или настроить сеть позже.
- После создания вируальной виртуальной машины откроется окно установки vESBC. Дальнейшие действия по установке vESBC описаны в разделе разделе Процесс установки vESBC.
- Если требуется донастройка (добавить/изменить сетевой адаптер, количество CPU, RAM и т. д.) виртуальной машины машины vESBC, выключите ее и откройте окно настроек кнопкой кнопкой "Показать виртуальное оборудование".
...
Перед изменением конфигурации виртуальной машины она должна быть выключена.
- Запустить Запустите "Менеджер виртуальных машин", выбрать выберите нужную виртуальную машину и нажать кнопку нажмите кнопку "Открыть".
- Если сетевой адаптер уже был добавлен при создании виртуальной машины , и требуется изменить его параметры, следует выбрать его в списке оборудования.
- Изменеие Изменение адаптера выполняется в настройке "Создать на базе", доступны . Доступны следующие режимы работы адаптера:
- Мост <название бриджа хостовой ОС>. Данный режим доступен в случае когда бридж был предварительно сконфигурирован в хостовой ОС. В этом режиме Интерфейс интерфейс vESBC будет подключен к бриджу хостовой ОС.
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- virtio - — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию.
- e1000 - — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139 - — эмуляция 100-мегабитной сетевой карты Realtek.
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- Устройство хоста <название физического сетевого адаптера хоста> macvtap. Это способ подключения виртуальной машины к сети, при котором она получает свой собственный MAC-адрес и IP-адрес прямо из вашей физической локальной сети, к которой подключен физический интерфейс хоста.
- В поле "Режим" указывается один из режимов работы macvtap:
- Bridge (Мост) - — все виртуальные машины, подключенные к хостовому сетевому адаптеру в этом режиме, могут свободно «общаться» друг с другом и с внешним миром, но связи между хостом и машинами нет.
- VEPA - — трафик виртуальных машин будет передаваться передаваться на физического физический коммутатор, подключенный к интерфейсу хоста. Для работы в данном режиме , физический коммутатор должен поддерживать стандарт 802.1Qb.
- Private (Приватный/Частная) - в— виртуальные машины могут выходить во внешнюю сеть через интерфейс хоста, но они полностью изолированы друг от друга.
- Passthrough (Сквозной/Проброс) - — «эксклюзивный» доступ к сетевой карте конкретной виртуальной машины. Аналог передачи устройства PCI напрямую виртуальной машине.
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- virtio - — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию.
- e1000 - — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139 - — эмуляция 100-мегабитной сетевой карты Realtek.
Примечание В режиме macvtap связи межу хостовой ОС и виртуальной машиной нет. Также данный режим не подходит для организации кластера vESBC (за исключением режима Passthrough), т. к. при использовании протокола VRRP macMAC-адрес адрес vESBC будет отличаться от macотMAC-адреса сетевого интерфейса, и трафик не будет передаваться в виртуальную машину из-за особенностей реализации драйвера macvtap.
- В поле "Режим" указывается один из режимов работы macvtap:
- Мост <название бриджа хостовой ОС>. Данный режим доступен в случае когда бридж был предварительно сконфигурирован в хостовой ОС. В этом режиме Интерфейс интерфейс vESBC будет подключен к бриджу хостовой ОС.
- Изменеие Изменение адаптера выполняется в настройке "Создать на базе", доступны . Доступны следующие режимы работы адаптера:
- Для добавления дополнительных сетевых адаптеров нажмите кнопку "Добавить оборудование" в нижнем левом углу. В открывшимся окне выбирете выберете раздел сеть "Сеть", укажите параметры адаптера и нажмите конпку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины.
- Для проброса сетевой карты в виртуальную машину следует в окне выбора оборудования (см. предыдущий пункт) необходимо выбрать раздел раздел "PCI-устройство узла", в списке устройств выбрать нужный сетевой адаптер и нажать кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины:
Подключение последовательного порта
...
С использованием приложения Менеджер виртуальных машин (Virtual Machine Manager)
При созданиии создании виртуальной машины виртуальная консоль pty создается автоматически:
Для подключения к консоли запустите виртуальную машину, посмотрите номер pty:
Команда для подключения к pty с помощью minicom:
...














