【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

JUNIOR_MU發表於2024-09-29

VCF Import Tool 工具使用兩種方式來幫助客戶將現有的 vSphere 或 vSphere + vSAN 環境轉變為 VMware Cloud Foundation 環境,分別是轉換(Convert)匯入(Import)。之前在這篇(使用 VCF Import Tool 將現有 vSphere 環境轉換為管理域。)文章中演示了將現有 vSphere 環境轉換為 VCF 解決方案中管理工作負載域的過程,因此這篇文章接著這個主題,看看如何使用這個工具將現有 vSphere 環境匯入為 VCF 解決方案中的 VI 工作負載域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

一、使用要求和限制

請注意,使用 VCF Import Tool 工具執行匯入(Import)過程與之前的轉換(Convert)過程具有相同的要求和限制,因此請參考之前文章(使用 VCF Import Tool 將現有 vSphere 環境轉換為管理域。)中的說明,這裡不再贅述。

使用要求和限制中有一條是,現有 vSphere 環境的 vCenter Server 虛擬機器要麼位於自身的叢集內要麼執行在 VCF 管理域叢集上,當在執行匯入(Import)任務的同時進行 NSX 方案的部署,則會出現兩種不同的情況:

二、現有 vSphere 環境

針對 VCF Import Tool 工具使用的各種要求和限制,同樣需要對現有 vSphere 環境的資訊進行檢查確認。本次用於匯入(Import)的現有 vSphere 環境如下圖所示,一個由 3 主機所組成的 vSAN ESA 標準叢集,關於具體檢查過程這裡就略過了,詳細請參看之前文章。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

當前 vSphere 環境的 vCenter Server 虛擬機器執行在 VCF 管理域叢集上(注意,後面有調整)。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

三、執行匯入前預檢查

在對現有 vSphere 環境執行匯入(Import)操作之前,需要在 SDDC Manager 上執行一次預檢查,確定當前 vSphere 環境是否滿足匯入為 VI 域的要求。由於之前在進行轉換(Convert)時,已經將 VCF Import Tool 工具包上傳至 SDDC Manager 了,所以這裡無需進行上傳。透過 SSH 以 vcf 使用者連線到 SDDC Manager 的命令列,使用以下命令進入到 vcf-brownfield-toolset 目錄。

cd /home/vcf/vcfimport/vcf-brownfield-import-5.2.0.0-24108578/vcf-brownfield-toolset/

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

進入目錄後,使用以下命令在 SDDC Manager 上執行環境檢查。總共有 83 個內容,成功檢查 82 個,失敗 0 個,內部錯誤 1 個。

python3 vcf_brownfield.py check --vcenter vcf-vi01-vcsa01.mulab.local --sso-user administrator@vsphere.local --sso-password Vcf520@password

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

根據檢查輸出的結果,檢視具體錯誤的內容,Compatibility validation 項檢查錯誤,如下所示。

An error occurred when validating VMware Cloud Foundation compatibility: File with Compatibility Matrix Content for Compatibility controller VMWARE_COMPAT is not found.

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

這個錯誤必須要解決,否則後面無法繼續。一開始的時候,我一直以為是 vSAN HCL 檔案有問題導致的,經過各種嘗試和驗證,還把之前轉換的管理域給清除了,重新部署了 VCF 管理域環境,結果這個錯誤始終無法得到修復。然後後面才反應過來,它這個錯誤指的是“Compatibility Matrix”相容性資料檔案無法驗證,這是一個專門針對的 VCF 的相容性矩陣資料,跟 vSAN 那個 HCL 資料庫檔案有點類似但不一樣,也就是這個資料現在缺失了無法進行驗證,所以有這個內部錯誤。其實,你也可以在 SDDC Manager UI 下圖中的地方看到這個錯誤提示,不管是透過轉換(Convert)過來的管理域還是使用 Cloud Builder 部署的管理域,這個 VCF 相容性資料預設都沒有,我們需要手動下載並進行更新。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

如何手動下載並進行更新 VCF 相容性資料檔案,也就是這個“Compatibility Matrix”檔案,可以參考這篇《Offline Download of VMware Cloud Foundation 5.2 Upgrade Bundles》產品文件。整個流程大概是,你需要使用 Bundle Transfer Utility 工具下載這個“Compatibility Matrix”相容性資料檔案,然後再使用這個工具將相容性資料檔案更新到 VCF 中。

對於這個工具,可以到 Broadcom 支援門戶(BSP)去下載,我已經將這個工具和“Compatibility Matrix”相容性資料檔案上傳到了這個百度網盤連結(https://pan.baidu.com/s/1lUbrN0zjLUUC1oB8L7ZRAg?pwd=lvx9)中,有需要可以去下載。下面我將演示如何去下載這個相容性資料檔案並將其更新到 SDDC Manager 中。

如果 VCF 環境可以連線網際網路,那可以直接使用這個工具在 SDDC Manager 上執行下載和更新過程,但要是不能聯網的話,你可以找一臺能夠連線網際網路的 Linux 主機,然後在這個主機上再使用工具去下載相容性資料檔案(VmwareCompatibilityData.json),下載之後儲存到本地,將檔案上傳到內網環境的 SDDC Manager 上,再使用這個工具完成更新。注意,下載這個相容性資料檔案需要具有 Broadcom 支援門戶(BSP)的賬號,沒有 VCF 許可權僅普通使用者許可權也可以進行下載。

將 Bundle Transfer Utility 工具上傳到具有網際網路連線的 Linux 主機上,解壓後並賦予 lcm-bundle-transfer-util 工具執行許可權,然後使用以下命令下載“Compatibility Matrix”相容性資料檔案。

./lcm-bundle-transfer-util --download --compatibilityMatrix --depotUser xxxxxxxx@163.com

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

獲取到 VCF 相容性資料檔案後,將該檔案以及 Bundle Transfer Utility 工具一併上傳到 VCF 管理域的 SDDC Manager 上,使用以下命令解壓該工具並調整許可權。

mkdir /opt/vmware/vcf/lcm/lcm-tools
cd /opt/vmware/vcf/lcm/
tar -xvf lcm-tools-prod.tar.gz
chown vcf_lcm:vcf -R lcm-tools
chmod 750 -R lcm-tools

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

進入到工具所在的目錄,使用以下命令完成 VCF 相容性資料的更新,請注意命令中“inputDirectory”選項所使用的目錄位置。

./lcm-bundle-transfer-util --update --compatibilityMatrix --inputDirectory /home/vcf/ --sddcMgrFqdn vcf-mgmt01-sddc01.mulab.local --sddcMgrUser administrator@vsphere.local

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

完成對“Compatibility Matrix”相容性資料的更新之後,再次使用以下命令執行環境檢查,現在所有檢查都已成功。

python3 vcf_brownfield.py check --vcenter vcf-vi01-vcsa01.mulab.local --sso-user administrator@vsphere.local --sso-password Vcf520@password

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

四、準備 NSX Manager

在進行轉換(Convert)時,我們同時執行了 NSX 的部署,在進行匯入(Import)時,同樣可以一起執行 NSX 的部署。這一步驟是可選操作,你可以在執行匯入過程的同時執行 NSX 的部署,也可以在執行匯入結束之後,在其他時間再執行 NSX 的部署,只需要使用 --skip-nsx-deployment 選項跳過就行。以下是執行 NSX 部署所需的 JSON 配置檔案

{
  "license_key": "AAAAA-BBBBB-CCCCC-DDDDD-EEEEE",
  "form_factor": "medium",
  "admin_password": "Vcf520@password",
  "install_bundle_path": "/nfs/vmware/vcf/nfs-mount/bundle/bundle-124941.zip",
  "cluster_ip": "192.168.32.76",
  "cluster_fqdn": "vcf-vi01-nsx01.mulab.local",
  "manager_specs": [{
    "fqdn": "vcf-vi01-nsx01a.mulab.local",
    "name": "vcf-vi01-nsx01a",
    "ip_address": "192.168.32.77",
    "gateway": "192.168.32.254",
    "subnet_mask": "255.255.255.0"
  },
  {
    "fqdn": "vcf-vi01-nsx01b.mulab.local",
    "name": "vcf-vi01-nsx01b",
    "ip_address": "192.168.32.78",
    "gateway": "192.168.32.254",
    "subnet_mask": "255.255.255.0"
  },
  {
    "fqdn": "vcf-vi01-nsx01c.mulab.local",
    "name": "vcf-vi01-nsx01c",
    "ip_address": "192.168.32.79",
    "gateway": "192.168.32.254",
    "subnet_mask": "255.255.255.0"
  }]
}

將 NSX 部署的 JSON 配置檔案以及 NSX 的安裝包上傳到 SDDC Manager 中,需要記住這個配置檔案上傳的路徑,後面需要用到。

ls /home/vcf/vcfimport/
ls /nfs/vmware/vcf/nfs-mount/bundle/

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

其實,在執行 NSX 部署時,如果物理資源不是很充足的話,我們也可以只部署 1 個 NSX Manager 裝置,之前在執行轉換(Convert)的時候沒有說,以下方法應該也同樣適用,有需要的可以參考以下步驟。當然,上面的 JSON 配置檔案還是需要配置完整的 3 個 NSX Manager 裝置,如果不完整,那後面的檢查都過不了。

透過 SSH 連線到 SDDC Manager 並切換到 root 使用者,使用以下命令編輯系統配置檔案:

vim /etc/vmware/vcf/domainmanager/application-prod.properties

新增以下內容並儲存:

nsxt.manager.cluster.size=1
nsxt.manager.formfactor=medium

重新啟動服務。

systemctl restart domainmanager

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

五、正式執行匯入過程

透過 vcf 使用者 SSH 登入到 SDDC Manager,進入到 vcf-brownfield-toolset 目錄,使用以下命令執行 vSphere 環境匯入過程。執行命令後,輸入 SDDC Manager 的 admin 使用者密碼以及 vCenter Server 的 root 和 SSO 使用者密碼進行驗證。

python3 vcf_brownfield.py import --vcenter vcf-vi01-vcsa01.mulab.local --sso-user administrator@vsphere.local --domain-name vcf-vi01 --nsx-deployment-spec-path /home/vcf/vcfimport/vcf520-import-nsx.json

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

輸入 YES 開始匯入(Import)過程。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

登入 SDDC Manager UI 跟蹤任務狀態。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

任務執行一段時間後,在部署 NSX 的時候又失敗了......。原因是物理主機的 CPU 負載過高導致管理域的一臺虛擬 ESXi 主機卡死了,剛好 SDDC Manager 虛擬機器也在這上面,看這篇(使用 esxtop 殺死 ESXi 主機中卡死和不響應的虛擬機器。)文章!

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

管理域 ESXi 主機卡死後,SDDC Manager 虛擬機器進行了 HA 切換,等所有服務都執行正常後,透過 SDDC Manager UI 重新啟動失敗的任務就可以了,因為現有 vSphere 環境的匯入任務已經完成了,如下圖所示。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

最終,任務全部執行成功。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

任務完成後,切換到 root 使用者,重新啟動一下 SDDC Manager 的所有服務,並使 UI 重新進行初始化。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

六、驗證已匯入的 VI 域

導航到 SDDC Manager UI->清單->工作負載域,可以看到現有 vSphere 環境已經被匯入為 VI 域,VI 域的名稱為我們匯入時設定的名稱 vcf-vi01。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

點選進入 VI 域,檢視該工作負載域的摘要資訊。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

在主機和叢集選項卡中,可以看到屬於 vSphere 環境中的 ESXi 主機和叢集配置資訊。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

執行一下環境預檢查,檢視各個元件和配置是否都正常。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

在發行版本檢視下,VCF 5.2 版本中現在具有兩個工作負載域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

在映像管理檢視下,現在具有兩個可用的映像。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

在網路設定檢視下,檢視 VI 域的網路池配置資訊。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

在對現有 vSphere 環境進行匯入檢查時,由於不知道錯誤的原因,VCF 管理域被重新部署了,所以當時將現有 vSphere 環境的 vCenter Server 虛擬機器透過跨 vCenter vMotion 遷移到了自身的叢集上。由於物理資源負載過高導致 ESXi 4 主機卡死,所以現在是斷開狀態。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

現有 vSphere 環境資訊,現在是 VI 域 vCenter Server,虛擬機器清單包含 vCenter Server 虛擬機器和 1 個 NSX Manager 虛擬機器。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

vCenter Server 虛擬機器在現有 vSphere 叢集中,所以 NSX Manager 虛擬機器被部署到了相同的位置。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

登入 VI 域的 NSX Manager UI(VIP),檢視 NSX 系統配置概覽。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

NSX 叢集配置,只有一個 NSX Manager 節點的 NSX 管理叢集。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

VI 域 vCenter Server 已作為計算管理器被新增到 NSX 當中。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

VI 域叢集中的主機已配置了分散式虛擬埠組(DVPG)的 NSX。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

VI 域管理元件在 DFW 排除列表中。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

【VMware VCF】使用 VCF Import Tool 將現有 vSphere 環境匯入為 VI 域。

相關文章