VMware vSphere PowerCLIのGet-VMHostHbaコマンドレットでFC-HBAのダウンしているポートを検出する
しかし、あるとき、あるシステムの、あるESXiホストで、片方のFCポートがダウンしている事に「たまたま」気づきました。
当然ハード障害の監視はやってるんですけどね。気づきませんでした。
vCenter Serverから冗長性の低下のメールが送られていたのかもしれませんが、いずれにしてもメールは見落としたら、もうわからなくなってしまいます。
多数のESXiホストのFCパスが2本とも有効かどうかをvCenter ServerのGUIで確認したらかなりの手間です。
PowerCLIに何か適当なコマンドレットがないか調べたら、Get-VMHostHbaコマンドレットが良さそうなので試してみました。
Get-VMHostHbaコマンドレットでStatusを見れば、簡単にポートのダウンがわかります。
Statusがonlineなら有効(正常)、offlineなら非活動(異常)と判断できます。
(図1)Get-VMHostHbaコマンドレットを実行した画面のイメージ
この結果を文字列でサーチして、"offline"の文字列があったらアラートを出すなどします。
上図をテキスト(文字)で打ち込んだらこんな感じ。
VMware PowerCLI 6.5 Release 1 build 4624819 |
PowerCLI C:\> Connect-VIServer -Server 192.168.1.1 -Port 20443 -User administrator -Password password Name Port User ---- ---- ---- 192.168.1.1 20443 Administrator PowerCLI C:\> Get-VMHostHba -Type Fibrechannel |Select-Object VMHost,Device,Type,status,model |Sort-Object VMHost,Device |Format-Table -A VMHost Device Type Status Model ------ ------ ---- ------ ----- esx01.local vmhba0 FibreChannel online LPe11000 4Gb Fibre Channel Host Adapter esx01.local vmhba1 FibreChannel online LPe11000 4Gb Fibre Channel Host Adapter esx02.local vmhba0 FibreChannel online LPe11000 4Gb Fibre Channel Host Adapter esx02.local vmhba1 FibreChannel online LPe11000 4Gb Fibre Channel Host Adapter esx03.local vmhba2 FibreChannel offline LPe12000 8Gb Fibre Channel Host Adapter esx03.local vmhba3 FibreChannel online LPe12000 8Gb Fibre Channel Host Adapter esx04.local vmhba2 FibreChannel online LPe12000 8Gb Fibre Channel Host Adapter esx04.local vmhba3 FibreChannel online LPe12000 8Gb Fibre Channel Host Adapter PowerCLI C:\> |
Get-VMHostHbaコマンドレットでFC-HBAのポート状態を検出します。
単に「Get-VMHostHba」だけを実行すると、全ESXiホストのHBAが表示されます。
しかしそのホスト名が表示されないんですよね。
なのでSelect-ObjectでVMHostを含むいくつかの項目を表示させています。
そしてSort-Objectでホスト名順のHBAの名前順にソートしています。
これはGet-VMHostHbaの結果をパイプでOut-Fileに送ってテキストファイルに書き込むことを想定しています。
こんな感じです。
Get-VMHostHba -Type Fibrechannel |Select-Object VMHost,Device,Type,status,model |Sort-Object VMHost,Device |Format-Table -A |Out-File -FilePath D:\log\FC-HBAのポート状態.log -Append |
まあこんな事をしなくても、パイプでexport-csvに送れば全項目が出力されるのですが、自分の勉強のためにSelect-Objectとか、Out-Fileとかを使ってみました。
当然ですが、すべてのFC-HBAの全FCポートにFCケーブルが差し込まれていて、通常時はリンクアップしている事が前提です。
ESXiホストにFCボードを搭載しているけど、FCケーブルを差し込んでいないポートがあれば、それは常に「offline」になるので、この方法では毎回「異常」となってしまいます。