VMware無代理遷移提供不侵入用戶端作業系統、不佔用用戶端作業系統的計算資源的無代理遷移能力,能夠有效消除使用者對伺服器安全和效能的顧慮。本文介紹如何使用SMC通過無代理的方式遷移VMware虛擬機器。
環境要求
不同的OVA模板需要的環境要求不同,具體如下表所示。
OVA模板 | VMware無代理連接器的配置 | vCenter部署 | 單ESXi環境部署 |
OVA模板 | VMware無代理連接器的配置 | vCenter部署 | 單ESXi環境部署 |
SMC VMware Connector 6.7 OVA | vCPU:4 vCPU及以上 記憶體:8 GB及以上 磁碟:40 GB及以上
| | |
SMC VMware Connector 8.0 OVA | vCPU:4 vCPU及以上 記憶體:8 GB及以上 磁碟:40 GB及以上
| | |
前提條件
已完成遷移前準備工作。具體操作,請參見遷移前準備。
為避免資料丟失,建議重要資料備份至鏡像、快照或該執行個體以外的存放裝置中。
如果您需要將原始伺服器遷移至已購買的阿里雲ECS執行個體:
需要將該執行個體內所有重要資料備份至鏡像、快照或該執行個體以外的裝置中。
目標執行個體的作業系統和遷移源的作業系統需要保持一致。
目標執行個體所掛載的資料盤的數量需要大於等於遷移源的資料盤的數量。如果目標執行個體的資料盤數量不滿足需求,您需要掛載更多的資料盤。掛載資料盤的具體操作,請參見掛載資料盤。
目標執行個體的系統硬碟和資料盤的容量建議大於等於遷移源的系統硬碟和資料盤的容量。如果您需要縮容原始伺服器的系統硬碟和資料盤,目標執行個體的系統硬碟和資料盤的容量至少要大於等於原始伺服器的系統硬碟和資料盤的實際使用容量。如果目標執行個體的雲端硬碟容量不滿足需求,您需要對雲端硬碟進行擴容。雲端硬碟的擴容的具體操作,請參見雲端硬碟擴容指引。
操作步驟
步驟一:建立VMware無代理連接器
SMC提供OVA模板檔案,在vCenter或ESXi環境中匯入VMware無代理連接器OVA模板,您可以通過該模板檔案部署VMware無代理連接器。
說明
開源虛擬化格式OVF(Open Virtualization Format)檔案是一種開源的檔案規格,它描述了一個開源、安全、有效、可拓展的攜帶型虛擬打包以及軟體分布格式,它一般有幾個部分組成,分別是ovf檔案、mf檔案、cert檔案、vmdk檔案和iso檔案。OVA是OVF檔案包的單檔案發行版。
VMware vSphere是VMware的虛擬化平台,可將資料中心轉換為包括CPU、儲存和網路資源的彙總計算基礎架構。vSphere將這些基礎架構作為一個統一的運行環境進行管理,並為您提供工具來管理加入該環境的資料中心。vSphere的兩個核心組件是ESXi和vCenter Server。ESXi是用於建立並運行虛擬機器和虛擬設備的虛擬化平台。vCenter Server是一項服務,用於管理網路中串連的多個主機,並將主機資源集區化。
下載並解壓OVA模板
單擊下載OVA模板,在匯入說明中,根據VMware ESXi或vCenter的版本下載並解壓對應的OVA模板檔案。

部署VMware無代理連接器
在vCenter或ESXi環境中匯入VMware無代理連接器OVA模板檔案,通過該模板檔案部署VMware無代理連接器。部署VMware無代理連接器支援vCenter部署和單ESXi環境部署,您可以根據需求選擇對應的方式。
在vCenter環境中匯入VMware無代理連接器OVA模板,並通過該範本部署VMware無代理連接器。以vCenter 6.7為例,操作步驟如下:
登入vCenter,在vCenter主機上,按右鍵Deploy OVF Template...。
在Deploy OVF Template頁面,根據設定精靈完成建立虛擬機器。
選擇OVA模板後,單擊NEXT。
選中Local file,並單擊Browse...,選擇已解壓的OVA模板檔案。
選擇虛擬機器名稱和安裝位置後,單擊NEXT。
在Virtual machine name後輸入虛擬機器名稱,並選擇安裝位置。
選擇計算資源後,單擊NEXT。
確認模板資訊後,單擊NEXT。
選擇儲存空間後,單擊NEXT。
選擇網路資源後,單擊NEXT。
確認配置資訊後,單擊FINISH。
部署成功後,在VMware無代理連接器上右鍵選擇Power > Power On啟動電源。
使用者需要自行配置網路環境,確保建立的VMware無代理連接器能夠與vCenter的443連接埠(預設)、待遷移虛擬機器對應ESXi宿主機的902連接埠(預設)連通。
在Summary頁簽下,擷取VMware無代理連接器的IP地址。
在ESXi環境中匯入VMware無代理連接器OVA模板,並通過該範本部署VMware無代理連接器。本文以ESXi 7.0,操作步驟如下:
登入VMware ESXi,在虛擬機器上右鍵,單擊建立/註冊虛擬機器。

在選擇建立類型頁面,選擇從OVF或OVA檔案部署虛擬機器後,單擊下一頁。

在選擇OVF和VMDK檔案頁面,輸入虛擬機器名稱後,單擊單擊以選擇檔案或拖放,選擇已下載的OVA模板檔案,單擊下一頁。

在選擇儲存頁面,單擊下一頁。

在部署選項頁面,單擊下一頁。

在即將完成頁面,單擊完成。
等待虛擬機器部署完成,在一般資訊地區中顯示出連接器的IP地址(連接器的網路設定預設為DHCP,如需修改請自行配置)。

您需要自行配置網路環境,確保建立的VMware無代理連接器能夠與ESXi的443和902連接埠(預設)連通。
步驟二:匯入遷移源
登入VMware無代理連接器,配置待遷移的虛擬機器後,在VMware無代理連接器中執行匯入遷移源命令,匯入遷移源。
配置待遷移的虛擬機器
登入VMware無代理連接器。
以SSH遠端連線方式為例,操作步驟如下:
在某個與VMware無代理連接器網路連通的終端中,運行以下命令,遠端連線VMware無代理連接器。預設使用者名為root
,密碼預設為空白。
ssh root@<VMware無代理連接器IP地址>
運行以下命令,檢查時間是否準確。
如果不準確,可通過ntpdate命令校準時間。本文以0.asia.pool.ntp.org
時間伺服器為例。
ntpdate 0.asia.pool.ntp.org
hwclock --systohc

運行以下命令,配置vCenter或ESXi及待遷移的虛擬機器。
cd /root/smc
bash configure.sh
依次配置VMware vCenter或ESXi的IP地址、使用者名稱、密碼、連接埠號碼(建議使用預設443),回顯資訊類似如下所示。
[root@localhost ~]# cd /root/smc
[root@localhost smc]# ./configure.sh
Please input vCenter/ESXi IP:192.168.XX.XX
Please input username:administr****@vsphere.local
Please input password:
Please input port number(default 443):443
提示串連成功,並產生宿主機列表,並要求輸入需要遷移的虛擬機器對應的宿主機(需選擇狀態為“已串連”的宿主機,即Connected一欄為*)。
Test to connect the vCenter/ESXi...
Connect success!
save to ./vmware_connect_config.json
========Aliyun SMC VMware Configure Tool 1.2========
Connect success!
Getting host list progress:
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100.00%]time:1.0s
Host List:
------------------------------------------------------------------------
ID Name Version Connected
1 192.168.XX.XX 6.7.0 *
2 192.168.XX.XX 7.0.3 *
------------------------------------------------------------------------
Please input the ID of Host(input 0 to exit):1
輸入宿主機ID後,產生虛擬機器列表,並要求輸入需要待遷移虛擬機器的ID(需選擇狀態為“已串連”的虛擬機器,即Connected一欄為*)。
Test to connect 192.168.XX.XX
Connect success!
Getting vm list progress:
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100.00%]time:2.3s
VM List of 192.168.XX.XX:
------------------------------------------------------------------------
ID Name Connected CBT Add
1080 test1 *
1084 win16bios *
1011 centos7-bios-2 *
3008 centos7-uefi *
2001 centos-hw10 *
------------------------------------------------------------------------
Please input the ID of VM to be migrated (input 0 to exit):1084
選擇需要遷移的虛擬機器的架構。
--------------------------------------------------------------
0 x86_64
1 i386
2 arm64
--------------------------------------------------------------
Please choose the architecture:0
若當前虛擬機器的作業系統未被成功識別,在給出的作業系統列表中輸入作業系統對應的序號,例如:10。
說明
VMware vCenter中建立虛擬機器時預設的作業系統類型可能並不真實,需要使用者確認。
------------------------------------------------------------------------
0 CentOS
1 Ubuntu
2 SUSE
3 OpenSUSE
4 Debian
5 RedHat
6 Others Linux
7 Windows Server 2003
8 Windows Server 2008
9 Windows Server 2012
10 Windows Server 2016
11 Windows Server 2019
12 Windows Server 2022
------------------------------------------------------------------------
Current OS [Apple macOS 10.14 (64-bit)] is invalid, please choose the OS of VM:10
對於虛擬機器名稱後的Add
行顯示*
,表示添加成功。
VM List of 192.168.XX.XX:
--------------------------------------------------------------
ID Name Connected CBT Add
481 TEST_CLONE_1 *
389 win16bios * *
338 hanjun_test_001 *
386 Aliyun_SMC_Agent_6.5 *
393 win16uefi
--------------------------------------------------------------
Please input the ID of VM to be migrated (input 0 to exit):0
(可選)運行以下命令,可查看已產生vmware_connect_config.json和vmware_migrate_config.json檔案。
回顯資訊類似如下所示。
[root@localhost smc]# ll
total 5588
drwxrwxrwx. 4 root root 239 Oct 17 17:27 Check
-rwxrwxrwx. 1 root root 6884 Oct 14 15:54 client_data
-rwxrwxrwx. 1 root root 151 Oct 14 17:47 configure.sh
drwxrwxrwx. 2 root root 72 Nov 1 01:15 dist
-rwxrwxrwx. 1 root root 38878 Oct 14 15:54 EULA
drwxrwxrwx. 2 root root 4096 Oct 17 17:27 Excludes
-rwxrwxrwx. 1 root root 5633792 Oct 31 19:43 go2aliyun_client
-rwxrwxrwx. 1 root root 146 Oct 14 15:54 user_config.json
-rw-r--r--. 1 root root 263 Nov 10 18:05 vmware_connect_config.json
-rw-r--r--. 1 root root 18406 Nov 10 18:07 vmware_migrate_config.json
匯入遷移源
在VMware無代理連接器中,通過命令運行SMC用戶端,並將VMware虛擬機器的資訊匯入SMC控制台。
警告
SMC用戶端運行期間,避免人為對待遷移的VMware虛擬機器執行關機、重啟、建立和刪除快照等相關操作。若您對待遷移的VMware虛擬機器執行了建立和刪除快照的操作,可能導致遷移失敗。因此導致遷移失敗後,需要在SMC用戶端主目錄/root/smc下執行./dist/migrate_configure,重新擷取虛擬機器設定後,執行./go2aliyun_client --jobtype=3
命令重新運行SMC用戶端。
登入SMC控制台。
在左側導覽列,選擇。
在VMware無代理遷移頁面,單擊匯入遷移源。
在匯入遷移源頁面,配置相關參數。
參數說明如下表所示。
參數 | 說明 |
遷移源類型 | 在下拉式清單選擇VMware虛擬機器。 |
匯入方式 | 預設選中VMware無代理連接器匯入,不可更改。 |
匯入說明 | 根據匯入說明執行匯入遷移源的操作。 |
擷取啟用碼或者存取金鑰(AccessKey)。
擷取啟用碼(推薦):SMC啟用碼Access Token包括Access Token Id和Access Token Code,如果您沒有啟用碼,請先在SMC控制台的匯入說明中,單擊產生啟用碼並複製啟用碼資訊。

擷取存取金鑰(AccessKey):阿里雲帳號的存取金鑰(AccessKey)包括AccessKey ID和AccessKey Secret,如果您未建立AccessKey,請先建立。具體操作,請參見建立AccessKey。
登入VMware無代理連接器,依次運行以下命令,匯入遷移源。
chmod +x ./go2aliyun_client
./go2aliyun_client --jobtype=3
根據回顯資訊,輸入啟用碼或者存取金鑰(AccessKey)。本樣本以輸入啟用碼為例,回顯資訊類似如下所示。當回顯資訊顯示Import Source Server [s-bp14zd35128xgjdbh****] Successfully!
時,表示匯入遷移源成功。
在SMC控制台的VMware無代理遷移頁面的遷移即時狀態列,查看遷移源的狀態。
步驟三:建立遷移任務
在SMC控制台根據介面提示建立並啟動遷移任務。SMC支援將VMware伺服器遷移以下目標類型:
登入SMC控制台。
在左側導覽列,選擇。
在目標遷移源的操作列,單擊開始遷移。
根據介面提示配置相關參數後,單擊立即建立。
配置基本參數,參數說明具體如下表所示。
參數 | 說明 | 樣本 |
任務名稱 | 遷移任務的名稱。 | VMware無代理遷移 |
任務描述 | 輸入遷移任務的描述。 | test |
目標類型(必填) | 您可以根據實際遷移情境選擇對應的目標類型: 將現有的原始伺服器轉換成雲端服務器鏡像,再使用該鏡像建立新的ECS執行個體來實現遷移。 配置項說明如下: 將原始伺服器隨即轉移至已購買的ECS執行個體,原始伺服器和已購買的ECS執行個體的儲存、作業系統等需要適配。 配置項說明如下: | 雲端服務器鏡像 |
執行方式 | 選擇遷移任務執行方式: 立即執行:建立遷移任務後立即啟動。預設選擇立即執行。 預約執行:建立遷移任務後,在設定的時間自動啟動遷移任務。 只建立:僅建立遷移任務,後續需要在操作列單擊開始任務,手動啟動遷移任務。
| 保持預設 |
自動增量同步處理 | 遷移任務是否自動同步原始伺服器增量資料至阿里雲。預設關閉自動增量同步處理。 | 保持預設 |
配置磁碟參數,參數說明具體如下表所示。
參數 | 說明 | 樣本 |
目標磁碟(GiB) | 設定目標雲端服務器的磁碟結構。根據業務需求配置相關參數: 目標阿里雲雲端服務器系統硬碟的大小,單位為GiB。系統硬碟大小取值範圍為20~2048。目標系統硬碟取值需要大於遷移源系統硬碟實際佔用大小。例如,源系統硬碟大小為400 GiB,實際佔用100 GiB,則目標系統硬碟取值需大於100 GiB。 說明 預設值為遷移源系統硬碟大小,如無縮小系統硬碟容量的需要,建議不要小於預設值。 資料盤<N>:表示遷移後阿里雲雲端服務器資料盤的大小,單位為GiB。 資料盤大小取值範圍:20~32768。 | 保持預設 |
(條件必選)如果您需要設定網路模式、壓縮率等參數,單擊進階配置,配置進階參數,參數說明具體如下表所示。
參數 | 說明 | 樣本 |
網路模式 | 選擇傳輸遷移資料到中轉執行個體使用的網路,預設使用公網傳輸。中轉執行個體會被建立在所選Virtual Private Cloud、交換器(vSwitch)下,因此中轉執行個體會被分配公網IP。 遷移資料通過公網傳輸到中轉執行個體。使用該模式,原始伺服器需能訪問公網。根據實際需要,選擇是否指定Virtual Private Cloud和交換器(vSwitch)。 遷移資料通過VPC內網傳輸到中轉執行個體。使用該模式,需要將原始伺服器與阿里雲VPC打通,並且必須指定VPC和vSwitch。 說明 如果您能直接從自建機房(Integrated Data Center,IDC)、虛擬機器環境或者雲主機訪問某一阿里雲地區下的Virtual Private Cloud,建議您使用該方式進行遷移。使用內網傳輸能獲得比通過公網更快速更穩定的資料轉送效果,提高遷移工作效率。您可以通過VPN網關、Express Connect物理專線、Smart Access Gateway將原始伺服器和雲上VPC打通。更多資訊,請參見串連本地IDC。 | 保持預設 |
傳輸限速 | 遷移過程中,資料轉送的頻寬上限限制,單位為Mbps。 | 保持預設 |
壓縮率 | 遷移過程中,資料壓縮傳輸的層級。請根據您的實際需要,設定壓縮率。 取值範圍為0~10,預設值為7,0表示不壓縮傳輸資料。 | 保持預設 |
Checksum驗證 | 預設關閉,開啟後,可增強資料一致性校正,但是可能會降低傳輸速度。 | 保持預設 |
許可證類型 | | 保持預設 |
鏡像檢測 | 鏡像檢測功能主要檢測鏡像是否為有效鏡像、鏡像是否可以建立出功能齊全的ECS執行個體等。您可以在建立伺服器遷移和VMware無代理遷移任務時使用鏡像檢測功能。 鏡像檢測可以能幫您快速發現遷移後鏡像或執行個體存在的潛在問題,並提供修複方案,使其符合阿里雲標準,提升啟動執行個體成功率。 更多資訊,請參見配置鏡像檢測。 | 保持預設 |
遷移任務標籤 | | 保持預設 |
中轉執行個體規格 | 可根據實際需求選擇中轉執行個體規格。當目標類型選擇雲端服務器鏡像時,才會出現此參數。 重要 為避免遷移出錯,請在遷移過程中請勿停止、啟動、重啟或者釋放中轉執行個體。 | |
在彈出的對話方塊中,仔細閱讀遷移提示後,單擊我確認我已知悉。
在遷移任務頁面,查看遷移即時狀態。
由於傳輸資料耗時受源端資料大小,網路頻寬等因素影響,請耐心等待遷移任務完成。

在遷移任務狀態為同步中時,如果您需要暫停遷移任務,可在操作列單擊暫停任務。
(可選)如需查看遷移的詳情資訊,參照以下步驟。
在目標遷移源的遷移源ID/名稱列,單擊遷移源ID,即可查看遷移詳情資訊。

(可選)步驟四:遷移下一個VMware虛擬機器
如果在配置待遷移的虛擬機器時,您添加了多個虛擬機器ID,完成一個VMware虛擬機器移轉操作後,可以關掉SMC用戶端進程,然後遷移下一個VMware虛擬機器。操作步驟如下:
登入VMware無代理連接器。具體操作,請參見登入VMware無代理連接器。
通過Ctrl+C
退出正在啟動並執行SMC用戶端進程,並通過以下命令結束當前SMC用戶端進程。
執行以下命令,重新運行SMC用戶端,開始遷移下一台虛擬機器。
./go2aliyun_client --jobtype=3
驗證遷移結果
-
遷移伺服器後,為確保業務正常運行,您需要執行以下操作:
-
您需要查看演練報告並修複嚴重的演練項後,重試遷移演練。更多資訊,請參見配置遷移演練。
-
此時,您需要排查問題後重試:
在操作列,單擊排查錯誤,根據錯誤碼和錯誤資訊提示修複問題。更多資訊,請參見SMC FAQ和故障排除。
在遷移任務頁面,單擊重試任務。
遷移任務會從上一次結束的進度處繼續遷移。
清理資源
-
遷移時,SMC會在您的阿里雲目標帳號下建立一台名稱為No_Delete_SMC_Transition_Instance
的臨時隨用隨付中轉執行個體,用於輔助遷移。您需要根據遷移是否成功選擇是否需要手動清理:
-
遷移時,SMC會在目標執行個體下建立一塊名稱為SMC_Temp_Disk
的臨時隨用隨付中轉雲端硬碟,用於輔助遷移。您需要根據遷移是否成功選擇是否需要手動清理該中轉雲端硬碟:
相關操作
-
如果您需要多次遷移增量資料,在第一次全量遷移完成後,您可以在自訂的時間間隔內進行多次增量遷移,將原始伺服器系統產生的增量資料同步至阿里雲,有效減少原始伺服器系統業務暫停時間及最終交割時間。具體操作,請參見VMware無代理增量遷移。
-
如果您需要遷移大量VMware虛擬機器,可以通過多任務同時遷移,提高遷移效率。
重要
一個VMware虛擬機器移轉完成後,才可以關掉SMC用戶端進程,然後遷移下一個VMware虛擬機器,否則遷移失敗。
建立多個VMware無代理連接器。
每台VMware無代理連接器最多支援同時運行5個SMC用戶端,如果不能滿足您的需求,您可根據當前VMware環境下剩餘資源情況,複製或通過OVA模板檔案部署多個VMware無代理連接器,在不同的VMware無代理連接器中運行SMC用戶端。本樣本以複製VMware無代理連接器為例。
在VMware無代理連接器上,右鍵選擇。
依次配置虛擬機器名稱和安裝位置、計算資源、儲存空間以及複製選項,完成複製配置。
登入VMware無代理連接器。具體操作,請參見登入VMware無代理連接器。
對於每台VMware無代理連接器,可通過運行以下命令擷取多個SMC用戶端。
每台VMware無代理連接器最多支援同時運行5個SMC用戶端,您可以根據需求複製多個SMC用戶端檔案。
cd /root
cp -r smc smc2
cp -r smc smc3
cp -r smc smc4
cp -r smc smc5
mv smc smc1
重要
每台VMware無代理連接器最多支援同時運行5個SMC用戶端。
運行以下命令,對每個SMC用戶端設定檔。
本步驟以運行第2個SMC用戶端為例,如果您需要在一個VMware無代理連接器中運行多個SMC用戶端,可以到指定目錄下,執行bash configure.sh
命令,設定檔。
cd /root/smc2
bash configure.sh
關於設定檔的具體操作,請參見配置待遷移的虛擬機器。
運行以下命令,查看當前正在啟動並執行SMC用戶端相關進程。
ps -ef | grep smcvmware_client
回顯資訊類似下圖所示。
說明
多個SMC用戶端運行時,根據用戶端進程開始啟動並執行時間順序,SMC用戶端進程名依次包含smcvmware_client_1、smcvmware_client_2、... 、smcvmware_client_N。
每個用戶端對應的遷移任務完成後,通過Ctrl+C
退出,並通過以下命令結束當前進程。
其中:N表示進程順序,需替換為實際的值。例如:1、2。
執行以下命令,重新運行SMC用戶端,開始遷移下一台VMware虛擬機器。
./go2aliyun_client --jobtype=3