...
Использование командной строки QEMU
Полный список комад команд QEMU предоставляется в официальной официальной документации.
Создание виртуальной машины
| Якорь | ||||
|---|---|---|---|---|
|
...
-cpu — модель процессора, например, параметр -cpu host host передает виртуальной машине все возможности, флаги и инструкции (например, AES-NI, AVX, VT-x) вашего реального физического процессора;
-smp — включение имитации SMP-системы с n CPU;
...
Для подключения сетевого интерфейса необходимо запустить vESBC на QEMU с указанием настроек сетевой карты -nic tap,ifname=gi1 (если необходимо подключить несколько сетевых интерфейсов, то необходимо их всех указать, например, -nic tap,ifname=gi1 -nic tap,ifname=gi2). На хостовом устройстве необходимо перевести созданный интерфейс в состояние UP и назначить IP-адрес , для обеспечения IP-связности vESBC и хостовой операционной системы.
...
Теперь есть прямая IP-связность с хостом, возможность подключения к vESBC по Telnet, SSH, WEB, а также обновления прошивки vESBC, загрузки и выгрузки файлов.
| Scroll Pagebreak |
|---|
В режиме Linux Bridge
| Якорь | ||||
|---|---|---|---|---|
|
Linux Bridge — это программный сетевой модуль ядра Linux, работающий как виртуальный сетевой коммутатор (switch) на 2-м уровне модели OSI. Он объединяет физические (например, eth0) и виртуальные (veth, TAP) сетевые интерфейсы в один общий сегмент сети (L2-домен), позволяя им обмениваться данными напрямую по MAC-адресам.
При использовании 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 |
...
Прежде чем запускать QEMU, нужно «отвязать» требуется «отвязать» карту от хоста и передать её драйверу vfio-pci:
- Включите 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
Использование командной строки VIRSH
Virsh — это интерфейс командной строки для управления виртуальными машинами, сетями и хранилищами. Он работает через библиотеку libvirt и используется для управления гипервизором KVM.
Полный список комад команд Libvirt предоставляется в официальной официальной документации.
Для отображения графической консоли vESBC рекомендуется установить virt-viewer:
| Блок кода |
|---|
sudo apt update sudo apt install virt-viewer |
| Scroll Pagebreak |
|---|
Создание виртуальной машины
...
| Якорь | ||||
|---|---|---|---|---|
|
- Создайте Создать файл образа диска в формате 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 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.
Подключение сетевых интерфейсов
В режиме Linux Bridge
Подключение сетевых интерфейсов осуществляется флагом –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
Scroll Pagebreak
Использование приложения Менеджер виртуальных машин (Virtual Machine Manager)
Virtual Machine Manager Manager — это это приложение для управления виртуальными машинами в операционных системах Linux при помощи графического интерфейса (GUI).
Создание виртуальной машины
...
и установка vESBC
Шаг 1. Запустите "Менеджер виртуальных машин". Для создания виртуальной машины нажмите кнопку "Создать виртуальную машину" в главном меню:
...
Шаг 2. В
...
окне "Новая виртуальная машина"
...
оставьте метод установки
...
— "Локальный ISO или CDROM" и
...
нажмите кнопку "Forward":
...
| Scroll Pagebreak |
|---|
Шаг 3. Нажмите кнопку "Обзор"
...
:
В открывшемся окне выберите образ ISO vESBC,
...
затем
...
нажмите кнопку "Выбор тома":
| Примечание |
|---|
Перед выбором образа ISO поместите его в каталог /var/lib/libvirt/images/ |
...
| Scroll Pagebreak |
|---|
Шаг 4. Деактивируйте чек-
...
бокс "Automatically detect from the installation media / source"
...
.Вполе "Choose the operating system you are installing"
...
укажите "
...
Generic default" и
...
нажмите кнопку "Forward":
...
Шаг 5. Укажите
...
количество ядер CPU и количество RAM в соответствующих полях
...
, нажмите кнопку "Forward":
...
| Scroll Pagebreak |
|---|
Шаг 6. Укажите
...
объем HDD и
...
нажмите кнопку "Forward":
...
Шаг 7. Укажите название виртуальной машины и
...
нажмите кнопку "Готово". Также можно сразу указать сетевой адаптер, или настроить сеть позже.
| Scroll Pagebreak |
|---|
Шаг 8. После создания
...
виртуальной машины откроется окно установки vESBC. Дальнейшие действия по установке vESBC описаны в
...
разделе Процесс установки vESBC.
Шаг 9. Если требуется донастройка (добавить/изменить сетевой адаптер, количество CPU, RAM и т. д.) виртуальной
...
машины vESBC, выключите ее и откройте окно настроек
...
кнопкой "Показать виртуальное оборудование".
| Scroll Pagebreak |
|---|
Подключение сетевых интерфейсов
Перед изменением конфигурации виртуальной машины она должна быть выключена.
...
Шаг 1. Запустите "Менеджер виртуальных машин",
...
выберите нужную виртуальную машину и
...
нажмите кнопку "Открыть".
...
| Scroll Pagebreak |
|---|
Шаг 2. Если сетевой адаптер уже был добавлен при создании виртуальной машины
...
и требуется изменить его параметры, следует выбрать его в списке оборудования.
...
Изменение адаптера выполняется в настройке "Создать на базе"
...
. Доступны следующие режимы работы адаптера:
- Мост <название бриджа хостовой ОС>. Данный режим доступен в случае, когда бридж был предварительно сконфигурирован в хостовой ОС. В этом режиме
...
- интерфейс vESBC будет подключен к бриджу хостовой ОС.
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- virtio
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
...
- — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию.
- e1000
...
- — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139
...
- — эмуляция 100-мегабитной сетевой карты Realtek.
...
| Scroll Pagebreak |
|---|
- Устройство хоста <название физического сетевого адаптера хоста> macvtap. Это способ подключения виртуальной машины к сети, при котором она получает свой собственный MAC-адрес и IP-адрес прямо из вашей физической локальной сети, к которой подключен физический интерфейс хоста.
- В поле "Режим" указывается один из режимов работы macvtap:
- Bridge (Мост)
- В поле "Режим" указывается один из режимов работы macvtap:
...
- — все виртуальные машины, подключенные к хостовому сетевому адаптеру в этом режиме, могут свободно «общаться» друг с другом и с внешним миром, но связи между хостом и машинами нет.
- VEPA
...
- — трафик виртуальных машин будет
...
- передаваться на
...
- физический коммутатор, подключенный к интерфейсу хоста. Для работы в данном режиме
...
- физический коммутатор должен поддерживать стандарт 802.1Qb.
...
- Private (Приватный/Частная)
...
- — виртуальные машины могут выходить во внешнюю сеть через интерфейс хоста, но они полностью изолированы друг от друга.
...
- Passthrough (Сквозной/Проброс)
...
- — «эксклюзивный» доступ к сетевой карте конкретной виртуальной машины. Аналог передачи устройства PCI напрямую виртуальной машине.
- В поле "Модель устройства" указывается драйвер сетевого адаптера. Доступные драйвера:
- virtio
...
- — высокопроизводительный драйвер виртуализации. Данный драйвер используется по умолчанию.
...
- e1000
...
- — эмуляция гигабитной сетевой карты Intel (82540EM).
- rtl8139
...
- — эмуляция 100-мегабитной сетевой карты Realtek.
| Примечание |
|---|
В режиме macvtap связи межу хостовой ОС и виртуальной машиной нет. Также данный режим не подходит для организации кластера vESBC (за исключением режима Passthrough), т. к. при использовании протокола VRRP |
...
MAC- |
...
адрес vESBC будет отличаться от |
...
MAC-адреса сетевого интерфейса, и трафик не будет передаваться в виртуальную машину из-за особенностей реализации драйвера macvtap. |
| Scroll Pagebreak |
|---|
Шаг 3. Для добавления дополнительных сетевых адаптеров нажмите
...
кнопку "Добавить оборудование" в нижнем левом углу (cм. скрин выше). В
...
открывшемся окне
...
выберете раздел
...
"Сеть", укажите параметры адаптера и нажмите
...
кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины.
| Scroll Pagebreak |
|---|
Шаг 4. Для проброса сетевой карты в виртуальную машину следует в окне выбора оборудования (см. предыдущий пункт)
...
выбрать
...
раздел "PCI-устройство узла", в списке устройств выбрать нужный сетевой адаптер и нажать кнопку "Готово". Добавленный адаптер появится в списке оборудования виртуальной машины:
| Scroll Pagebreak |
|---|
Подключение последовательного порта
...
Для выхода из консоли нажмите комбинацию клавиш Ctrl + ].
| Scroll Pagebreak |
|---|
С использованием приложения Менеджер виртуальных машин (Virtual Machine Manager)
При созданиии создании виртуальной машины виртуальная консоль pty создается автоматически:
Scroll Pagebreak
Для подключения к консоли запустите виртуальную машину, посмотрите номер pty:
Команда для подключения к pty с помощью minicom:
...

















