這份指南說明如何使用 CloudEndure 提供技術支援的 VM 遷移服務,將搭載支援作業系統的伺服器從內部部署的機器或其他公用雲端平台的 VM 匯入 Google Cloud Platform。完成本文的練習後,您就能在專案中建立實例化的虛擬機器,為其他環境中的機器提供備援。
您也可以參閱將 VM 遷移至 Google Compute Engine 的最佳做法,或嘗試使用虛擬磁碟匯入工具。
目標
- 透過 Google Cloud Platform 主控台啟動 VM 遷移服務。
- 安裝 CloudEndure 複製代理程式,並將虛擬機器複製到 Compute Engine。
- 啟動新建立的虛擬機器。
費用
您可以免費使用 VM 遷移服務,Google 和 CloudEndure 均不會向您收費。
針對您匯入 Compute Engine 的 VM 執行個體,Compute Engine 會依據 VM 執行個體的價目表收取費用。
事前準備
需求條件
如要使用 VM 遷移服務,您執行遷移作業的來源機器必須搭載下列其中一種作業系統:
Windows
以下是受到支援的 Windows 作業系統。請注意,Windows Client 作業系統和 Windows Server 試用版不受支援。
將 Windows 作業系統遷移至 Compute Engine 時,新的隨選 SPLA 授權將會附加至 Compute Engine VM 執行個體,您無法為 Compute Engine 自備授權。
- Microsoft Windows Server 2016 (64 位元) 的 Standard Edition 和 Datacenter Edition
- Microsoft Windows Server 2012 R2 (64 位元) 的 Standard Edition 和 Datacenter Edition
Microsoft Windows Server 2016 (64 位元) 的 Standard Edition 和 Datacenter Edition
Microsoft Windows Server 2008 R2 64-bit,Standard Edition 和 Datacenter Edition
Microsoft Windows Server 2008 含 Service Pack 2 (32 位元或 64 位元) 的 Standard Edition 和 Datacenter Edition
Microsoft Windows Server 2003 含 Service Pack 2 (32 位元或 64 位元) 的所有版本
Microsoft Windows Server 2003 R2 含 Service Pack 2 (32 位元或 64 位元) 的所有版本
如果您是從 Windows Server 2003 環境進行遷移,您的執行個體會依 Windows Server VM 費率計價。
將 Windows Server 環境遷移至 Google Cloud Platform 前,您必須先完成 Windows Server 機器的遷移準備工作。
Linux
- SUSE Linux (SLES) 11 以上版本
- Debian Linux 8
- Kali Linux 2.0
- Ubuntu 12.04 以上版本
Red Hat Enterprise Linux (RHEL) 5.0 以上版本
CentOS 6.0 以上版本
Oracle Linux 6.0 以上版本
如果您的作業系統是 SUSE、RHEL 或 Oracle Linux,您必須具備使用作業系統的授權,您有責任確認自己是否擁有執行作業系統的適當授權。如果作業系統是 Windows,現有授權將全部轉換成 Google Cloud Platform 的「用多少,付多少」授權。
建立服務帳戶和服務帳戶金鑰
如要使用 CloudEndure VM 遷移服務,您必須透過服務帳戶金鑰將這項服務連結至您的 Google Cloud Platform 主控台專案。您在登入 CloudEndure 入口網站時也會用到這個服務帳戶金鑰。
前往 GCP 主控台的「服務帳戶」頁面。
如果出現系統提示,請選取專案。
按一下 [Create Service Account] (建立服務帳戶)。
選擇服務帳戶的名稱,並將「Project Owner」(Project 擁有者) 角色授予服務帳戶。
勾選「Furnish a new private key」(提供一組新的私密金鑰) 旁邊的方塊,然後在「Key type」(金鑰類型) 清單中選取 [JSON]。
按一下 [Create] (建立) 即可建立服務帳戶金鑰,接著按照畫面上的操作說明下載金鑰。
啟動 VM 遷移服務
VM 遷移服務是由 Google Cloud Platform 的第三方合作夥伴 CloudEndure 所提供。您必須先註冊 CloudEndure 帳戶才能遷移 VM,CloudEndure 不會針對這項服務向您收費。
開啟 GCP 主控台的「VM 執行個體」頁面。
如要啟動遷移服務,請按一下 [匯入 VM]。
按一下 [繼續] 即可啟用遷移服務。
啟用 VM 遷移服務
- 在 CloudEndure 登入頁面上,按一下 [Sign up] (註冊) 即可註冊這項服務。
在「Activation」(啟用) 頁面上,填入必要的詳細資料。
如果您接受服務條款,請選取 [I agree to the CloudEndure Terms and Conditions] (我同意 CloudEndure 服務條款) 方塊,然後按一下 [Activate My Account] (啟用我的帳戶) 即可完成註冊程序。CloudEndure 會傳送確認電子郵件到您用來註冊的電子郵件地址。
按一下電子郵件中的連結即可啟用帳戶。
系統會將您重新導向 VM 遷移主控台,之後您也能隨時直接存取這個主控台。
遷移執行個體
您可以使用 VM 遷移服務將正在執行的 Windows/Linux 伺服器 (無論是實體/虛擬/雲端伺服器) 遷移至您選擇的目標雲端地區,而不對來源基礎架構的系統運作造成任何中斷。這項複製程序會在區塊層級持續進行。
下列網路圖表列出這項遷移程序在網路和通訊埠方面的需求,同時說明了遷移工作負載的規定和最佳做法。

準備目標地區的暫存網路
在目標地區建立虛擬私人雲端網路,做為代管 CloudEndure 複製伺服器的暫存網路使用。如果您想要使用 default
網路,則可跳過這個步驟。
設定 CloudEndure 帳戶
- 登入您已啟用的 CloudEndure 帳戶。
- 提供專案 ID 和先前建立服務帳戶時下載的 JSON 金鑰。
選取複製選項
選取您要將 VM 遷移到哪個目標地區,然後選擇您建立的複製伺服器網路。如果您並未建立新的網路,請選取 default
網路。
安裝遷移代理程式
您必須在每個您要遷移的來源機器上安裝 VM 遷移代理程式,系統才能將位於區塊層級的機器從來源複製到目的地。您可以在任何支援的作業系統中安裝代理程式。這個步驟會將資料複製到 Google Cloud Platform,但不會啟動最終目標機器。
如要安裝代理程式,請按照以下操作說明將代理程式下載至您要遷移的機器。
在 VM 遷移主控台中,依序按一下「說明」圖示和 [How to add machines] (如何新增機器)。隨即顯示的說明頁面上提供了安裝遷移代理程式所需的安裝憑證,請複製該憑證。
Linux
如果您的作業系統是 Linux,請使用以下指令下載安裝程式:
wget -O ./installer_linux.py https://gcp.cloudendure.com/installer_linux.py
接著使用以下指令執行安裝程式,並以您的安裝憑證取代 [TOKEN]:
sudo python ./installer_linux.py -t [TOKEN]
Linux 安裝程式只能在安裝了 Python 2.4 以上版本的機器上執行,不支援其他 Python 版本。
Windows
請在指令提示視窗中使用以下指令執行安裝程式,並以您的安裝憑證取代 [TOKEN]:
installer_win.exe -t [TOKEN]
代理程式順利安裝完成後,您就能在 VM 遷移主控台的「Migration」 (遷移) 分頁中追蹤遷移進度。
主控台的「Data Replication Progress」 (資料複製進度) 一欄下方會顯示資料複製到 Google Cloud Platform 的進度。
如果「Status」 (狀態) 一欄顯示紅色停止符號圖示,請確認以下事項:
來源伺服器 (已安裝代理程式) 可經由 TCP 通訊埠 443 與 VM 遷移管理伺服器 (
console.cloudendure.com
) 通訊。安裝過程中,Linux 伺服器可能會需要存放區的存取權。暫存區 (複製伺服器網路) 中目標地區的複製伺服器可經由 TCP 通訊埠 443 與 VM 遷移服務管理伺服器 (
console.cloudendure.com
) 通訊,也能經由 TCP 通訊埠 443 與下載安裝套件的傳出網際網路連線通訊。根據預設,CloudEndure 的服務會自動新增防火牆規則,允許這項專案存取權。來源伺服器 (已安裝代理程式) 可經由 TCP 通訊埠 1500 與目標地區的複製伺服器網路中的複製伺服器通訊。這個防火牆規則也是由 CloudEndure 新增。
設定目標機器
接下來,只要在 VM 遷移主控台按一下伺服器即可開啟「Blueprint」(藍圖) 分頁,請針對每一個您要遷移的 VM 執行個體查看虛擬機器屬性。
「Blueprint」(藍圖) 分頁可供您設定目標 VM 執行個體的屬性。舉例來說,您可以變更 VM 要建立在哪個目標網路,以及內部 IP 等屬性。您可以在安裝代理程式後隨時變更這些屬性,即使複製程序尚未完成也能更改設定。這些屬性包括:
目標執行個體的機器類型
目標執行個體的機器名稱
目標虛擬私人雲端網路/子網路
內部 IP
VM 執行個體使用的每個永久磁碟的類型
如要儲存您所做的變更,請按一下 [Save Blueprint] (儲存藍圖)。
確認初始同步處理已完成
視來源磁碟大小和您要將機器遷移至哪個區域而定,複製伺服器可能需要幾個小時以上的時間才能將您的資料同步處理完畢。初始同步處理完成後,已複製的機器會在「Data Replication Progress」(資料複製進度) 資料欄中顯示 Continuous Data Protection
,表示您可以測試目標執行個體的建立作業。「Status」(狀態) 一欄顯示的紫色啟動圖示則代表您可以在目標位置啟動目標機器。
測試 VM 執行個體的建立作業
當您準備好在目標位置測試伺服器的建立作業時,請先選取伺服器,然後依序按一下 [Launch Target Machine] (啟動目標機器) 和 [Test] (測試)。
您可以在「Job Progress」(工作進度) 分頁中追蹤目標機器啟動程序的進度,這個分頁也會顯示過程中是否有任何錯誤。
測試目標 VM 的可用性
前往「VM 執行個體」頁面並確認您建立的目標 VM。根據預設,目標 VM 會以原始名稱做為前置字元。如果您曾在「Blueprint」(藍圖) 分頁中變更目標執行個體的名稱,目標 VM 就會使用您選擇的名稱。
確認您可以登入目標機器。如要確認 Windows 目標機器,請使用遠端桌面協定;Linux 則須使用安全殼層 (SSH)。
使用來源機器的憑證登入目標機器,登入時請使用 SSH 和遠端桌面協定的外部用戶端,不要嘗試透過 Cloud Platform Console 的網頁介面進行連線。
在目標 VM 測試應用程式
建立了測試目標 VM 後,您必須測試所有應用程式是否能正常運作。
如有任何需要調整的部分,請透過「Blueprint」(藍圖) 分頁或來源機器進行調整,並在應用程式能按預期運作前重複執行這項測試程序。
對已遷移的執行個體進行最終設定
對機器測試完畢後,您就可以開始轉換到 Google Cloud Platform 上的執行個體。
- 為短暫的停機時間做好準備,您可以根據測試階段的經驗估算停機時間。請利用這段時間建立最新的目標測試機器,並確認目標工作負載能正常運作。
- 停止或停用來源伺服器的存取權,避免因使用者存取而導致可能無法將最終變更複製到目標 VM。
- 確定來源伺服器不會再有任何變更後,請選取 VM 遷移主控台上的伺服器,然後按一下 [Cutover] (轉換),即可讓目標 VM 的最終副本以最新應用程式狀態啟動。
目標機器成功建立後,請重複執行例行測試直到確認所有項目都能按預期運作,然後設定 DNS 伺服器將所有使用者指向新的目標機器。
遷移後的步驟
安裝訪客環境套件
如果在登入 VM 執行個體時遇到問題,您可能需要在執行個體上安裝 Compute Engine 訪客套件。訪客套件會設定使用者帳戶、執行個體主機名稱、關機和開機指令碼的支援功能等項目。
如要安裝訪客環境,請參閱安裝訪客環境一文。
將 CloudEndure 代理程式從來源伺服器移除
當您確定目標地區中即時遷移的線上機器可以正常使用,且不需要再建立其他目標機器時,請將 CloudEndure 代理程式從來源伺服器移除:
- 在 VM 遷移主控台中找到您要移除遷移代理程式的機器,然後勾選該機器旁邊的方塊。
- 按一下 [Machine Actions] (機器動作),然後選取 [Remove machines from this console] (從這個主控台移除機器)。
這項操作會停止持續複製程序,並從來源機器解除安裝 VM 遷移代理程式。
已知問題
CloudEndure 授權問題
將遷移代理程式授權安裝到來源機器上之後,該授權只有一段有限的時間有效。每部來源機器的代理程式授權都是個別的授權,
如果您從 Cloud Endure 主控台看見授權錯誤,例如 Selected machine has an expired license and is therefore not
Launchable.
,請向 support@cloudendure.com 尋求協助。
服務帳戶問題
我的服務帳戶已遭刪除,VM 遷移服務無法繼續進行複製程序。
如果您刪除了原先用於遷移的服務帳戶,請按步驟建立新帳戶,並將新的 JSON 金鑰新增至 CloudEndure 帳戶。
我的服務帳戶權限已經變更,且 VM 遷移服務無法繼續進行複製程序。
如果您變更了服務帳戶的權限或以其他方式修改了帳戶,請根據建立新帳戶的步驟重新設定您的帳戶。
Windows Server 2003 執行個體的相關限制
將 Windows Server 2003 環境遷移至 Google Cloud Platform 前,請注意以下限制:
- 您不得為 Windows Server 2003 執行個體指派外部 IP 位址。由於 Windows Server 2003 不會再獲得支援,您的執行個體可能會有遭受安全攻擊的風險。請利用虛擬私人雲端網路為您的執行個體設定私有 IP 位址。
- 在您遷移 Windows Server 2003 VM 後,系統不會自動啟用您的 Windows 副本。您必須使用多重啟用金鑰 (MAK;您與 Microsoft 之間大量授權協議的一部分) 在每個執行個體上啟用 Windows。
- Google Cloud Platform 對 Windows Server 2003 的支援有限。由於 Microsoft 已不再支援 Windows Server 2003,您可能會遇到無法完全解決的問題。
下列 Compute Engine 功能不適用於 Windows Server 2003 執行個體:
- Windows Server 2003 不支援透過磁碟區陰影複製服務 (VSS) 建立磁碟快照。如要為磁碟建立快照,您必須使用標準快照系統。
- 執行個體無法擁有多個網路介面。
- 您無法將 GPU 或 TensorFlow 處理單元 (TPU) 新增至執行個體。
硬體支援可能會依您的 Windows Server 2003 版本而有所限制。執行遷移程序時,您必須選擇 Windows Server 2003 版本支援的機器類型。
舉例來說,Windows Server 2003 Standard Edition 最多可支援 4 個 vCPU 和 32 GB 的記憶體。您在遷移過程中就必須選擇最多搭載 4 個 vCPU 和 32 GB 記憶體的機器類型。
Compute Engine 專用的 Windows 訪客環境 (可在 Compute Engine 和您的 VM 之間轉移資訊) 支援的功能有限,包括:
- 您可以透過主控台、
gcloud
指令列工具或 API 在已遷移的執行個體上建立新的使用者帳戶。 - 您可以針對執行個體上已有的使用者帳戶重設密碼。
- 您可以透過主控台、
Stackdriver Windows 監控和記錄代理程式目前不支援 Windows Server 2003 執行個體。
後續步驟
- 有關如何在 Compute Engine 上使用或排解 Windows Server 執行個體問題的實用提示,請參閱 Windows 執行個體的相關提示與疑難排解。
- 自行試用其他 Google Cloud Platform 功能。請參考我們的教學課程。