個人的な vSAN Advent Calendar 6日目です。
自宅ラボの vSAN 7.0 U 1 Advent Calendar 2020 - Adventar
今回は、vSAN クラスタの概要を取得するスクリプトのサンプルを作成してみました。
セットアップ サービスのような作業でインフラを多数構築したり、デモ環境を準備したりといった場合には、情報取得においてコマンドラインを1行ずつ実行するよりも、スクリプトにしてまとめて実行したほうが便利なケースがあると思います。
サンプル スクリプト: vSAN レポート出力
今回のスクリプトです。おもに、前回の投稿(下記)のコマンド ラインを並べて出力整形したものです。
vSAN の情報を PowerCLI で取得してみる。 - vm.gowatana.jp
補足として・・・
- PowerShell / PowerCLI のウインドウ幅は 140 にしておくと見やすくなります。
- Connect-VIServer で vCenter に接続してから実行します。
- vSAN Disk のデバイス名(CanonicalName)は長すぎて切れてますが、ウインドウ幅を広げて実行すれば全体が表示されます。
スクリプトの実行例
前回の投稿と同様、 Docker コンテナの PowerCLI(vmware/powerclicore)を利用します。
まず Docker ホスト(Photon OS 4.0)でスクリプト ファイルを作成しておきます。今回は Github からダウンロードしています。
root@lab-photon-01 [ ~ ]# cat /etc/photon-release VMware Photon OS 4.0 PHOTON_BUILD_NUMBER=d98e681 root@lab-photon-01 [ ~ ]# mkdir work root@lab-photon-01 [ ~ ]# cd /root/work/ root@lab-photon-01 [ ~/work ]# curl -LO https://gist.githubusercontent.com/gowatana/c24ba1d4e80af83c9bf6006749d2e5dd/raw/get_vsan_summary.ps1 root@lab-photon-01 [ ~/work ]# ls get_vsan_summary.ps1
今回は情報取得した結果をファイルとして保存したいので、Docker ホストのディレクトリ(今回は /root/work)を、コンテナの /work にマウントして利用します。
コンテナ内の /work ディレクトリにも、さきほどホスト OS 側で保存した get_vsan_summary.ps1 が存在します。
root@lab-photon-01 [ ~/work ]# docker run -it -v /root/work:/work -w /work --rm vmware/powerclicore PowerShell 7.0.0 Copyright (c) Microsoft Corporation. All rights reserved. https://aka.ms/powershell Type 'help' to get help. PS /work> ls get_vsan_summary.ps1
スクリプトを実行します。今回は Out-File でファイル(vsan-report.txt)に保存しています。
PS /work> Connect-VIServer lab-vc-01.go-lab.jp -User administrator@vsphere.local -Password VMware1! -Force PS /work> ./get_vsan_summary.ps1 | Out-File -Encoding utf8 -PSPath vsan-report.txt PS /work> ls get_vsan_summary.ps1 vsan-report.txt
出力された vSAN 情報 簡易レポートの様子
コンテナから exit した(コンテナが削除された)後でも、Docker ホスト側の /root/work ディレクトにもファイルが残ります。
今回のスクリプトで取得したレポート ファイルの例です。
PowerCLI スクリプトは、当然ながら Windows PowerShell の PowerCLI でも実行できます。
テキスト ファイルとして情報取得しておくと、スクリーンショットよりもデータの利用がしやすいかなとも思います。
今回のサンプルは、vSAN の情報を網羅的に取得しているわけではなかったり、スクリプトの書き方が独特だったりしますが、何かのヒントになればと思います。
以上、PowerCLI による vSAN 情報取得の活用例でした。