このチュートリアルでは、Migration Center ディスカバリー クライアント CLI のゲスト検出を使用して、多くの VMware 仮想マシン(VM)インスタンスに対して検出とデータ収集を行うプロセスについて説明します。大量の VM をモニタリングし、トラブルシューティングするのは難しい場合があります。処理の単位は 1,000 台未満の小さなグループにすることをおすすめします。
目標
このチュートリアルの学習内容は次のとおりです。
mcdc
CLI をダウンロードする。- VMware インベントリ検出を実行する。
- 検出されたすべての VM を含む CSV ファイルを生成する。
- VM のサブセットを含む複数の CSV ファイルに分割する。
- CSV ファイル内のすべての VM に対してゲスト検出を実行する。
- オフライン評価レポートを生成する。
費用
このチュートリアルではオンプレミス リソースを使用します。Google Cloud の費用は発生しません。
始める前に
mcdc
CLI をインストールして実行する Linux マシンを準備します。Linux マシンは、次の最小要件を満たしている必要があります。glibc
バージョン 2.25 以降- 4 GB の RAM および 10 GB のディスク容量
- vCenter と ESX ホストへのネットワーク接続
次の必須権限を持つ vSphere ユーザーが存在することを確認します。
- VM に対する読み取り権限
- すべての ESX ホストに対する読み取り権限
- ゲスト オペレーションの変更
- ゲスト オペレーション プログラムの実行
- ゲスト オペレーション クエリ
mcdc
CLI をダウンロードする
- Linux マシンに接続します。
ssh MACHINE_IP
MACHINE_IP は、Linux マシンの IP アドレスに置き換えます。
mcdc
CLI の最新バージョンをダウンロードして、実行可能にします。curl -O "https://mcdc-release.storage.googleapis.com/$(curl -s https://mcdc-release.storage.googleapis.com/latest)/mcdc" chmod +x mcdc
- シェルパスに
mcdc
CLI を追加します。PATH=$PATH:`pwd`
VMware インベントリ検出を実行する
インベントリ検出を実行します。
./mcdc discover vsphere -u USERNAME --url https://VSPHERE_URL
次のように置き換えます。
- USERNAME: vCenter ユーザー名
- VSPHERE_URL: vCenter Server インスタンスまたは vSphere Client の URL
discover
コマンドの出力は次のようになります。[+] Found 528 VMs Collecting data... 528 / 528 [---------------------------------------------------] 100.00% 5 p/s [✓] Collection completed.
検出されたすべての VM を含む CSV ファイルを生成する
CSV ファイルを生成するには、GitHub の Migrate to Containers リポジトリにある export
スクリプトを使用します。
このスクリプトは、report
コマンドを使用して、前の手順で検出されたすべての VM を含む CSV ファイルを生成します。
スクリプトをダウンロードします。
curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/migrate-to-containers/main/scripts/mcdc/mcdc_discovery_export_guest_tools.sh chmod +x mcdc_discovery_export_guest_tools.sh
スクリプトを実行し、出力をファイルに保存します。
./mcdc_discovery_export_guest_tools.sh > VMS_CSV_FILE
VMS_CSV_FILE は、CSV ファイルの名前に置き換えます。
VM のサブセットを含む複数の CSV ファイルに分割する
大きな CSV ファイルを小さな CSV ファイルに分割するには、GitHub の Migrate to Containers リポジトリにある splitter
スクリプトを使用します。
スクリプトをダウンロードします。
curl -O https://raw.githubusercontent.com/GoogleCloudPlatform/migrate-to-containers/main/scripts/mcdc/csv_splitter.sh chmod +x csv_splitter.sh
スクリプトを実行します。
./csv_splitter.sh VMS_CSV_FILE CSV_FILES_PREFIX LINES_PER_FILE VMS_CSV_FILE CSV_FILES_PREFIX
次のように置き換えます。
- VMS_CSV_FILE - 分割する入力 CSV ファイル。
- CSV_FILES_PREFIX - 生成される CSV ファイルの接頭辞。
- LINES_PER_FILE - 生成される CSV ファイルあたりの行数。デフォルト値は
10
です。
このスクリプトはさまざまな CSV ファイルを生成します。
生成された CSV ファイルのリストを表示します。
ls -lrt CSV_FILES_PREFIX*
CSV ファイル内のすべての VM に対してゲスト検出を実行する
CSV ファイル内の VM に対してゲスト検出を実行するには、Migrate to Containers GitHub リポジトリの collection
スクリプトを使用します。
前の手順で生成した CSV ファイルごとに、この手順を繰り返します。
このスクリプトは、discover vsphere guest
コマンドを使用して VM にゲスト収集スクリプトをアップロードし、実行します。
このスクリプトをバックグラウンドで実行し、出力をログファイルに書き出すことをおすすめします。そのためには、スクリプトに入力として渡されるテキスト ファイルを作成する必要があります。
次のテキスト ファイルを作成します。
cat <<EOF >> INPUT_FILE CSV_FILES_PREFIXCSV_FILE_SUFFIX VSPHERE_URL VSPHERE_USER VSPHERE_PASSWORD VM_USER VM_PASSWORD EOF
次のように置き換えます。
- INPUT_FILE: 入力ファイル名
- CSV_FILES_PREFIX: CSV ファイル名の接頭辞
- CSV_FILE_SUFFIX: CSV ファイル名の接尾辞
- VSPHERE_URL: vCenter Server インスタンスまたは vSphere Client の URL
- VSPHERE_USER: vCenter ユーザー名
- VSPHERE_PASSWORD: vCenter パスワード
- VM_USER: VM ユーザー名
- VM_PASSWORD: VM パスワード
ゲスト収集スクリプトを実行します。
nohup ./mcdc_collect_vms_guest_tools.sh <INPUT_FILE > /tmp/mcdc.out 2>&1 &
前の手順で生成した CSV ファイルごとに手順 1 と 2 を繰り返します。
オフライン評価レポートを生成する
すべてのデータが収集されたら、詳細な HTML レポートを生成できます。
./mcdc report --format html --full > REPORT_NAME.html
次のステップ
- EC2 インスタンスからゲストデータを収集する方法を学ぶ。
mcdc
CLI の詳細を確認する。- スクリプトのサンプルを見る。