Broadcom版のSONiCをVirtualBoxで動かす - 導入編

2年程前に商用版のSONiCの代表的な存在であるDELL Enterprise SONiCをVMWare Fusionに導入する記事を公開したが、その後、DELL社(DELL Technologies社)がDELL Enterprise SONiCの仮想アプライアンス版の公開をサポート契約者のみに限定した事で、サポート契約をしていないユーザが動作確認や学習目的でダウンロードし試用する事がほぼ不可能となった。
当記事の公開時の段階でサポート契約無しで試用可能な商用版のSONiCは、Broadcom版とPLVISION版とAsterfusion版が挙げられる。OSPFやBGP等のL3ルーティングを動かせるのはBroadcom版のみとなった事から、商用版SONiCの学習用環境としてBroadcom版のSONiCの導入を検討。
今回は、Broadcom版のSONiCをVirtualBoxに導入した際の備忘録である。
 
尚、仮想アプライアンス版の動作環境として今はVirtualBoxよりもGNS3やEVE-NG等の仮想環境の方が一般的なようである。
GNS3環境への導入および動作確認に関しては、cyo-changさんのQiitaの記事をご参照ください。
https://qiita.com/cyo-chang/items/f007fa93fcff0b2897aa SONiC VS 仮想スイッチを使ってみよう [Broadcom]



Broadcom Enterprise SONiCの入手および下準備
下記のリンク先より、Broadcom版SONiCのイメージファイルをダウンロードする。
当記事の公開の段階では、2021年にリリースされたバージョン3.1.2のみダウンロードが可能である。約5年前のものだが使わせて頂けるだけでも感謝。
VMWare ESXiやVMWare Fusion、VirtualBox、GNS3などの環境にて動作が可能である。
https://github.com/Broadcom/sonic-VirtualSwitch/releases/
 
ダウンロードから下準備までの流れは以下のとおり。
① 上記のURLにアクセスし、sonic-vs-3.1.2.img.gzをダウンロード。
② ダウンロードしたBroadcom版SONiCのgzファイルを展開。
③ 中から出てきたsonic-vs.imgファイルをsonic-vs.vmdkまたはsonic-vs.vdiに変換。
自分の環境では、VirtualBoxにてデプロイ出来るようにWindows環境にてNHCというツールでimg形式からvmdk形式に変換した。
https://euee.web.fc2.com/tool/nhc.html#nhc
 


当方の環境
以下の環境では3台までなら快適にSONiCを動かす事が出来る。複数台動作させるにはホスト機側のRAMは少なくとも16GBは欲しいところである。

ホスト機:macOS 26.4 / MacBook Pro 2020 / RAM: 16GB / CPU: Intel Core i5 2.0GHz
仮想化環境:VirtualBox 7.2.6 r172322
ゲスト機:Broadcom SONiC 3.1.2



SONiCの導入および設定
1. UUIDの付与
VirtualBoxにて仮想マシンを動かすには、仮想マシンのvmdkファイルやvdiファイルにUUIDが付与されている事が必要である為、VirtualBoxにデプロイする前にSONiCの.vmdkファイルや.vdiファイルにUUIDを付与する。
また、.vmdkファイルや.vdiファイルのファイル名を変更した際も以下を実行し、UUIDを再付与する。
 
VirtualBoxの設定が終わった後、UUIDを付与したvmdkファイルsonic-vs.vmdk(またはsonic-vs.vdiファイル)をBroadcom Enterprise SONiCのディレクトリ内に移動する。元からあるvdiファイルは削除する。

$ cd "VirtualBox VMs"
$
$ VBoxManage internalcommands sethduuid "sonic-vs.vmdk"
UUID changed to: 9e1de549-33e2-45bd-a988-74cf402c77fb
$

 

2. VirtualBoxの設定
Hard Diskの設定にて、Use an existing virtual hard disk fileを選択し上記の.vmdkファイルを選択。
VirtualBoxやEVE-NG環境で動かすのであれば、仮想RAMは4GB有れば充分だろう。
 
[General]
VM Name:Broadcom Enterprise SONiC-vs-3.1.2_01
OS:Linux
OS Distribution:Debian
OS Version:Debian (64-bit)

[System]
Base Memory:4096MB
Processors:2
Boot Order:Hard Disk
Acceleration:VT-x/AMD-V, Nested Paging, PAE/NX, KVM Paravirtualization

[Display]
Video Memory:16MB
Graphics Controller:VMSVGA
Remote Desktop Server:Disabled
Recording:Disabled

[Storage]
Controller:IDE
IDE Primary Master:sonic-vs.vmdk

[Audio]
Disabled

[Network]
Adapter 1:Intel PRO/1000 MT Server (Bridged Adapter, Broadcom 4313 802.1b/g/n)
Adapter 2:Intel PRO/1000 MT Server (Internal Network, 'intnet01')
Adapter 3:Intel PRO/1000 MT Server (Internal Network, 'intnet02')
Adapter 4:Intel PRO/1000 MT Server (Internal Network, 'intnet03')

[Serial Ports]
Enable Serial Port
Port Number:COM1
Port Mode:Host Pipe
Connect to existing pipe/socketのチェックを外す
Port/Address:/tmp/sonic
 
macOSの環境では、SONiCを立ち上げてVirtualBoxのコンソールのウインドウ内にSONiCの起動画面が出力されたら、ターミナルを立ち上げてsocatコマンドを叩くと、コンソールケーブルを介して機器に接続した際と同じように起動ログの出力やコマンドの実行等が可能になる。
例:socat /tmp/sonic stdio,raw,echo=0,escape=0x1a
 

VirtualBoxの仮想NICはVirtualBoxの設定画面上では4つまで設定が可能だが、VirtualBoxに実装されているVBoxManage modifyvmコマンドを使用すると最大8つまで仮想NICを増やす事が出来る。
 
以下は5個目の仮想NICの追加設定の例である。
VirtualBoxの仮想マシン名はBROADCOM Enterprise SONiC-vs-3.1.2、仮想NICのアダプター5はIntel PRO/1000 MT Desktopで作成し、内部ネットワークintnet04を適用したい場合は以下のコマンドを実行する。
ここでは内部ネットワークの名称をintnet04としているが、利用者が任意の文字列で設定が可能である。
以下はmacOSのターミナルで実行した内容。Windows環境でも同じような事は実行可能と思われる。

% cd "VirtualBox VMs"
% cd "Broadcom Enterprise SONiC-vs-3.1.2_01"
% 
% VBoxManage modifyvm "BROADCOM Enterprise SONiC-vs-3.1.2" --nic5 intnet
% VBoxManage modifyvm "BROADCOM Enterprise SONiC-vs-3.1.2" --intnet5 "intnet04"
% VBoxManage modifyvm "BROADCOM Enterprise SONiC-vs-3.1.2" --nictype5 82540EM
% VBoxManage modifyvm "BROADCOM Enterprise SONiC-vs-3.1.2” --nicpromisc5 allow-all

 

3. Broadcom Enterprise SONiCの起動およびログイン
VirtualBoxにて起動ボタン(英語版ではStartボタン)をクリックし、Broadcom Enterprise SONiCを立ち上げる。
SONiCの起動が完了しログインプロンプトが出力されたら、デフォルトのログインアカウントadmin、パスワードYourPaSsWoRdを入力し、SONiCにログイン。
System is readyのログ出力の前と後どちらのタイミングでログインしても良い。
VirtualBoxのコンソール画面ではSystem is readyのログは出力されないので、ログイン後数分待ってからコマンドを叩き始める。

  Booting `SONiC-OS-3.1.2-Enterprise_Base'

Loading SONiC-OS OS kernel ...
Loading SONiC-OS OS initial ramdisk ...
[    8.757706] rc.local[418]: + grep loop=
:
省略
:
[   27.336765] rc.local[419]: + [ -f /var/log/fsck.log.gz ]
[   27.342214] rc.local[419]: + /usr/bin/python /usr/bin/image_tables_init.py
[   27.346352] rc.local[419]: + gunzip -d -c /var/log/fsck.log.gz
[   27.350103] rc.local[419]: + logger -t FSCK
[   27.364194] rc.local[419]: + rm -f /var/log/fsck.log.gz
[   27.376744] rc.local[419]: + exit 0

Debian GNU/Linux 9 sonic ttyS0

sonic login: 

Apr 10 23:29:47.092951 System is ready 

 

4. 初回ログイン後の確認
Broadcom Enterprise SONiCのバージョンを確認する。
OSS版のSONiCと同じく、SONiCのバージョンだけでなく土台となっているDebian GNU/Linuxのバージョンやカーネルのバージョン、中で動作しているコンテナサービスの名称やタグ、Dockerイメージのタグ、DockerイメージのID、Dockerイメージが使用しているディスクの容量等が出力される。

admin@sonic:~$ show version

SONiC Software Version: SONiC-OS-3.1.2-Enterprise_Base
Product: Enterprise SONiC Distribution by Broadcom - Enterprise Base package
Distribution: Debian 9.13
Kernel: 4.9.0-11-2-amd64
Config DB Version: version_3_1_2
Build commit: 1759d99d0
Build date: Thu Jul  8 18:48:40 UTC 2021
Built by: sonicbld@sonic-lvn-csg-001

Platform: x86_64-kvm_x86_64-r0
HwSKU: DellEMC-S5248f-P-25G-DPB
ASIC: vs
Serial Number: 000000
Uptime: 23:31:17 up 3 min,  1 user,  load average: 3.35, 2.57, 1.06

Docker images:
REPOSITORY                    TAG                     IMAGE ID            SIZE
docker-sonic-mgmt-framework   3.1.2-Enterprise_Base   d9e99528f115        528MB
docker-sonic-mgmt-framework   latest                  d9e99528f115        528MB
docker-sonic-telemetry        3.1.2-Enterprise_Base   2873301f1b16        434MB
docker-sonic-telemetry        latest                  2873301f1b16        434MB
docker-iccpd                  3.1.2-Enterprise_Base   c4e70ec1005d        320MB
docker-iccpd                  latest                  c4e70ec1005d        320MB
docker-l2mcd                  3.1.2-Enterprise_Base   226065e0604e        319MB
docker-l2mcd                  latest                  226065e0604e        319MB
docker-teamd                  3.1.2-Enterprise_Base   6a2d5129a52e        319MB
docker-teamd                  latest                  6a2d5129a52e        319MB
docker-dhcp-relay             3.1.2-Enterprise_Base   5100d477fa7f        326MB
docker-dhcp-relay             latest                  5100d477fa7f        326MB
:
省略
:
admin@sonic:~$ 

 
続いて、show interfaces statusというどこかで見たようなコマンドを叩き、SONiCのインターフェースの状態を確認する。

admin@sonic:~$ show interfaces status
  Interface            Lanes    Speed    MTU    Alias    Vlan    Oper    Admin    Type    Asym PFC
-----------  ---------------  -------  -----  -------  ------  ------  -------  ------  ----------
  Ethernet0               49      25G   9100   Eth1/1  routed    down     down     N/A         N/A
  Ethernet1               50      25G   9100   Eth1/2  routed    down     down     N/A         N/A
  Ethernet2               51      25G   9100   Eth1/3  routed    down     down     N/A         N/A
  Ethernet3               52      25G   9100   Eth1/4  routed    down     down     N/A         N/A
  Ethernet4               57      25G   9100   Eth1/5  routed    down     down     N/A         N/A
  Ethernet5               58      25G   9100   Eth1/6  routed    down     down     N/A         N/A
  Ethernet6               59      25G   9100   Eth1/7  routed    down     down     N/A         N/A
  Ethernet7               60      25G   9100   Eth1/8  routed    down     down     N/A         N/A
  Ethernet8               61      25G   9100   Eth1/9  routed    down     down     N/A         N/A
:
省略
:
 Ethernet64          1,2,3,4     100G   9100  Eth1/53  routed    down     down     N/A         N/A
 Ethernet68      33,34,35,36     100G   9100  Eth1/54  routed    down     down     N/A         N/A
 Ethernet72          5,6,7,8     100G   9100  Eth1/55  routed    down     down     N/A         N/A
 Ethernet76      41,42,43,44     100G   9100  Eth1/56  routed    down     down     N/A         N/A
admin@sonic:~$ 


vtyshコマンドを叩く事で、FRRのモードに移行し設定や設定内容の確認が可能になる。
以下はFRRのモードに移行しshow versionコマンドの実行結果。
FRRのバージョンとBroadcom Enterprise SONiCのビルド時のオプションが出力された。

admin@sonic:~$ vtysh

Hello, this is FRRouting (version 7.2-sonic).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

sonic# 
sonic# show version
FRRouting 7.2-sonic (jpmtkvmsw96).
Copyright 1996-2005 Kunihiro Ishiguro, et al.
configured with:
    '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' 
 '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' 
 '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' 
 '--disable-maintainer-mode' 
 '--enable-exampledir=/usr/share/doc/frr/examples/' '--localstatedir=/var/run/frr' '--sbindir=/usr/lib/frr' 
 '--sysconfdir=/etc/frr' 
 '--with-vtysh-pager=/usr/bin/pager' '--libdir=/usr/lib/x86_64-linux-gnu/frr' '--with-moduledir=/usr/lib/x86_64-linux-gnu/frr/modules'
 '--disable-dependency-tracking' '--enable-systemd=yes' '--disable-rpki' '--with-libpam' '--enable-doc' '--enable-doc-html'
 '--enable-snmp' '--enable-fpm' '--enable-iptrackd' '--disable-protobuf' '--disable-zeromq' '--disable-isisd' '--disable-eigrpd' 
 '--disable-ldpd' '--disable-ripd' '--disable-ripngd' '--disable-ospf6d' '--disable-babeld' '--disable-vrrpd' '--disable-fabricd' 
 '--enable-ospfapi' '--enable-bgp-vnc' '--enable-multipath=256' '--enable-user=frr' '--enable-group=frr' '--enable-vty-group=frrvty' 
 '--enable-configfile-mask=0640' '--enable-logfile-mask=0640' 'build_alias=x86_64-linux-gnu' 'PYTHON=python3'
sonic# 
sonic# exit
admin@sonic:~$ 

 
sonic-cliコマンドを叩く事で、Cisco IOSライクなコマンドが叩けるモードへの移行が可能である。
以下はsonic-cliモードに移行しshow versionコマンドの実行結果。
Broadcom Enterprise SONiCのバージョンやベースとなっているDebian GNU/Linuxのバージョン、動作しているサービスのDockerコンテナの一覧等が出力された。

admin@sonic:~$ sonic-cli
sonic# 
sonic# 
sonic# show version
 
Software Version  : '3.1.2-Enterprise_Base'
Product           : Enterprise SONiC Distribution by Broadcom - Enterprise Base package
Distribution      : '9.13'
Kernel            : '4.9.0-11-2-amd64'
Config DB Version : version_3_1_2
Build Commit      : '1759d99d0'
Build Date        : Thu Jul  8 18:48:40 UTC 2021
Built By          : sonicbld@sonic-lvn-csg-001
Platform          : x86_64-kvm_x86_64-r0
HwSKU             : DellEMC-S5248f-P-25G-DPB
ASIC              : vs
Serial Number     : 000000
Uptime            : 23:32:12 up 4 min, 1 user, load average: 2.19, 2.38, 1.08
 
REPOSITORY                              TAG                                     IMAGE ID            SIZE
docker-database                         3.1.2-Enterprise_Base                   6acb5ad8f68b        286MB
docker-database                         latest                                  6acb5ad8f68b        286MB
docker-dhcp-relay                       3.1.2-Enterprise_Base                   5100d477fa7f        326MB
docker-dhcp-relay                       latest                                  5100d477fa7f        326MB
docker-fpm-frr                          3.1.2-Enterprise_Base                   96ee095dada1        365MB
docker-fpm-frr                          latest                                  96ee095dada1        365MB
docker-iccpd                            3.1.2-Enterprise_Base                   c4e70ec1005d        320MB
:
省略
: 
sonic# exit
admin@sonic:~$ 

 
ちなみに、以下のdocker psコマンドを叩くとSONiCの中で動作しているDockerコンテナの一覧の簡易版が出力される。この方が何が動いているか分かり易い。
尚、以下のコマンドのオプションは以下の本の記載内容から拝借した。
https://www.amazon.co.jp/dp/4297149435/ 実践SONiC入門 13ページ目 SONiCで起動しているDockerコンテナの一覧

admin@jpmtkvmsw94:~$ docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Command}}"
NAMES               IMAGE                                COMMAND
telemetry           docker-sonic-telemetry:latest        "/usr/bin/supervisord"
dhcp_relay          docker-dhcp-relay:latest             "/usr/bin/docker_ini…"
lldp                docker-lldp-sv2:latest               "/usr/bin/supervisord"
snmp                docker-snmp-sv2:latest               "/usr/bin/supervisord"
sflow               docker-sflow:latest                  "/usr/bin/supervisord"
radv                docker-router-advertiser:latest      "/usr/bin/supervisord"
mgmt-framework      docker-sonic-mgmt-framework:latest   "/usr/bin/supervisord"
udld                docker-udld:latest                   "/usr/bin/supervisord"
nat                 docker-nat:latest                    "/usr/bin/supervisord"
tam                 docker-tam:latest                    "/usr/bin/supervisord"
stp                 docker-stp:latest                    "/usr/bin/supervisord"
l2mcd               docker-l2mcd:latest                  "/usr/bin/supervisord"
syncd               docker-syncd-vs:latest               "/usr/bin/supervisord"
iccpd               docker-iccpd:latest                  "/usr/bin/supervisord"
bgp                 docker-fpm-frr:latest                "/usr/bin/supervisord"
teamd               docker-teamd:latest                  "/usr/bin/supervisord"
swss                docker-orchagent:latest              "/usr/bin/supervisord"
pmon                docker-platform-monitor:latest       "/usr/bin/docker_ini…"
vrrp                docker-vrrp:latest                   "/usr/bin/supervisord"
database            docker-database:latest               "/usr/local/bin/dock…"
admin@jpmtkvmsw94:~$ 

 
上記のdocker psコマンドの詳細版のような出力内容を確認したい場合は、show servicesコマンドを叩く。
実行されているコマンドやCPU使用率やメモリー使用率等の情報がDockerコンテナ毎に出力される。

admin@sonic:~$ show services
telemetry	docker
---------------------------
USER     PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       1  0.1  0.5  58476 20780 pts/0    Ss+  23:29   0:00 /usr/bin/python /usr/bin/supervisord
root      24  0.0  0.3  41148 13360 pts/0    S    23:29   0:00 python /usr/bin/supervisor-proc-exit-listener
root      29  0.0  0.0 250136  2928 pts/0    Sl   23:29   0:00 /usr/sbin/rsyslogd -n
root      34  4.1  7.1 671312 264880 pts/0   Sl   23:29   0:09 telemetry -logtostdout --insecure --port 8080 -v=2

dhcp_relay	docker
---------------------------
USER     PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       1  0.1  0.5  58216 20496 pts/0    Ss+  23:29   0:00 /usr/bin/python /usr/bin/supervisord
root      36  0.0  0.3  41148 13396 pts/0    S    23:29   0:00 python /usr/bin/supervisor-proc-exit-listener
root      40  0.0  0.0 250136  2984 pts/0    Sl   23:29   0:00 /usr/sbin/rsyslogd -n
root      45  0.0  0.1 102892  4712 pts/0    Sl   23:29   0:00 /usr/bin/dhcprelaymgrd

lldp	docker
---------------------------
USER     PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       1  0.1  0.5  58612 21060 pts/0    Ss+  23:29   0:00 /usr/bin/python /usr/bin/supervisord
root      24  0.0  0.3  41148 13408 pts/0    S    23:29   0:00 python /usr/bin/supervisor-proc-exit-listener
root      28  0.0  0.0 250136  3000 pts/0    Sl   23:29   0:00 /usr/sbin/rsyslogd -n
root      41  0.0  0.1  62868  4608 pts/0    S    23:29   0:00 lldpd: monitor. 
_lldpd    43  0.0  0.0  62984  3472 pts/0    S    23:29   0:00 lldpd: no neighbor.
root      47  0.0  0.4 120468 15312 pts/0    Sl   23:29   0:00 python2 -m lldp_syncd
root      53  0.0  0.3  50820 11940 pts/0    S    23:29   0:00 python /usr/bin/lldpmgrd
:
省略
:
admin@sonic:~$ 

 

5. SONiCの初期設定
SSHログインで使用するIPアドレスの設定の前に、管理用インターフェースeth0にIPアドレスがアサインされている事を確認する。
show ip interfacesコマンドを叩くと、eth0にIPアドレス192.168.3.24がアサインされている事がわかる。

admin@sonic:~$ show ip interfaces 
Interface    IPv4 address/mask    Master    Admin/Oper    BGP Neighbor    Neighbor IP    Flags
-----------  -------------------  --------  ------------  --------------  -------------  -------
docker0      240.127.1.1/24                 up/down       N/A             N/A
eth0         192.168.3.24/24                up/up         N/A             N/A
lo           127.0.0.1/8                    up/up         N/A             N/A
admin@sonic:~$ 

 
続いて、ホスト名と管理用インターフェースeth0にIPアドレスを設定し、設定内容を保存する。
一旦ログアウトしログインプロンプトを出力されると、設定内容が反映され新しいホスト名が出力される。

admin@sonic:~$ sudo config hostname jpmtkvmsw94

Broadcast message: Hostname has been changed from 'sonic' to 'jpmtkvmsw94'. Users running 'sonic-cli' are suggested to restart your session.

admin@sonic:~$ sudo config interface ip add eth0 192.168.3.94/24
admin@sonic:~$ sudo config save
Existing file will be overritten, continue? [y/N]: y
Running command: /usr/local/bin/sonic-cfggen -d --print-data >
Running command: mv -f /run/tmpELpt5J /etc/sonic/config_db.json
Running command: sync;sync;sync
25388 Bytes written
admin@sonic:~$
admin@sonic:~$ exit
logout

Debian GNU/Linux 9 jpmtkvmsw94 ttyS0

jpmtkvmsw94 login:

 

6. SONiCにSSHログイン
上記で設定したIPアドレスでSONiCへのログインを試みる。
当記事の作成前にテストとして数回sshログインを試みている為、初回ログインの際のRSA key Fingerprintの保存に関する出力は無い。

apple@macbook01 ~ % ssh admin@192.168.3.94
admin@192.168.3.94's password: 
Linux jpmtkvmsw94 4.9.0-11-2-amd64 #1 SMP Debian 4.9.189-3+deb9u2 (2019-11-11) 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/

Last login: Fri Apr 10 23:55:55 2026 from 192.168.3.11
admin@jpmtkvmsw94:~$ 

 

7. SONiCにNTPサーバとTimezoneの設定
Broadcom Enterprise SONiCのTimezoneのデフォルト設定は以下の出力内容のとおり日本(Asia/Tokyo)ではないので、timedatectlコマンドでTimezoneの設定を変更する。
併せて、時刻同期先の設定も行い、sudo config saveコマンドを叩いて設定内容を保存する。

admin@jpmtkvmsw94:~$ sudo config ntp add 210.173.160.27
NTP server 210.173.160.27 added to configuration
admin@jpmtkvmsw94:~$ 
admin@jpmtkvmsw94:~$ sudo timedatectl status
      Local time: Sat 2026-04-11 06:04:57 UTC
  Universal time: Sat 2026-04-11 06:04:57 UTC
        RTC time: Sat 2026-04-11 06:04:58
       Time zone: Etc/UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
admin@jpmtkvmsw94:~$ 
admin@jpmtkvmsw94:~$ sudo timedatectl set-timezone Asia/Tokyo
admin@jpmtkvmsw94:~$ 
admin@jpmtkvmsw94:~$ sudo config save
Existing file will be overwritten, continue? [y/N]: y
Running command: /usr/local/bin/sonic-cfggen -d --print-data > /run/tmp_7BrVl
Running command: mv -f /run/tmp_7BrVl /etc/sonic/config_db.json
Running command: sync;sync;sync
25870 Bytes written
admin@jpmtkvmsw94:~$ 

 
最後にTimezoneの確認と現在の時刻を確認し、上記の設定が正しく反映されている事を確認する。

admin@jpmtkvmsw94:~$ sudo timedatectl status
      Local time: Sat 2026-04-11 15:36:04 JST
  Universal time: Sat 2026-04-11 06:36:04 UTC
        RTC time: Sat 2026-04-11 06:36:04
       Time zone: Asia/Tokyo (JST, +0900)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no
admin@jpmtkvmsw94:~$ 
admin@jpmtkvmsw94:~$ show clock
Sat Apr 11 15:36:41 JST 2026
admin@jpmtkvmsw94:~$ 
admin@jpmtkvmsw94:~$

 

今回はここまで。
商用版のSONiCであるBroadcom版のSONiCであるBroadcom Enterprise SONiCをVirtualBoxにデプロイし、設定ファイルのチラ見やモードの移行を試してみた。
初期設定として管理用インターフェースにIPアドレスを静的に設定し、SONiCにSSHログインが出来る事を確認。続いてTimezone設定と時刻同期の設定を行い、Timezoneと時刻が想定通りの出力内容になっている事を確認した。
 
次回は動作確認としてBroadcom Enterprise SONiCを複数台立ち上げ、BGPやOSPF等のようなルーティングプロトコルを設定し動作確認を行いたい。
 

 


参照サイトなど
Broadcom社のサイト内にはSONiCのリリースノートやマニュアル等のドキュメントは無い点に注意。
https://sonicfoundation.dev/ SONiC Foundation
https://jp.broadcom.com/products/ethernet-connectivity/software/enterprise-sonic Broadcom版SONiC
https://www.macnica.co.jp/business/network/manufacturers/broadcom/enterprise_sonic.html 【Broadcom】Enterprise SONiC
https://www.macnica.co.jp/business/network/manufacturers/broadcom/enterprise_sonic_tech.html オープンネットワーキング技術ブログ【第17回】Enterprise SONiC distribution by Broadcomとは?
https://qiita.com/cyo-chang/items/f007fa93fcff0b2897aa SONiC VS 仮想スイッチを使ってみよう [Broadcom]
https://www.amazon.co.jp/dp/4297149435/ 実践SONiC入門
 


SONiC関連の記事
https://debslink.hatenadiary.jp/entry/20210131/1612091391 SONiCを少しかじってみた
https://debslink.hatenadiary.jp/entry/20210214/1613279732 SONiCのWarm Bootの動作確認
https://debslink.hatenadiary.jp/entry/20210822/1629600666 SONiCとCumulus LinuxでBGP unnumbered
https://debslink.hatenadiary.jp/entry/20210902/1630584311 SONiCとCumulus LinuxでBGP/EVPN/VXLAN
https://debslink.hatenadiary.jp/entry/20210912/1631418907 SONiCとCumulus Linuxで4byte ASなBGP+IP Clos構成
https://debslink.hatenadiary.jp/entry/20220122/1642852049 SONiCでL2 MC-LAGを組んでみた
https://debslink.hatenadiary.jp/entry/20210627/1624789102 SONiCの解説動画
https://debslink.hatenadiary.jp/entry/20240421/1713678733 DELL版のSONiCをVMware Fusionで動かす - 導入編
https://debslink.hatenadiary.jp/entry/20240526/1716650068 SONiC Workshop Japan 2024に参加した
https://debslink.hatenadiary.jp/entry/20250520/1747738103 SONiC Workshop Japan 2025に参加した
https://debslink.hatenadiary.jp/entry/20260413/1776077524 Broadcom版のSONiCをVirtualBoxで動かす - 導入編
https://debslink.hatenadiary.jp/entry/20260427/1777289468 Broadcom版のSONiCをVirtualBoxで動かす - LAG設定編