ホワイトボックススイッチにOcNOSを乗せてちょっと運用してみた


この投稿は「さくらインターネット Advent Calendar 2019」の13日目の記事です。

OcNOSを利用してみた

ベンダー様よりプレスリリース12も出されているのですが、一部のデータセンタサービスのネットワークとしてEdgeCoreスイッチ、NOSとしてOcNOSを採用しました。

ホワイトボックススイッチというとL3Closのような構成で利用されることが多いかなと思うのですが、今回はL2スイッチとしての利用が主で、VLAN/LAG/MLAG...といった機能の利用がメインです。(念のため、OcNOSにL3機能が無いわけではないです。実際、L3スイッチとしてOcNOSを利用している箇所もごく少ないですがあります。)

なんでOcNOSなの

そもそもは「ホワイトボックスを利用したい」という意図があったわけではなく、機能要件に見合ったからです。

要件としては、ざっくり以下の3点です。
※もちろん、これ以外の具体的な機能要件がたくさんあります。

  • MLAGができるL2スイッチであること
  • コストメリットがあること
  • 設定/操作自動化のための手段が用意されていること

要件を満たす製品をいくつか検証してみましたが、結果としていくつかの候補の中からホワイトボックススイッチ/OcNOSを採用することとなりました。

こんなところがいいよ

ホワイトボックスやOcNOSに限った話ではないものもありますが、良いところは以下のような部分です。(個人的な主観が大いに含まれます)

光モジュール類の柔軟性

ホワイトボックススイッチ全般にいえることですが、SFP等の光モジュール類でベンダーロックインされなくなります。これによりスイッチの導入コストの低下が期待できます。
ただし、その分自前でモジュールベンダーとやり取りする必要があるため、多少運用コストが増えるとも言えますが、ベンダーロックインの排除というメリットはデメリットを補って余りあるでしょう。

「ホワイトボックス」っぽくない

ホワイトボックススイッチというと、「インターフェースがいっぱいついてるLinux」みたいなイメージを持たれている方が多いんじゃないかと思うんですが、OcNOSの設定や操作は業界標準CLIなので、触るだけであればLinuxの知識は一切不要です。そのため、例えばCiscoしかさわったことないネットワークエンジニアでも十分操作できるOSであると言えます。
ただしその反面、Linuxのシェルを経由したオペレーションは基本的にはできないため、「スイッチにあれやこれやインストールして動かしたい」とか「サーバーのように管理/運用したい」といったことはできません。

同じホワイトボックス向けOSであるCumulusLinuxは「サーバエンジニアより」のOSかなと思いますが、OcNOSは「ネットワークエンジニアより」のOSであると言えます。どっちが良いというわけではく、それぞれにメリット/デメリットがある話かと思いますが、今回は「ネットワークエンジニアより」という点が運用をしていく上でプラスになりました。

プロビジョニングの自動化

ホワイトボックス特有のOSインストール機能であるONIEと、OcNOSがもっているゼロタッチプロビジョニングの機能を利用し、箱から出したスイッチにケーブルを接続して電源投入するだけで、全自動でのOSのインストール/設定の適用まで可能ができました。ONIEやゼロタッチプロビジョニングはいずれもDHCPサーバを用意すれば実現可能なため、こういった環境の構築も(比較的)容易です。

NETCONF/YANG

今回は設定を動的に変更していくという要件があったため、そういった操作はすべてNETCONFで行っています。OcNOSはGithubでYANGモデルが公開されているため、このモデルを利用してGoのコードを自動生成して利用しています。

さいごに

ホワイトボックスというと、「Linuxの知識が必要なんだろうな」とか、なんとなくハードルが高いと感じている方もいるんじゃないかと思います。その中でもOcNOSは(ネットワークエンジニア的に)扱いやすいOSだと思います。

本稿のようなパブリックな場所に書きにくいネタもあるので、どこかでお話できるといいですね!