Требования к системе виртуализации
Для установки и функционирования vESR установленная версия QEMU должна быть не ниже 2.6.2.
Создание виртуальной машины
В примере описан процесс создания файла образа диска в формате QCow2 и подключения его в хостовой операционной системе.
Для того чтобы создать файл образа диска, необходимо выполнить команду:
| Блок кода |
|---|
qemu-img create -f qcow2 -o size=<размер_диска>M <наименование_диска>.qcow2 |
| Информация |
|---|
|
| Блок кода |
|---|
qemu-img create -f qcow2 -o size=500M vesr.qcow2 |
Пример вывода после выполнения команды: | Блок кода |
|---|
Formatting 'vesr.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=393216000 lazy_refcounts=off refcount_bits=16 |
|
Установка vESR
Для запуска установки vESR необходимо выполнить команду:
| Блок кода |
|---|
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 vesr.qcow2 -boot d -cdrom vesr-installer.iso |
|
Дальнейшие действия по установке vESR описаны в разделе Процесс установки vESR.
После установки необходимо извлечь ISO из виртуального привода, для этого:
- Перейдите в консоль QEMU сочетанием клавиш CTRL+ALT+2.
- Введите команду выхода quit.
Последующий запуск vESR необходимо производить без указания ISO.
| Информация |
|---|
|
| Блок кода |
|---|
qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -nic tap,ifname=gi1 vesr.qcow2 |
|
Подключение сетевых интерфейсов
Для подключения сетевого интерфейса необходимо запустить vESR на QEMU с указанием настроек сетевой карты -nic tap,ifname=gi1 (если необходимо подключить несколько сетевых интерфейсов, то необходимо их всех указать, например, -nic tap,ifname=gi1 -nic tap,ifname=gi2). На хостовом устройстве необходимо перевести созданный интерфейс в состояние UP и назначить IP-адрес.
| Информация |
|---|
|
Запуск vESR с одним сетевым интерфейсом: | Блок кода |
|---|
qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -nic tap,ifname=gi1 vesr.qcow2 |
Перевод созданного интерфейса в состояние UP и назначение IP-адреса: | Блок кода |
|---|
ip link set gi1 up
ip add add 192.168.1.1/24 dev gi1 |
На vESR настройте IP-адресацию и проверьте IP-связность. | Блок кода |
|---|
vesr# config
vesr(config)# interface gigabitethernet 1/0/1
vesr(config-if-gi)# ip address 192.168.1.2/24
vesr(config-if-gi)# exit
vesr(config)# exit
Warning: you have uncommitted configuration changes.
vesr# commit
Configuration has been successfully applied and saved to flash. Commit timer started, changes will be reverted in 600 seconds.
vesr# confirm
Configuration has been confirmed. Commit timer canceled.
vesr# 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 связность с хостом, возможность подключения к vESR по Telnet и SSH, а также обновления прошивки vESR, загрузки и выгрузки файлов. |
Подключение последовательного порта
Для подключения последовательного порта vESR к pty хоста следует добавить опцию к используемой команде запуска эмулятора QEMU:
После запуска команды появится строка с номером pty, на который перенаправлен вывод:
| Блок кода |
|---|
char device redirected to /dev/pts/3 (label serial0) |
Команда для подключения к pty с помощью minicom:
| Блок кода |
|---|
minicom -D /dev/pts/3 |
Либо можно использовать подключение последовательного порта vESR к pipe в файловой системе хоста. Для этого нужно добавить опцию:
| Блок кода |
|---|
-serial unix:/tmp/vesr-qemu,server,nowait |
Команда для подключения к pipe с помощью minicom:
| Блок кода |
|---|
minicom -D unix#/tmp/vesr-qemu |