愚直なルールのカウント方法
NSXがインストールされたESXiホストでDFWのルールを確認する場合、
ホスト単位で確認するには基本的にCLIを使用した確認方法を取ります。
- ESXiにSSHログイン
summarize-dvfilter
で仮想マシンに関わるvNICのフィルター名の取得- 2で得られたフィルタ名から、
vsipioctl
でDFWルールを取得 - ルール数をカウントする場合、2~3を繰り返す必要あり
公式ドキュメントに上記の詳細手順がありますので、詳しくはそちらをご確認ください。
上記の手順は割と面倒です。仮想マシンの数やホストの台数に比例して確認作業の工数が増えます。
カウントしておきたいモチベ
基本的には設計段階でルール数はシステム上限値に引っかからないように確認されていますが、
運用をスタートさせると、ルールの増加は付き物です。
なのでシステム上限が超えてないかのチェックはしておきたいですよね。
例えば、NSX4.1.2ではDFWルールはホストあたり12万ルールです。
カウントを楽にするするワンライナー
|
|
上記コマンドを対象ホストへssh後に実施すれば、そのホストのトータルのDFWルールがわかります。
デフォルトルール(1~4)を除きたい場合は以下で可能です。
|
|
- 実行ログ
[root@esxi002:~] COUNT=0; for n in $(summarize-dvfilter | grep -E '(^\s+name:\s+.*\.([2,4-9]|1[0-5]))$' | awk '{print $2}' ); do RULECOUNT=$(vsipioctl getrules -f $n | grep -i '\sr
ule\s' | wc -l); COUNT=$(($COUNT + $RULECOUNT)); done; echo $COUNT
12
[root@esxi002:~]