Резюме
В CML (Cisco Modeling Labs) можно самостоятельно определять и использовать доступные платформы в дополнение к стандартным.
Эта процедура показана в руководстве пользователя.
https://developer.cisco.com/docs/modeling-labs/#!custom-vm-images
SONiC также доступен для виртуальных машин и контейнеров.
SONiC на виртуальной машине для Windows
https://github.com/sonic-net/SONiC/wiki/SONiC-on-virtual-machine-for-Windows
КАК использовать виртуальный коммутатор (VM)
https://github.com/sonic-net/sonic-buildimage/blob/master/platform/vs/README.vsvm.md
КАК использовать виртуальный коммутатор (Docker)
https://github.com/sonic-net/sonic-buildimage/blob/master/platform/vs/README.vsdocker.md
На этот раз я попробовал настроить использование образа SONiC для виртуальных машин в среде CML 2.2.3 (установленной на ранее собранном хосте ESXi) и смог начать его использовать.
Ниже приводится запись об этом.
Подробно о том, что я сделал
Получите образ SONiC
- В этом случае возьмите из следующего
- https://sonic.software/
- Загрузите файл образа виртуального коммутатора.
- На этот раз выберите тот, который находится в ветке 202205
- «sonic-vs.img.gz».
Определите узел
- Выберите «Node and Image Definition» в разделе «TOOLS».
- Убедитесь, что выбрана вкладка «Node Definition» и нажмите кнопку «ADD».
- Выберите/введите следующую информацию в поле «Общие»
- ID: «sonicvsvm»
- Характер: «switch»
- Выберите/введите следующую информацию в поле «Пользовательский интерфейс»
- Префикс: «sonicvsvm-«
- Иконка: «переключатель»
- Ярлык: «SONiC Virtual Switch (VM)».
-
Выберите/введите следующую информацию в поле «Linux Native Simulation».
- Драйвер домена: «KVM»
- Драйвер симуляции: «сервер»
- Драйвер диска: «VirtIO»
- Память: «2048» в данном случае
- Процессоры: «2» в данном случае
- Лимит процессора: «100»
- Сетевой драйвер: «E1000»
—
-
Выберите/введите следующую информацию в поле «Интерфейсы»
- Имя шлейфа: «Loopback0»
- Количество последовательных портов: «1»
- Количество физических интерфейсов по умолчанию: «9» в данном случае
- интерфейс 0:»eth0″
-
В этом же поле нажмите кнопку «ADD INTERFACE», пока не появится номер, указанный в «Default number of physical interfaces», и введите следующую информацию
- интерфейс 1: «Ethernet0»
- интерфейс 2: «Ethernet4»
- интерфейс 3: «Ethernet8»
- интерфейс 4: «Ethernet12»
- интерфейс 5: «Ethernet16»
- интерфейс 6: «Ethernet20»
- интерфейс 7: «Ethernet24»
- интерфейс 8: «Ethernet28»
-
Введите следующую информацию в поле «Boot» (Загрузка)
- Таймаут: «480» в данном случае
-
В этом же поле нажмите кнопку «ADD BOOT LINE button» и введите следующую информацию
- «sonic login»
-
Нажмите кнопку СОЗДАТЬ
Определите изображение
- Выберите «Node and Image Definition» в разделе «TOOLS».
- Выберите вкладку «Image Definition
- Нажмите кнопку «MANAGE»
- Выберите «Choose a file» в поле «Upload New Image File» и укажите загруженное изображение SONiC
- Нажмите кнопку «UPLOAD IMAGE».
- После подтверждения отображения файла, указанного в поле «Uploaded Images», нажмите кнопку «CREATE NEW IMAGE DEFINITION».
-
Выберите/введите следующую информацию в поле «Общие»
- ID: «sonicvsvm-202205»
- Ярлык: «SONiC Virtual Switch (VM) 202205».
- Образ диска: Загруженный образ SONiC
- Определение узла: Определенный узел
-
Нажмите кнопку «CREATE IMAGE DEFINITION».
Подтверждение операции
Я создал лабораторию, используя зарегистрированный узел, и она была успешно запущена.
Также было подтверждено, что связь с соседними узлами возможна.
Дополнительная информация и другое
Имя пользователя/пароль по умолчанию — admin/YourPaSsWoRd.
- SONiC USER MANUALhttps://github.com/sonic-net/SONiC/blob/master/doc/SONiC-User-Manual.md
журнал запуска
Booting `SONiC-OS-202205.133812-e8fe21b3a'
Loading SONiC-OS OS kernel ...
Loading SONiC-OS OS initial ramdisk ...
tune2fs 1.46.2 (28-Feb-2021)
Setting reserved blocks percentage to 0% (0 blocks)
Setting reserved blocks count to 0
[ 5.274055] rc.local[357]: + cat /etc/sonic/sonic_version.yml
[ 5.286346] rc.local[358]: + grep build_version
[ 5.308838] rc.local[372]: + sed -e s/build_version: //g;s/'//g
[ 5.346575] rc.local[354]: + SONIC_VERSION=202205.133812-e8fe21b3a
[ 5.374217] rc.local[354]: + FIRST_BOOT_FILE=/host/image-202205.133812-e8fe21b3a/platform/firsttime
[ 5.406043] rc.local[354]: + SONIC_CONFIG_DIR=/host/image-202205.133812-e8fe21b3a/sonic-config
[ 5.414535] rc.local[354]: + SONIC_ENV_FILE=/host/image-202205.133812-e8fe21b3a/sonic-config/sonic-environment
[ 5.442671] rc.local[354]: + [ -d /host/image-202205.133812-e8fe21b3a/sonic-config -a -f /host/image-202205.133812-e8fe21b3a/sonic-config/sonic-environment ]
[ 5.479881] rc.local[354]: + logger SONiC version 202205.133812-e8fe21b3a starting up...
[ 5.551047] rc.local[354]: + grub_installation_needed=
[ 5.579501] rc.local[354]: + [ ! -e /host/machine.conf ]
[ 5.606349] rc.local[354]: + . /host/machine.conf
[ 5.634855] rc.local[354]: + onie_arch=x86_64
[ 5.641530] rc.local[354]: + onie_bin=
[ 5.655218] rc.local[354]: + onie_boot_reason=install
[ 5.664985] rc.local[354]: + onie_build_date=2018-11-17T04:18+00:00
[ 5.672286] rc.local[354]: + onie_build_machine=kvm_x86_64
[ 5.682261] rc.local[354]: + onie_build_platform=x86_64-kvm_x86_64-r0
[ 5.699784] rc.local[354]: + onie_config_version=1
[ 5.709808] rc.local[354]: + onie_dev=/dev/vda2
[ 5.718218] rc.local[354]: + onie_disco_boot_reason=install
[ 5.724046] rc.local[354]: + onie_disco_dns=10.0.2.3
[ 5.739660] rc.local[354]: + onie_disco_interface=eth0
[ 5.746767] rc.local[354]: + onie_disco_ip=10.0.2.15
[ 5.752000] rc.local[354]: + onie_disco_lease=86400
[ 5.762114] rc.local[354]: + onie_disco_mask=24
[ 5.763791] rc.local[354]: + onie_disco_opt53=05
[ 5.775585] rc.local[354]: + onie_disco_router=10.0.2.2
[ 5.787520] rc.local[354]: + onie_disco_serverid=10.0.2.2
[ 5.795402] rc.local[354]: + onie_disco_siaddr=10.0.2.2
[ 5.797178] rc.local[354]: + onie_disco_subnet=255.255.255.0
[ 5.803935] rc.local[354]: + onie_exec_url=file://dev/vdb/onie-installer.bin
[ 5.817521] rc.local[354]: + onie_firmware=auto
[ 5.823414] rc.local[354]: + onie_grub_image_name=shimx64.efi
[ 5.827010] rc.local[354]: + onie_initrd_tmp=/
[ 5.828773] rc.local[354]: + onie_installer=/var/tmp/installer
[ 5.839240] rc.local[354]: + onie_kernel_version=4.9.95
[ 5.842667] rc.local[354]: + onie_local_parts=
[ 5.846107] rc.local[354]: + onie_machine=kvm_x86_64
[ 5.851656] rc.local[354]: + onie_machine_rev=0
[ 5.866354] rc.local[354]: + onie_neighs=[fe80::2-eth0],
[ 5.870137] rc.local[354]: + onie_partition_type=gpt
[ 5.873605] rc.local[354]: + onie_platform=x86_64-kvm_x86_64-r0
[ 5.883782] rc.local[354]: + onie_root_dir=/mnt/onie-boot/onie
[ 5.891640] rc.local[354]: + onie_secure_boot=yes
[ 5.895686] rc.local[354]: + onie_skip_ethmgmt_macs=yes
[ 5.900815] rc.local[354]: + onie_switch_asic=qemu
[ 5.910116] rc.local[354]: + onie_uefi_arch=x64
[ 5.914736] rc.local[354]: + onie_uefi_boot_loader=shimx64.efi
[ 5.918640] rc.local[354]: + onie_vendor_id=42623
[ 5.929991] rc.local[354]: + onie_version=master-201811170418
[ 5.935779] rc.local[354]: + program_console_speed
[ 5.961289] rc.local[381]: + cat /proc/cmdline
[ 5.967825] rc.local[382]: + grep -Eo console=ttyS[0-9]+,[0-9]+
[ 5.969963] kdump-tools[348]: Starting kdump-tools:
[ 5.983970] rc.local[391]: + cut -d , -f2
[ 5.989988] kdump-tools[385]: no crashkernel= parameter in the kernel cmdline ...
[ 5.994164] kdump-tools[431]: failed!
[ 6.015307] rc.local[354]: + speed=115200
[ 6.016722] rc.local[354]: + [ -z 115200 ]
[ 6.022641] rc.local[354]: + CONSOLE_SPEED=115200
[ 6.034225] rc.local[395]: + grep keep-baud
[ 6.038480] rc.local[394]: + grep agetty /lib/systemd/system/serial-getty@.service
[ 6.043188] rc.local[395]: ExecStart=-/sbin/agetty -o '-p -- \u' --keep-baud 115200,57600,38400,9600 %I $TERM
[ 6.052015] rc.local[354]: + [ 0 = 0 ]
[ 6.053117] rc.local[354]: + sed -i s|--keep-baud .* %I| 115200 %I|g /lib/systemd/system/serial-getty@.service
[ 6.059409] rc.local[354]: + systemctl daemon-reload
[ 6.065592] rc.local[354]: + [ -f /host/image-202205.133812-e8fe21b3a/platform/firsttime ]
[ 6.074332] rc.local[354]: + echo First boot detected. Performing first boot tasks...
[ 6.078155] rc.local[354]: First boot detected. Performing first boot tasks...
[ 6.081148] rc.local[354]: + [ -n ]
[ 6.086179] rc.local[354]: + [ -n x86_64-kvm_x86_64-r0 ]
[ 6.088825] rc.local[354]: + platform=x86_64-kvm_x86_64-r0
[ 6.090372] rc.local[354]: + [ -d /host/old_config ]
[ 6.094434] rc.local[354]: + [ -f /host/minigraph.xml ]
[ 6.096638] rc.local[354]: + [ -n ]
[ 6.101041] rc.local[354]: + touch /tmp/pending_config_initialization
[ 6.102851] rc.local[354]: + touch /tmp/notify_firstboot_to_platform
[ 6.108945] rc.local[354]: + [ ! -d /host/reboot-cause/platform ]
[ 6.114369] rc.local[354]: + mkdir -p /host/reboot-cause/platform
[ 6.116093] rc.local[354]: + [ -d /host/image-202205.133812-e8fe21b3a/platform/x86_64-kvm_x86_64-r0 ]
[ 6.121007] rc.local[354]: + sync
[ 6.126091] rc.local[354]: + [ -n x86_64-kvm_x86_64-r0 ]
[ 6.135691] rc.local[354]: + [ -n ]
[ 6.138201] rc.local[354]: + mkdir -p /var/platform
[ 6.143169] rc.local[354]: + [ -f /etc/default/kdump-tools ]
[ 6.147718] rc.local[354]: + sed -i -e s/__PLATFORM__/x86_64-kvm_x86_64-r0/g /etc/default/kdump-tools
[ 6.152807] rc.local[354]: + firsttime_exit
[ 6.155310] rc.local[354]: + rm -rf /host/image-202205.133812-e8fe21b3a/platform/firsttime
[ 6.165820] rc.local[354]: + exit 0
Debian GNU/Linux 11 sonic ttyS0
sonic login: admin
Password:
Linux sonic 5.10.0-12-2-amd64 #1 SMP Debian 5.10.103-1 (2022-03-07) x86_64
You are on
____ ___ _ _ _ ____
/ ___| / _ | | (_)/ ___|
___ | | | | | | | |
___) | |_| | | | | |___
|____/ ___/|_| _|_|____|
-- Software for Open Networking in the Cloud --
Unauthorized access and/or use are prohibited.
All access and/or use are subject to monitoring.
Help: http://azure.github.io/SONiC/
admin@sonic:~$
admin@sonic:~$ show lldp table
Capability codes: (R) Router, (B) Bridge, (O) Other
LocalPort RemoteDevice RemotePortID Capability RemotePortDescr
----------- -------------- -------------- ------------ -----------------
Ethernet0 sonic fortyGigE0/0 BR Ethernet0
--------------------------------------------------
Total entries displayed: 1
admin@sonic:~$