本教學課程將逐步說明如何使用遷移中心用戶資產評估器 CLI 客體探索功能,在一系列 VMware 虛擬機器 (VM) 執行個體上探索及收集資料。大量 VM 可能難以監控及排解問題。建議您將資料批次分成 1,000 個以下的小型資料群組。
目標
您在本教學課程中將學習以下內容:
- 下載
mcdc
CLI。 - 執行 VMWare 商品目錄探索作業。
- 產生 CSV 檔案,其中包含所有偵測到的 VM。
- 將 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 用戶端的網址
discover
指令的輸出內容如下所示:[+] Found 528 VMs Collecting data... 528 / 528 [---------------------------------------------------] 100.00% 5 p/s [✓] Collection completed.
產生 CSV 檔案,其中包含所有偵測到的 VM
如要產生 CSV 檔案,請使用 GitHub 上「遷移至容器」存放區中的 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 遷移至容器存放區中的 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 用戶端的網址
- 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。 - 查看指令碼範例。