NSX-TのCLI Referenceについて

NSX-TのCLIの簡単な使い方やログバンドルの取得について
備忘録として記載しておきたいと思います。

※ 既にNSX-T 3.0がリリースされておりますが、本記事はNSX-T v2.4環境で確認をしています。

 

NSX-T 2.4 CLI reference guide ( vmware{code} )

https://vdc-download.vmware.com/vmwb-repository/dcr-public/0aa6ceb3-9f71-44f5-bef6-d4acab570b55/382a3731-d45e-43c1-ba0b-f98b64899e9c/nsxt_24_cli.html

 

 

◆Referenceを確認する時のポイントについて

 Referenceを確認する際に<Availability>と<Mode>の概念について記載しておきます。

 

【Availability項目】

 

このReference Guideですが、コマンドが通る対象がそれぞれに記載されています。

例として、"clear banner"コマンドを見てみます。

 

f:id:pocmemo:20200712170422p:plain

 

何が対象になっているか...については赤枠で囲った"Availability"を確認すればOKです。

 

例えば"get dataplane flow-cache config"コマンドの場合は
対象に"Manager"が含まれていません。

 

f:id:pocmemo:20200712170649p:plain

 

そのためこのコマンドは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へ変更させています。

f:id:pocmemo:20200712173453p:plain

VRFIDは環境毎に設定が違うため、必ずしもVRF:0を指定するとTier0_srへと遷移するわけではありませんが、このVRFIDの指定番号によって、Modeが変わるという事だけ覚えておけば問題ないと思います。

 

※ 余談ですがNSX-3.0ではVRF-Liteが実装されました。

https://docs.vmware.com/jp/VMware-NSX-T-Data-Center/3.0/rn/VMware-NSX-T-Data-Center-30-Release-Notes.html

 

 

path

pathモードもほとんどはEdgeVM上で行われます。
各Interfaceの詳細な状態を把握する事などを目的に指定するモードです。

先程のVRF Modeなどは"get logical-router"コマンドでリストしていましたが
pathモードは"get logical-router interfaces"コマンドでリストします。

 

f:id:pocmemo:20200712182001p:plain

 

f:id:pocmemo:20200712182149p:plain

 

ちなみにこのpathモードには"UP", "DOWN"のコマンドがありますが
これは所謂NICのUP/DOWNを指示するコマンドではなく、
リストされている選択可能なpathを変更するコマンドになります。

それぞれの情報を取得するために、いちいちexit > pathコマンドの打ち直しする必要を無くすために実装されているものですね。

 

先程のpathコマンドでは"...9b16"のuuidを指定していましたが、その状態で"DOWN"を入力すると、選択可能なもう片方のpathへ移動していることがわかります。

 

f:id:pocmemo:20200712182456p:plain

 

勿論これは構成によっては多数のpathが表示されることが想定されますので
場合によってはDOWNと何回も入力するよりUUIDを指定しなおした方が早そうな場合もありますが、とりあえずこれはInterfaceを落としたり再復活させるコマンドではない、という事だけ覚えておけばいいかなと思います。

 

 

 

◆Tips的コマンド

 

 

基本的にはNSX-V同様に、NSX-TもGUI上で実行できることはとても多いので
CLIで頻繁に作業をする事は無いかなと思いますが
CLIでの作業に備えていくつかご紹介まで。

 

set cli-timeout 0

NSX-Tの各ApplianceにはCLIタイムアウト値が設定されています。

 

f:id:pocmemo:20200712183249p:plain

上記のように、NSX-Managerはデフォルトで600秒が指定されています。
実際に何も入力せずPutty上で600秒放置してみましたが、
Puttyのセッションは勝手に閉じられていました。

CLIで作業する際、少し画面から離れてしまう度にSessionの張り直しをするのは
少々面倒かなと思いますので、ログイン後 > set cli-timeout 0 と入力して
セッションタイムアウトをしないようにしておくといいかなと思います。
(もちろん作業後は値を再設定しておけば戻すこともできます。)

 

st en

NSX-TのApplianceに対して、root権限アカウントへ移行するためのコマンドです。

 

f:id:pocmemo:20200712183626p:plain

このコマンドを使用した後はプロンプトが"#"に変更され、lsコマンドなども通るようになります。

exitで抜けることができます。

 

set user <username> password

このコマンドはパスワードのリセットをするコマンドです。

f:id:pocmemo:20200712183912p:plain

近しいsyntaxで、パスワード期限切れの日にちを変えることもできます。
(この数値の単位は [day] です。)

f:id:pocmemo:20200712183956p:plain

このコマンド自体はほとんど使用しないかな、と思いますが
実はこんなIssueの報告がされています。

 

NSX-T Manager および Edge ノードのログ ローテーションが停止する (76114)

https://kb.vmware.com/s/article/76114?lang=ja

 

上記への対処として実行が必要なコマンドですので、覚えておくといいかなと思います。

 

 

 

以上