NSX-TのCLI Referenceについて
NSX-TのCLIの簡単な使い方やログバンドルの取得について
備忘録として記載しておきたいと思います。
※ 既にNSX-T 3.0がリリースされておりますが、本記事はNSX-T v2.4環境で確認をしています。
・NSX-T 2.4 CLI reference guide ( vmware{code} )
◆Referenceを確認する時のポイントについて
Referenceを確認する際に<Availability>と<Mode>の概念について記載しておきます。
【Availability項目】
このReference Guideですが、コマンドが通る対象がそれぞれに記載されています。
例として、"clear banner"コマンドを見てみます。
何が対象になっているか...については赤枠で囲った"Availability"を確認すればOKです。
例えば"get dataplane flow-cache config"コマンドの場合は
対象に"Manager"が含まれていません。
そのためこのコマンドはNSX Manager上で入力をしても
結果が返ってこないことがわかります。
【Mode項目】
Availabilityの他に確認するべき項目は"Mode"です。
NSX-Tでは事前にModeを変更しておく必要があるコマンドが存在します。
(必要な理由は少し違いますが、イメージとしてはSwitchの"Configure Terminal"を想像するとわかりやすいかなと。)
Reference Guideの内部にも以下の記載があります。
CLI Command Modes
The commands available to you at any given time depend on the mode you are currently in.
Basic. Basic mode provides commands to manage and view the status of the NSX-T appliance.
VRF. VRF mode, available on NSX Edge appliances, provides commands to view properties of a VRF (Virtual Routing and Forwarding) context.
Tier0_sr. Tier0_sr mode, available on NSX Edge appliances, provides commands to view properties of a tier 0 service router VRF (Virtual Routing and Forwarding) context.
Tier1_sr. Tier0_sr mode, available on NSX Edge appliances, provides commands to view properties of a tier 1 service router VRF (Virtual Routing and Forwarding) context.
Path. Path mode, available on NSX Edge appliances, provides commands to view properties of the logical router interfaces and logical switch ports in the path between a logical router interface and an IP address.
要は、"Basic"に属するコマンドなら何も考慮はいらないよ!という事ですね。
問題はそれ以外のModeへどう変更するか?という事ですので
それぞれのMode変更方法について、軽く記載しておきます。
・VRF/Tier0_sr/Tier1_sr
この3つは全て同一の手順です。
Edge-VM上で使用する事がほとんどかなと思います。
VRF(Virtual Routing and Forwarding)は文字通りRouterの仮想化を提供し、Routing Tableを複数保持することが可能となる機能です。
それぞれのVRFにはIDがついていますので、このIDを指定する事で
VRF毎に情報の取得・入力・削除などが可能になります。
実際にModeを変更するには"vrf <id>"コマンドを使用します。
この指定IDによって、ModeがVRF/Tier0_sr/Tier1_srのいずれかになります。
例えば以下の例ではVRFIDを確認し、ModeをTier0_srへ変更させています。
VRFIDは環境毎に設定が違うため、必ずしもVRF:0を指定するとTier0_srへと遷移するわけではありませんが、このVRFIDの指定番号によって、Modeが変わるという事だけ覚えておけば問題ないと思います。
※ 余談ですがNSX-3.0ではVRF-Liteが実装されました。
・path
pathモードもほとんどはEdgeVM上で行われます。
各Interfaceの詳細な状態を把握する事などを目的に指定するモードです。
先程のVRF Modeなどは"get logical-router"コマンドでリストしていましたが
pathモードは"get logical-router interfaces"コマンドでリストします。
ちなみにこのpathモードには"UP", "DOWN"のコマンドがありますが
これは所謂NICのUP/DOWNを指示するコマンドではなく、
リストされている選択可能なpathを変更するコマンドになります。
それぞれの情報を取得するために、いちいちexit > pathコマンドの打ち直しする必要を無くすために実装されているものですね。
先程のpathコマンドでは"...9b16"のuuidを指定していましたが、その状態で"DOWN"を入力すると、選択可能なもう片方のpathへ移動していることがわかります。
勿論これは構成によっては多数のpathが表示されることが想定されますので
場合によってはDOWNと何回も入力するよりUUIDを指定しなおした方が早そうな場合もありますが、とりあえずこれはInterfaceを落としたり再復活させるコマンドではない、という事だけ覚えておけばいいかなと思います。
◆Tips的コマンド
基本的にはNSX-V同様に、NSX-TもGUI上で実行できることはとても多いので
CLIで頻繁に作業をする事は無いかなと思いますが
CLIでの作業に備えていくつかご紹介まで。
・set cli-timeout 0
NSX-Tの各ApplianceにはCLIのタイムアウト値が設定されています。
上記のように、NSX-Managerはデフォルトで600秒が指定されています。
実際に何も入力せずPutty上で600秒放置してみましたが、
Puttyのセッションは勝手に閉じられていました。
CLIで作業する際、少し画面から離れてしまう度にSessionの張り直しをするのは
少々面倒かなと思いますので、ログイン後 > set cli-timeout 0 と入力して
セッションタイムアウトをしないようにしておくといいかなと思います。
(もちろん作業後は値を再設定しておけば戻すこともできます。)
・st en
NSX-TのApplianceに対して、root権限アカウントへ移行するためのコマンドです。
このコマンドを使用した後はプロンプトが"#"に変更され、lsコマンドなども通るようになります。
exitで抜けることができます。
・set user <username> password
このコマンドはパスワードのリセットをするコマンドです。
近しいsyntaxで、パスワード期限切れの日にちを変えることもできます。
(この数値の単位は [day] です。)
このコマンド自体はほとんど使用しないかな、と思いますが
実はこんなIssueの報告がされています。
NSX-T Manager および Edge ノードのログ ローテーションが停止する (76114)
https://kb.vmware.com/s/article/76114?lang=ja
上記への対処として実行が必要なコマンドですので、覚えておくといいかなと思います。
以上