本教學課程將逐步說明如何使用 Migration Center 探索用戶端 CLI 訪客探索功能,探索及收集一批 VMware 虛擬機器 (VM) 執行個體的資料。大量 VM 可能難以監控及排解問題。建議分批處理,每批少於 1,000 個。
目標
您在本教學課程中將學習以下內容:
- 下載
mcdc
CLI。 - 執行 VMware 目錄探索。
- 產生包含所有探索到的 VM 的 CSV 檔案。
- 將 CSV 檔案分割成多個 CSV 檔案,每個檔案都包含部分 VM。
- 對 CSV 檔案中的所有 VM 執行訪客探索作業。
- 產生離線評估報告。
費用
本教學課程使用內部部署資源,不會產生任何費用。 Google Cloud
事前準備
準備好 Linux 電腦,以便安裝及執行
mcdc
CLI。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 的網址
discover
指令的輸出內容如下所示:[+] Found 528 VMs Collecting data... 528 / 528 [---------------------------------------------------] 100.00% 5 p/s [✓] Collection completed.
產生包含所有已探索 VM 的 CSV 檔案
如要產生 CSV 檔案,請使用 GitHub 上 Migrate to Containers 存放區的 export
指令碼。
指令碼會使用 report
指令產生 CSV 檔案,其中包含上個步驟中探索到的所有 VM。
下載指令碼:
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 檔案的名稱。
將 CSV 檔案分割為多個 CSV 檔案,每個檔案包含部分 VM
如要將大型 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 的網址
- 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。 - 查看指令碼範例。