Ruby vSphere Consoleの使い方(vsan.lldpnetmap編)
さて、だんだんこのシリーズも定着してきました。
今回はコマンド内にある用語に”LLDP”と入っていますので、内容が想像しやすいです。
”Link Layer Discovery Protocol”ですね。つまり、ホストが隣接するスイッチの情報が拾えるというやつです。
Windows Vista, 7の頃に、以下のようにネットワークトポロジーを可視化するための機能がありました。これはLLDPにより収集された情報をベースにしたものです。
似た動作をするプロトコルに”Cisco Discovery Protocol”がありますので、そちらを知っている方は、イメージがし易いと思います。
今回はこのコマンドを出力するのに、VMware Hands on LABを利用した所、次の状態に遭遇しました。
何も表示がありません。ある程度予測はしていました。
今回はVMwareのR&DのWilliam氏のブログです。LLDPコマンドの使い方を紹介しています。
彼によれば、次のように対向のスイッチがCiscoスイッチか、またはLLDP非対応のスイッチである場合情報取得が出来ないとある。
Hands on LABは仮想環境上にデプロイされたESXi環境なので、次のように”仮想ハードウェア上ではこのコマンドは利用不可”と言われてしまいました。
今回はブログ作成時に物理スイッチ環境かつLLDPサポート環境がなかったので、
RVCのコマンドリファンレスガイドから出力結果を参照してみました。
ここでは、ホスト”10.143.188.54”は、”vmnic5”と"vmnic7"が対向のネットワーク製品”w2r13~”から始まる製品につながっている状態を示しています。
結論としては、この機能はLLDP対応の機器が利用されている場合のみ利用が出来る、ネットワーク接続先の情報を取得するコマンドと言えます。
<補足>LLDPは仮想スイッチやホスト側でも設定が必要です。
次の図では、仮想スイッチ上で、Discovery Protocolが無効になっています。
設定から”Link Layer Discovery Protocol”を選択します。
この設定により、LLDPでの情報が拾えるようになります。
ちなみにプロトコルの動作モードは、3タイプあります。情報を拾うにはListenかBothである必要があります。
Listenは、仮想スイッチが対向の機器からLLDPプロトコルを利用し、デバイス情報を取得する、という設定です。
Advertiseは、仮想スイッチが対向の機器にLLDPプロトコルを通じて、自分自身がVMwareの仮想スイッチであることを通達する、という設定です。
Bothは、上記両方の動きです。
便利な機能ですが、デバイス情報の通知はセキュアでないと考えられるケースもあるため、管理者はセキュリティの強化のためにこの機能を利用しない、一部利用するなど選択肢が与えられていると理解出来ます。