詳細解説! Cisco NexusをOpenFlow switchとして使ってみよう (1. Cisco Nexusの準備)


 

以前にOpen Flow対応のスイッチとしてオープンソースソフトウェアであるOpen vSwitchを紹介しましたが、今回はその第2弾、商用製品をOpenFlowスイッチとして使用してみます。

紹介するスイッチはシスコの代表的なスイッチCisco Nexusです。マニュアルによるとNexusシリーズではNexus 3000とNexus 9000がOpenFlowに対応しているようです。

Cisco 公式のWebマニュアルはこちら(英語ですが)。
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus/openflow/b_openflow_agent_nxos_n3kn9k/b_openflow_native_agent_nxos_7x_chapter_01.html


まず、作業に入る前にシスコスイッチとOpenFlowの関係について注意点を少し記載します。

1. "Plug-in for OpenFlow"は使わない。
->"Plug-in for OpenFlow"は少し前(2015年頃)までに主流であった、OpenFlowを使用するためのシスコ スイッチ用のプラグインです。現在(2017年)では "Cisco OpenFlow Agent"という機能が主流となっていますので、こちらを使いましょう。


2.シスコのスイッチは完全にはOpenFlowに対応していない。
->これはシスコに限らずですが、各商用スイッチのOpenFlowへの対応は限定的です。ちなみにシスコは"OpenFlow 1.0, 1.3機能のサブセットをサポートしている"と表現しています。使いたい機能がサポートされているか否かはWebマニュアルの「サポート機能」欄を確認しましょう。

 

それでは作業に入っていきます。今回は検証機としてCisco Nexus 3000を使用します。このスイッチにオープンソースのOpenFlowコントローラである、POXOpenDaylightを接続してみます。

作業の大きな流れとしては、以下となります。

1.Cisco Nexus 3000のOS/Biosバージョンアップ

2."Plug-in for OpenFlow"のアンインストール

3."Cisco OpenFlow Agent"のセットアップ

4.OpenFlow コントローラ(POX/OpenDaylight)の準備

5.Cisco Nexus 3000とコントローラの接続


それでは見ていきましょう。

1.Cisco Nexus 3000のOS/Biosバージョンアップ

Cisco Nexus 3000の購入時期にもよりますが、出荷時の状態ではCisco NX-OS Release 5.Xがインストールされていることが多いと思います。前述した"Cisco OpenFlow Agent"を使用するためにはこのバージョンを7.0(3)I5(1)以降まで上げる必要があります。
アップグレードはシスコ公式のWebマニュアルに沿って行いましょう。

ポイントとしては、Cisco NX-OSをいきなりバージョン7.Xにはアップグレードできません。5.X->6.xとアップグレードした後、一旦ここでBIOSをCisco NX-OS7.X用にアップグレードした後、Cisco NX-OS 6.x ->7.xへとアップグレードします。


1-1. バージョンの確認

switch# show version

1-2. アップグレード用のキックスタートイメージとシステムイメージを準備
シスコのサイトにログイン後、ダウンロードできます(要サポート契約)。今回は例として以下の3ファイルを準備しました。


n3000-uk9-kickstart.6.0.2.U6.6.bin <-バージョン6用のキックスタートファイル
n3000-uk9.6.0.2.U6.6.bin <-バージョン6用のイメージファイル
nxos.7.0.3.I5.1.bin <-バージョン7用のイメージファイル

 

バージョン7からはキックスタートファイルとイメージファイルが分かれてなく、一つになっています。

 

1-3 アップグレード用のファイルをCisco Nexus 3000へコピー。

コピーにはcopyコマンドが便利です。以下、ftpサーバにあるファイルをCisco Nexusに転送する方法を解説します。

コマンドの使い方は以下です。

switch# copy ftp:<転送元アドレス/ファイル名> <転送先アドレス:ファイル名> vrf management

ここで、vrf managementと書いてあるのは、スイッチ前面のポートではなくスイッチ背面にある管理用LANポート経由でファイルを転送するためです。

コマンド例:
switch# copy ftp://172.16.200.1//home/n3000-uk9.6.0.2.U6.6.bin bootflash:n3000-uk9.6.0.2.U6.6.bin vrf management

同様に他の2ファイルもCisco nexus 3000のbootflashディレクトリ配下にコピーしましょう。


1-4.まずCisco NX-OS 5.Xを6.xへアップグレード

switch# install all system n3000-uk9.6.0.2.U6.6.bin kickstart n3000-uk9-kickstart.6.0.2.U6.6.bin

以下のような表示が続きます。
Installer is forced disruptive    
    
Verifying image bootflash:/n3000-uk9-kickstart.6.0.2.U6.6.bin for boot variable "kickstart".    
[####################] 100% — SUCCESS    
    
Verifying image bootflash:/n3000-uk9.6.0.2.U6.6.bin for boot variable "system".    
[####################] 100% — SUCCESS    

途中、以下のようにインストールを続けるか訊かれるのでyを入れリターンキーを押します。
Do you want to continue with the installation (y/n)?  [n]

最後にリブートが行われ、6.xへのアップグレードが完了です。
Finishing the upgrade, switch will reboot in 10 seconds.


1-5.次にBIOSを NX-OS 7.X用にアップグレードします。
 

switch# install all nxos nxos.7.0.3.I5.1.bin bios

途中、同じようにインストールを続けるか訊かれるのでyを選択してください。最後に
Install has been successful.
と表示されれば完了です。

 

1-5.Cisco NX-OS 6.Xを7.xへアップグレード

switch# install all nxos bootflash:nxos.7.0.3.I5.1.bin

インストール後は再度バージョンを確認してください。

switch# show version


また、コピーしたイメージファイルでCisco スイッチの容量が圧迫されているかもしれません。
必要に応じて不要になったファイルを削除しましょう。


以上で最初に示したステップ1~5の最初のステップ"1.Cisco Nexus 3000のOS/Biosバージョンアップ"が完了です。

 


次回は"2.Plug-in for OpenFlow"のアンインストール"から解説します。>>