Требования к системе виртуализации
Для установки и функционирования vESBC установленная версия QEMU должна быть не ниже 2.6.2.
Создание виртуальной машины
В примере описан процесс создания файла образа диска в формате QCow2 и подключения его в хостовой операционной системе.
Для того чтобы создать файл образа диска, необходимо выполнить команду:
qemu-img create -f qcow2 -o size=<размер_диска>M <наименование_диска>.qcow2
Пример
qemu-img create -f qcow2 -o size=500M vesbc.qcow2
Пример вывода после выполнения команды:
Formatting 'vesbc.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=393216000 lazy_refcounts=off refcount_bits=16
Установка vESBC
Для запуска установки vESBC необходимо выполнить команду:
qemu-system-x86_64 --enable-kvm -cpu <CPU> -smp <количество_CPU> -m <размер_RAM>G -nic tap,ifname=gi1 <наименование_диска>.qcow2 -boot d -cdrom <имя_ISO-образа>
где:
--enable-kvm — включение полной поддержки виртуализации KVM;
-cpu — выбор доступного CPU;
-smp — включение имитации SMP-системы с n CPU;
-m — выбор размера виртуальной RAM;
-nic — настройки сетевой карты;
-boot — выбор загрузки. Значение d указывает на CD-ROM;
-cdrom — выбор файла ISO-образа.
Пример
qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -nic tap,ifname=gi1 vesbc.qcow2 -boot d -cdrom vesbc-installer.iso
Дальнейшие действия по установке vESBC описаны в разделе Процесс установки vESBC.
После установки необходимо извлечь ISO из виртуального привода, для этого:
- Перейдите в консоль QEMU сочетанием клавиш CTRL+ALT+2.
- Введите команду выхода quit.
Последующий запуск vESBC необходимо производить без указания ISO.
Пример
qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -nic tap,ifname=gi1 vesbc.qcow2
Подключение сетевых интерфейсов
Для подключения сетевого интерфейса необходимо запустить vESBC на QEMU с указанием настроек сетевой карты -nic tap,ifname=gi1 (если необходимо подключить несколько сетевых интерфейсов, то необходимо их всех указать, например, -nic tap,ifname=gi1 -nic tap,ifname=gi2). На хостовом устройстве необходимо перевести созданный интерфейс в состояние UP и назначить IP-адрес.
Пример
Запуск vESBC с одним сетевым интерфейсом:
qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -nic tap,ifname=gi1 vesbc.qcow2
Перевод созданного интерфейса в состояние UP и назначение IP-адреса:
ip link set gi1 up ip add add 192.168.1.1/24 dev gi1
На vESBC настройте IP-адресацию и проверьте IP-связность.
vesbc# config vesbc(config)# interface gigabitethernet 1/0/1 vesbc(config-if-gi)# ip address 192.168.1.2/24 vesbc(config-if-gi)# exit vesbc(config)# exit Warning: you have uncommitted configuration changes. vesbc# commit Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds. vesbc# confirm Configuration has been confirmed. Commit timer canceled. vesbc# ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56 bytes of data. !!! --- 192.168.1.1 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2003ms rtt min/avg/max/mdev = 0.150/0.223/0.313/0.069 ms
Теперь есть прямая IP связность с хостом, возможность подключения к vESBC по Telnet и SSH, а также обновления прошивки vESBC, загрузки и выгрузки файлов.
Подключение последовательного порта
Для подключения последовательного порта vESBC к pty хоста следует добавить опцию к используемой команде запуска эмулятора QEMU:
-serial pty
После запуска команды появится строка с номером pty, на который перенаправлен вывод:
char device redirected to /dev/pts/3 (label serial0)
Команда для подключения к pty с помощью minicom:
minicom -D /dev/pts/3
Либо можно использовать подключение последовательного порта vESBC к pipe в файловой системе хоста. Для этого нужно добавить опцию:
-serial unix:/tmp/vesbc-qemu,server,nowait
Команда для подключения к pipe с помощью minicom:
minicom -D unix#/tmp/vesbc-qemu