メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

DELL版のSONiCをVMware Fusionで動かす - 導入編

3年程前にホワイトボックススイッチのNOS(Network OS)であるSONiCをVirtualBoxにデプロイし、L2 MC-LAGやIP Clos構成等を組んで色々遊んでいたが、その際に導入したSONiCはMicrosoft社が開発しLinux Foundationで管理しているOSS且つ「本流の」SONiCである。一方、「本流」のSONiCをEdgecoreやDELL等のITベンダが独自にカスタマイズし商用版のSONiCとして提供している。
今回は商用版のSONiCにも触れてみようという事で、当記事の作成時の段階で無償で使用が可能なDELL版のSONiCをVMware Fusionにデプロイしコマンドの操作感等を確認した。
 

ホワイトボックススイッチNOSの今
前回のSONiC関連の記事から早いもので約3年が経ち...Cumulus Linuxを開発および販売していたCumulus Networks社がNVIDIA社に買収されNVIDIA Cumulus Linuxとなり、IP Infusion社のOcNOSとPica8社のPicOSを合わせた3社が商用版のホワイトボックススイッチNOSとしてある程度の地位を確保。OSSなホワイトボックススイッチのNOSは、FaceBookが自社サービスにて導入しているFBOSSと今回の記事にて扱っているSONiCの開発が今もなお活発で、他は停滞しているといった感じか。
特に、SONiCは国内外のデータセンタにてここ数年の間に急激に導入が進み、OSSなホワイトボックススイッチNOSではデファクトスタンダートになりつつあり、趨勢はほぼ決まりかけているだろう。


DELL版のSONiCとは
2020年にDELL社はEMC社との共同でEnterprise SONiC Distribution by Dell Technologies(Enterprise SONiC OS)を発表。以前当ブログにて扱っていたOSS版のSONiCとは異なり、ベンダのサポートやベンダ独自の実装が有る。また、OSS版のSONiCとは異なり/etc/sonic/config_db.jsonファイルの中にBGP等の設定の記載が無い為、BGPの設定をvtyshやsonic-cliで最初から行う事が出来る。
商用版のSONiCはDELLのEnterprise SONiC OSの他に、Edgecore社やNvidia社やBroadcom社等がそれぞれのベンダ毎にカスタマイズされたSONiCをリリースしている。
当記事では入手が容易なDELL版のSONiC(Enterprise SONiC OS)を扱う。


 

Enterprise SONiC OSの入手および下準備
下記のリンク先より、DELL版のSONiCであるEnterprise SONiC OSのイメージファイルをダウンロードする。
当記事の作成の段階ではユーザ登録は不要で、最新版ではなくバージョン4.1.1のダウンロードが可能だった。
VirtualBoxにデプロイする事は可能だがNICを認識しなかった為、VMware Fusionにてデプロイした。e1000が認識出来れば良いのでWindows環境ではVMware Workstationにデプロイする事は可能だろう。
https://www.dell.com/support/home/en-us/product-support/product/enterprise-sonic-distribution/drivers

ダウロードおよび下準備の流れは以下のとおり。
①上記のURLにアクセスし、Enterprise SONiC OS 4.1.1のgns3をダウンロード。
②ダウンロードしたDELL版SONiCのzipファイルを展開。
③中から出てきたEnterprise_SONiC_OS_4.1.1.imgファイルをEnterprise_SONiC_OS_4.1.1.vmdkに変換。
ダウンロードしたファイルはimg形式である為、VMware Fusionにてデプロイ出来るようにWindows環境にてNHCというツールでimg形式からvmdk形式に変換した。
https://euee.web.fc2.com/tool/nhc.html#nhc


当方の環境
ホスト機:macOS 14.4.1 / MacBook Pro 2020 / RAM: 16GB / CPU: Intel Core i5 2.0GHz
Hypervisor:VMware Fusion 12.2.5
ゲスト機:Enterprise SONiC OS 4.1.1


Enterprise SONiC OSのデプロイ
以下はVMware Fusion環境のEnterprise SONiC OSのデプロイの流れである。

VMware Fusionを立ち上げ、ウインドウ内左上の「+」をクリックし「新規」を選択。
尚、以下の画像内にて名前欄内の仮想アプライアンスの一覧の中に有るEnterprise SONiC-OS 4.1.1は、当記事作成前にテスト用にデプロイしたものである。


 
「インストール方法を選択」のウインドウ内に、SONiCのvmdkファイルをドラッグ&ドロップ。


 
「オペレーティング システムの選択」のウインドウ内にて、Linux > Debian 10.x (64ビット)の順に選択し、「続ける」をクリック。


 
「ファームウェア タイプを選択」のウインドウ内にて「ブートファームウェアの指定:」は「レガシーBIOS」を選択し、「続ける」をクリック。


 
「仮想ディスクを選択」のウインドウ内にて、「仮想ディスクオプションの選択:」は「既存の仮想ディスクを使用」にチェックを入れ、「仮想ディスクを選択...」をクリック。


 
Enterprise_SONiC_OS_4.1.1.vmdk選択し「仮想ディスクの個別コピーを作成する」にチェックを入れ「選択」をクリック。「仮想ディスクを選択」のウインドウに戻ったら「続ける」をクリック。


 
ディスクのコピーが実行される。ディスクのコピーは数秒で完了し、仮想マシンの設定のウインドウが表示される。
「終了」のウインドウ内にて「設定のカスタマイズ」をクリック。


 
「名前:」に任意の文字列(自分の場合「DELL_Enterprise_SONiC_OS_4.1.1」にした。拡張子は変更しない)を入力し「保存」をクリック。


 
設定項目の一覧が表示される。
一覧の中に有る「プロセッサとメモリ」をクリック。


 
仮想マシンのプロセッサとメモリの設定のウインドウが表示される。
自分の場合、以下の内容に設定した。
・プロセッサ:1個のプロセッサ コア
・メモリ:4096MB
・上記の設定後「すべてを表示」をクリック


 
設定項目の一覧に戻ったら、一覧の中に有る「ネットワークとアダプタ」をクリック。
ネットワークとアダプタの設定のウインドウが表示される。ここではSONiCの仮想NICの設定を行う。
Wi-Fiにチェックを入れ、詳細オプション欄内にて「生成」をクリックしMACアドレスを生成させる。
完了したら「デバイスを追加」をクリック。


 
「追加するデバイスの選択:」欄が表示される。
今のところSONiCの仮想NICは1つしかない為、ここでNICを追加する。
一覧の中の「ネットワークアダプタ」をクリックする。


 
ネットワークとアダプタの設定のウインドウが表示される。
LAN方向のNICを想定している為「Macをプライベート」にチェックを入れ、詳細オプション欄内にて「生成」をクリックしMACアドレスを生成させる。
完了したら「デバイスを追加」をクリック。
今回は仮想NICを8個作成した為、当手順を7回繰り返し実施した。


 
設定項目の一覧に戻る。以下の画像は、仮想NICを8個作成し終えた状態。
この後は不要なデバイスを削除する。SONiCにWebカメラは不要である為、「カメラ」をクリック。


 
「カメラを削除」をクリック。
「カメラを削除しますか。」が表示されたらウインドウ内の「削除」をクリック。


 
設定項目の一覧に戻る。SONiCにサウンドカードも不要である為、「サウンドカード」をクリック。
「カメラを取り除きますか。」が表示されたらウインドウ内の「削除」をクリック。


 
デプロイの設定は一旦完了となる。
設定のウインドウ(DELL_Enterprise_SONiC_4.1.1:設定)を閉じ、VMware Fusionのウインドウ内右上の三角ボタンをクリックし、SONiCを起動させる。


 
SONiCの起動が完了。
ログインID:admin、パスワード:YourPaSsWoRdを入力しSONiCにログイン。
しかしこの段階ではバックグランドで起動のプロセスが動いている為、3分程そのまま放置する。


 
sshd周りの設定をいじらなくても、この段階でSONiCへのsshログインが出来る。
IPアドレスはDebian GNU/Linuxでよく使われるip add sコマンドを叩くと表示される。


 

ログイン後の確認
sshログインの完了後、まずはshow versionコマンドを叩きSONiCのバージョンを確認した。
SONiCをビルドした日時やOSのバージョンおよびSONiCの内部で動作している各コンテナのバージョンやサイズ等が出力される。
OSS版のSONiCとの間でバージョンの値のフォーマットが異なっている事が分かる。

admin@sonic:~$ show version

SONiC Software Version: SONiC-OS-4.1.1-Enterprise_Base
Product: Enterprise SONiC Distribution by Dell Technologies
Distribution: Debian 10.13
Kernel: 5.10.0-8-2-amd64
Config DB Version: version_4_1_1
Build commit: 988341d733
Build date: Mon Jul 24 13:40:05 UTC 2023
Built by: sonicbld@bld-lvn-csg-03

Platform: x86_64-kvm_x86_64-r0
HwSKU: DellEMC-S5248f-P-25G-DPB
ASIC: vs
ASIC Count: 1

Platform: x86_64-kvm_x86_64-r0
Serial Number: 000000
Uptime: 02:08:13 up 8 min,  2 users,  load average: 2.02, 2.72, 1.75

Docker images:
REPOSITORY                    TAG                     IMAGE ID       SIZE
docker-fpm-frr                4.1.1-Enterprise_Base   65aa7cb44f6a   517MB
docker-fpm-frr                latest                  65aa7cb44f6a   517MB
docker-iccpd                  4.1.1-Enterprise_Base   4e92b4343089   493MB
docker-iccpd                  latest                  4e92b4343089   493MB
docker-dhcp-relay             4.1.1-Enterprise_Base   70dbc1fd0a63   493MB
docker-dhcp-relay             latest                  70dbc1fd0a63   493MB
docker-nat                    4.1.1-Enterprise_Base   54e3e777a688   492MB
docker-nat                    latest                  54e3e777a688   492MB
docker-sonic-telemetry        4.1.1-Enterprise_Base   b55f149a8a23   592MB
docker-sonic-telemetry        latest                  b55f149a8a23   592MB
docker-lldp                   4.1.1-Enterprise_Base   6e36cc7a39fb   495MB
docker-lldp                   latest                  6e36cc7a39fb   495MB
docker-udld                   4.1.1-Enterprise_Base   fcfc748112c8   496MB
docker-udld                   latest                  fcfc748112c8   496MB
docker-vrrp                   4.1.1-Enterprise_Base   ef7712d23bdd   498MB
docker-vrrp                   latest                  ef7712d23bdd   498MB
docker-stp                    4.1.1-Enterprise_Base   bed5c1c2b5a9   493MB
docker-stp                    latest                  bed5c1c2b5a9   493MB
docker-sflow                  4.1.1-Enterprise_Base   7fcc8350a4e9   492MB
docker-sflow                  latest                  7fcc8350a4e9   492MB
docker-l2mcd                  4.1.1-Enterprise_Base   cedfae63e418   490MB
docker-l2mcd                  latest                  cedfae63e418   490MB
docker-teamd                  4.1.1-Enterprise_Base   aef87d7eaebd   490MB
docker-teamd                  latest                  aef87d7eaebd   490MB
docker-sonic-mgmt-framework   4.1.1-Enterprise_Base   8d22882d4351   655MB
docker-sonic-mgmt-framework   latest                  8d22882d4351   655MB
docker-orchagent              4.1.1-Enterprise_Base   434a94f997cd   485MB
docker-orchagent              latest                  434a94f997cd   485MB
docker-gbsyncd-vs             4.1.1-Enterprise_Base   5acefe23ee27   411MB
docker-gbsyncd-vs             latest                  5acefe23ee27   411MB
docker-platform-monitor       4.1.1-Enterprise_Base   6a8dcd157c01   618MB
docker-platform-monitor       latest                  6a8dcd157c01   618MB
docker-syncd-vs               4.1.1-Enterprise_Base   5353ab1ab547   418MB
docker-syncd-vs               latest                  5353ab1ab547   418MB
docker-router-advertiser      4.1.1-Enterprise_Base   15f0793fad91   411MB
docker-router-advertiser      latest                  15f0793fad91   411MB
docker-eventd                 4.1.1-Enterprise_Base   9661414c9efb   412MB
docker-eventd                 latest                  9661414c9efb   412MB
docker-snmp                   4.1.1-Enterprise_Base   91976c87c7fb   434MB
docker-snmp                   latest                  91976c87c7fb   434MB
docker-macsec                 4.1.1-Enterprise_Base   7d8627e9e4cb   432MB
docker-macsec                 latest                  7d8627e9e4cb   432MB
docker-tam                    4.1.1-Enterprise_Base   dd96443bad94   497MB
docker-tam                    latest                  dd96443bad94   497MB
docker-database               4.1.1-Enterprise_Base   22af43ab3f82   417MB
docker-database               latest                  22af43ab3f82   417MB

admin@sonic:~$ 

 
続いて/etc/sonic/config_db.jsonファイルを開き、SONiCの設定内容を確認。
OSS版のSONiCではBGPの設定が既に入っていたが、DELL版のSONiCではBGPの設定が入っていない事が分かる。
OSS版SONiCではこのファイルを編集してBGPの設定を行っていたが、このファイルはなるべく触れずvtyshで設定したかったので嬉しい。

admin@sonic:~$ sudo cat /etc/sonic/config_db.json
{
    "CLASSIFIER_TABLE": {
        "class-oob-arp": {
            "DESCRIPTION": "",
            "ETHER_TYPE": "0x806",
            "MATCH_TYPE": "FIELDS"
        },
        "class-oob-dhcp-client": {
            "DESCRIPTION": "",
            "ETHER_TYPE": "0x800",
            "IP_PROTOCOL": "17",
            "L4_DST_PORT": "68",
            "MATCH_TYPE": "FIELDS"
        },
        "class-oob-dhcp-server": {
            "DESCRIPTION": "",
            "ETHER_TYPE": "0x800",
            "IP_PROTOCOL": "17",
            "L4_DST_PORT": "67",
            "MATCH_TYPE": "FIELDS"
        },
        "class-oob-ip-multicast": {
            "DESCRIPTION": "",
            "DST_IP": "224.0.0.0/4",
            "ETHER_TYPE": "0x800",
            "MATCH_TYPE": "FIELDS"
        },
        "class-oob-ipv6-multicast": {
            "DESCRIPTION": "",
            "DST_IPV6": "ff00::/8",
            "ETHER_TYPE": "0x86DD",
            "MATCH_TYPE": "FIELDS"
        }
    },
    "COREDUMP": {
        "config": {
            "enabled": "true"
        }
    },
    "DEVICE_METADATA": {
        "localhost": {
            "default_config_profile": "l3",
            "frr_mgmt_framework_config": "true",
            "hostname": "sonic",
            "hwsku": "DellEMC-S5248f-P-25G-DPB",
            "mac": "08:00:27:34:7e:78",
            "platform": "x86_64-kvm_x86_64-r0",
            "type": "LeafRouter"
        }
    },
    "ECMP_LOADSHARE_TABLE_IPV4": {
        "ipv4": {
            "ipv4_dst_ip": "true",
            "ipv4_l4_dst_port": "true",
            "ipv4_l4_src_port": "true",
            "ipv4_protocol": "true",
            "ipv4_src_ip": "true"
        }
    },
    "ECMP_LOADSHARE_TABLE_IPV6": {
        "ipv6": {
            "ipv6_dst_ip": "true",
            "ipv6_l4_dst_port": "true",
            "ipv6_l4_src_port": "true",
            "ipv6_next_hdr": "true",
            "ipv6_src_ip": "true"
        }
    },
    "HARDWARE": {
        "ACCESS_LIST": {
            "COUNTER_MODE": "per-rule",
            "LOOKUP_MODE": "optimized"
        }
    },
    "KDUMP": {
        "config": {
            "enabled": "true",
            "memory": "0M-2G:256M,2G-4G:256M,4G-8G:384M,8G-:448M",
            "num_dumps": "3"
        }
    },
    "NEIGH_GLOBAL": {
        "Values": {
            "ipv4_arp_timeout": "1800",
            "ipv6_nd_cache_expiry": "1800"
        }
    },
    "POLICY_BINDING_TABLE": {
        "CtrlPlane": {
            "INGRESS_QOS_POLICY": "oob-qos-policy"
        }
    },
    "POLICY_SECTIONS_TABLE": {
        "oob-qos-policy|class-oob-arp": {
            "DESCRIPTION": "",
            "PRIORITY": "1010",
            "SET_POLICER_CIR": "256000"
        },
        "oob-qos-policy|class-oob-dhcp-client": {
            "DESCRIPTION": "",
            "PRIORITY": "1020",
            "SET_POLICER_CIR": "512000"
        },
        "oob-qos-policy|class-oob-dhcp-server": {
            "DESCRIPTION": "",
            "PRIORITY": "1015",
            "SET_POLICER_CIR": "512000"
        },
        "oob-qos-policy|class-oob-ip-multicast": {
            "DESCRIPTION": "",
            "PRIORITY": "1000",
            "SET_POLICER_CIR": "256000"
        },
        "oob-qos-policy|class-oob-ipv6-multicast": {
            "DESCRIPTION": "",
            "PRIORITY": "1005",
            "SET_POLICER_CIR": "256000"
        }
    },
    "POLICY_TABLE": {
        "oob-qos-policy": {
            "DESCRIPTION": "QoS Ratelimiting policy for OOB port",
            "TYPE": "QOS"
        }
    },
    "PORT": {
        "Ethernet0": {
            "admin_status": "down",
            "adv_speeds": "all",
            "alias": "Eth1/1",
            "autoneg": "off",
            "fec": "none",
            "index": "1",
            "lanes": "49",
            "link_training": "off",
            "mtu": "9100",
            "speed": "25000",
            "unreliable_los": "auto"
        },
        "Ethernet1": {
            "admin_status": "down",
            "adv_speeds": "all",
            "alias": "Eth1/2",
            "autoneg": "off",
            "fec": "none",
            "index": "2",
            "lanes": "50",
            "link_training": "off",
            "mtu": "9100",
            "speed": "25000",
            "unreliable_los": "auto"
        },
:
省略
:
        "Ethernet76": {
            "admin_status": "down",
            "adv_speeds": "all",
            "alias": "Eth1/56",
            "autoneg": "off",
            "fec": "none",
            "index": "56",
            "lanes": "41,42,43,44",
            "link_training": "off",
            "mtu": "9100",
            "speed": "100000",
            "unreliable_los": "auto",
            "valid_speeds": "100000, 40000"
        }
    },
    "SWITCH": {
        "switch": {
            "fdb_aging_time": "600"
        }
    },
    "VERSIONS": {
        "DATABASE": {
            "VERSION": "version_4_1_1"
        }
    }
}
admin@sonic:~$ 

 
続いて/etc/sonic/frr/bgpd.confファイルを開き、SONiCのFRRの設定内容を確認。
BGPの設定は投入していない為、今の段階ではBGPの設定に関する記載は無い。
/etc/sonic/frr/bgpd.confファイルの中にManaged by sonic-cfggen DO NOT edit manually! の記載が有るとおり、管理者がこのファイルを直接編集する事は無い。

admin@sonic:~$ sudo cat /etc/sonic/frr/bgpd.conf
    !
! =========== Managed by sonic-cfggen DO NOT edit manually! ====================
! generated by templates/quagga/bgpd.conf.j2 with config DB data
! file: bgpd.conf
!
!
! template: common/daemons.common.conf.j2
!
hostname sonic
password zebra
enable password zebra
!
log syslog informational
log facility local4
!!
agentx
!
! end of template: common/daemons.common.conf.j2!
!

admin@sonic:~$ 

 
vtyshコマンドを叩き、vtyshモードに移行すると...
GNU ZebraおよびZebOSの開発者でありOcNOSを開発・販売しているIP Infusion社の創立者でもある石黒氏の名前が出力された。

admin@sonic:~$ vtysh

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

sonic# 

 
これより慣れ親しんできた(?)Cisco IOSライクなコマンドを叩く事が出来る。
show versionコマンドを叩くとFRRのバージョンが出力される。

sonic# show version 
FRRouting 8.2.2 (sonic).
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-option-checking' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--libexecdir=${prefix}/lib/x86_64-linux-gnu' '--disable-maintainer-mode' '--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' '--disable-rpki' '--disable-scripting' '--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' '--disable-ospfclient' '--disable-bgp-vnc' '--disable-pbrd' '--disable-nhrpd' '--disable-watchfrr' '--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# 

 
続けてshow running-configコマンドを叩く。
Ciscoルータのrunning-configのような形でFRRの設定内容が出力される。

sonic# show run
Building configuration...

Current configuration:
!
frr version 8.2.2
frr defaults traditional
hostname sonic
log syslog informational
log facility local4
agentx
no service integrated-vtysh-config
!
password zebra
enable password zebra
!
end
sonic# 

 
続けてshow ip routeコマンドを叩く。
自機に直接接続しているネットワークと、SONiCのカーネルで保持しているルート情報が出力される。

sonic# show ip route
Codes: K - kernel route, C - connected, S - static, O - OSPF,
       B - BGP, T - Table,
       > - selected route, * - FIB route, q - queued route, r - rejected route, b - backup

       t - trapped, o - offload failure

K>*  0.0.0.0/0 [0/202] via 192.168.3.1, eth0, 00:06:03
C>*  192.168.3.0/24 is directly connected, eth0, 00:06:03
sonic#
sonic# exit
admin@sonic:~$ 

 
最後に、sonic-cliコマンドを叩きklishモードに入る。
上記のvtyshと同様にCisco IOSライクなコマンドの実行が可能である。
当記事の作成のきっかけとなったのは、OSS版のSONiCでsonic-cliを叩いたら実行可能なコマンドが少なかったが、商用版のSONiCだったらもっと多くのコマンドが打てるのか確認したかった為。

admin@sonic:~$ sonic-cli
sonic# 
sonic# show version
 
Software Version  : 4.1.1-Enterprise_Base
Product           : Enterprise SONiC Distribution by Dell Technologies
Distribution      : Debian 10.13
Kernel            : 5.10.0-8-2-amd64
Config DB Version : version_4_1_1
Build Commit      : 988341d733
Build Date        : Mon Jul 24 13:40:05 UTC 2023
Built By          : sonicbld@bld-lvn-csg-03
Platform          : x86_64-kvm_x86_64-r0
HwSKU             : DellEMC-S5248f-P-25G-DPB
ASIC              : vs
Serial Number     : 
Uptime            : 04:45:35 up 2 min, 2 users, load average: 8.03, 4.49, 1.75 
 
REPOSITORY                  TAG                                  IMAGE ID            SIZE
docker-database             4.1.1-Enterprise_Base                22af43ab3f82        417MB
docker-database             latest                               22af43ab3f82        417MB
docker-dhcp-relay           4.1.1-Enterprise_Base                70dbc1fd0a63        493MB
docker-dhcp-relay           latest                               70dbc1fd0a63        493MB
docker-eventd               4.1.1-Enterprise_Base                9661414c9efb        412MB
docker-eventd               latest                               9661414c9efb        412MB
docker-fpm-frr              4.1.1-Enterprise_Base                65aa7cb44f6a        517MB
docker-fpm-frr              latest                               65aa7cb44f6a        517MB
:
省略
:
docker-vrrp                 4.1.1-Enterprise_Base                ef7712d23bdd        498MB
docker-vrrp                 latest                               ef7712d23bdd        498MB
 
sonic# 

 
しかし、klishモードに移行後?キーを叩くと多くのコマンドが出力される。
OSS版SONiCのklishモードとは異なり、DELL版のSONiCではより多くのコマンドが実行出来る事がわかる。

admin@sonic:~$ sonic-cli
sonic# 
sonic# ?
  clear              Clear commands
  configure          Enter configuration mode
  consistency-check  Performs consistency check
  copy               Perform file operations
  crypto             Configure PKI
  debug              Enter debugsh mode
  delete             Delete the file from local filesystem
  dir                Show folder contents
  exit               Exit from the CLI
  fast-reboot        fast-reboot
  image              Image related commands
  interface          interfaces Utility
  locator-led        Locator Chassis LED Utility
  logger             Enter messages into the system log
  ls                 Show folder contents
  no                 No commands under Exec mode
  ping               Send ICMP ECHO_REQUEST to network hosts
  ping6              Send ICMPv6 ECHO_REQUEST to network hosts
  poe                Reset PoE Port(s)
  reboot             reboot
  renew              Renew commands
  show               Display running system information
  terminal           Set terminal settings
  test               Run diagnostics test program
  tpcm               SONiC image installation manager
  traceroute         Print the route packets take to the host
  traceroute6        Print the route packets take to the IPv6 host
  usb                Mount or un-mount usb partitions
  warm-reboot        warm-reboot
  write              Save config

sonic# 

 
Configモードに移行し?キーを叩くと、OSS版SONiCより多くの設定コマンドが用意されている事が分かる。

sonic# 
sonic# configure terminal
sonic(config)# ?
  aaa                    AAA configuration
  authentication         Configure authentication modes
  bfd                    Configure BFD peers
  bgp                    Configure BGP instances
  class-map              Configures class-map
  clock                  Configure clock
  copp-action            Configure a CoPP action group
  core                   Configure coredump
  counters               counters config
  crm                    Configure critical resource monitoring
  crypto                 Configure PKI
  default                Apply default configuration
  dot1x                  Configure dot1x parameters.
  dropcounters           Configure dropcounters
  end                    Exit to EXEC mode
  errdisable             Error disable configuration
  exit                   Exit from current mode
  factory                Modify factory default configuration
  hardware               Configure ASIC parameters
  hostname               Configure the system hostname
  interface              Configure interfaces
  interface-naming       Interface naming
  ip                     Configure Internet Protocol (IP)
  ipv6                   Configure Internet Protocol v6 (IPv6)
  kdump                  Configure kdump parameters
  key                    Configure primary encryption key
  ldap-server            Configure LDAP server
  line                   Session configuration
  link                   Create link state tracking group
  lldp                   LLDP configuration subcommands
  logging                Configure syslog
  mab                    Configure MAB properties.
  mac                    Configure Media Access Control (MAC)
  mclag                  Configure MCLAG
  mirror-session         Mirror session configuration
  nat                    Enter NAT configuration
  network-policy         Network-policy configuration mode
  no                     Remove current configuration
  ntp                    Configure NTP servers
  pbf                    Policy based forwarding
  poe                    PoE configuration
  policy-map             Configures policy-map
  port-group             Port group configurations
  portchannel            Configure PortChannel parameters
  priority-flow-control  PFC configuration
  ptp                    Configure precision time protocol settings
  qos                    QoS Configuration
  radius-server          Configure RADIUS client
  radv                   Enable Sonic Router Advertisement
  redirect               Configure parameters for redirect
  roce                   Enable RoCEv2 default buffer configuration
  route-map              Configure routing policies
  router                 Enter router mode
  service-policy         Apply policy-map to interface
  sflow                  Configure sFlow
  snmp-server            SNMP server configuration
  spanning-tree          Spanning tree configuration
  ssh-server             Configure SSH server
  suppress-fib-pending   Suppresses newly learned BGP routes advertisement until programmed in hardware
  switch-resource        Switch Resource Configuration
  swsslog                SONiC logging severity level setting
  system                 System level configuration
  tacacs-server          Configure TACACS servers
  tam                    Telemetry and monitoring configuration
  techsupport-export     Configure techsupport export
  threshold              Configure threshold for buffer pool.
  udld                   UDLD configuration
  usb                    Configure usb parameters
  username               Add new user
  watermark              Configure watermark
  ztp                    Configure ZTP

sonic(config)# end
sonic# 


今回はここまで。
製品版のSONiCを試用する為にDELL版のSONiCであるEnterprise SONiC OSをVMware Fusionにデプロイし、設定ファイルのチラ見やモードの移行を試してみた。
デプロイ直後の状態ではOSS版のSONiCとは異なりBGPの設定は入っていない為、既存のBGPの設定の使い回しや削除等を実施する必要は無いので個人的にはこっちの方が好みではある。
今回はデプロイとvtyshおよびklishのモードへの移行までの実施としたが、次回はOcNOSとの間でBGPのピアを張る等動作確認を行いたい。


参照サイト
https://sonicfoundation.dev/ SONiC Foundation
https://infohub.delltechnologies.com/en-us/p/enterprise-sonic-distribution-by-dell-technologies/ Enterprise SONiC Distribution by Dell Technologies
https://www.dell.com/support/home/ja-jp/product-support/product/enterprise-sonic-distribution/drivers DELL Enterprise NOS
https://infohub.delltechnologies.com/en-us/l/enterprise-sonic-distribution-by-dell-technologies-lifecycle-management/sonic-documentation-1/ SONiC Documentation ※SONiC本家のドキュメントサイトへのリンク
https://support.edge-core.com/hc/en-us/categories/360002134713-Enterprise-SONiC-Distribution-by-Edgecore Edgecore版SONiC
https://www.nvidia.com/ja-jp/networking/ethernet-switching/sonic/ NVIDIA版SONiC
https://jp.broadcom.com/products/ethernet-connectivity/software/enterprise-sonic Broadcom版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/20210320/1616230057 Cumulus LinuxとSONiCの設定ファイル
https://debslink.hatenadiary.jp/entry/20210627/1624789102 SONiCの解説動画 ※商用版向け?
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を組んでみた