在某些情況下,您可能會想將工作負載從現有的虛擬機器執行個體 (VM) 移至較新的 VM。改用新 VM 的原因包括:
- 運用新機器類型,加快儲存空間或網路速度。例如從 C2 升級至 H3,以提升網路頻寬。
- 相較於來源 VM 執行個體,可享有更高的成本效益。舉例來說,您可以從 N1 升級至 N4,以獲得第 5 代 Intel Xeon 處理器的更高價值。
- 使用新 VM 執行個體專屬的功能。舉例來說,您可以從 N4 升級至 C4,以享有額外的效能和維護選項。
- 將虛擬機器 (VM) 執行個體變更為不含作業系統的執行個體。
- 將本機 SSD 磁碟新增至 C3 或 C3D VM 執行個體。
升級至最新一代的機器系列時,如果目前的 (來源) VM 符合下列條件,您或許可以使用「編輯 Compute 執行個體的機器類型」一文所述的簡化程序:
- 新機型系列支援該作業系統 (OS) 版本。
- 新機器系列支援連結至來源 VM 的開機磁碟類型。
- VM 未使用本機 SSD 儲存空間。
- 已附加 GPU 的 VM 使用 G2 機器類型。詳情請參閱新增或移除 GPU。
- VM 僅使用新機型系列支援的功能。
- VM 不屬於代管執行個體群組 (MIG)。
- VM 使用 gVNIC 網路介面。
事前準備
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
- Set a default region and zone.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:
gcloud init
如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
必要的角色
如要取得編輯或變更 VM 所需的權限,請要求管理員授予您專案的下列 IAM 角色:
-
Compute 執行個體管理員 (v1) (
roles/compute.admin.v1
) -
如要變更網路類型:
Compute Engine 網路管理員 (
roles/compute.networkAdmin
)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這些預先定義的角色具備編輯或變更 VM 所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要編輯或變更 VM,您必須具備下列權限:
-
如要變更機器類型,請按照下列步驟操作:
-
專案的
compute.instances.stop
-
專案的
compute.instances.create
-
專案的
compute.instances.start
-
compute.instances.setMachineType
執行個體
-
專案的
-
如要建立磁碟快照,請按照下列步驟操作:
-
專案的
compute.snapshots.create
-
compute.disks.createSnapshot
磁碟的權限
-
專案的
-
如要建立新磁碟,請按照下列步驟操作:
-
專案的
compute.disks.list
-
專案的
compute.disks.create
-
專案的
compute.disks.update
-
專案的
-
如要將磁碟附加至 VM,請按照下列步驟操作:
-
compute.instances.attachDisk
執行個體 -
compute.disks.use
磁碟的權限
-
-
如要刪除磁碟:
compute.disks.delete
在專案中 -
如要變更網路類型,請按照下列步驟操作:
-
專案的
compute.networks.list
-
專案的
compute.networks.update
-
專案的
評估 VM 遷移選項
從一個機器類型遷移至另一個類型,取決於多項因素,包括:新機器類型的區域可用性,以及儲存空間選項和網路介面與來源和新機器系列的客體 OS 相容性。
運算需求
請查看目前執行個體和新機器類型的下列需求:
- 請參閱機器家族資源說明文件,找出適合工作負載的機器類型。請考量應用程式是否需要特定硬體 (GPU)、高效能或較低的成本。
- 查看新機器類型支援的磁碟類型功能。Hyperdisk 支援大部分的永續磁碟功能,但並非全部。不過,Hyperdisk 提供 Persistent Disk 沒有的其他功能。
- 查看預期機型系列的特色。新機器系列可能不支援您目前使用的機器系列功能,例如自訂機器類型、本機 SSD 或 Shielded VM。
- 請查看地區和區域,確認新機器系列在目前 VM 所在的所有地區都適用。您可能需要調整部署、高可用性和災害復原計畫。
- 查看 OS 遷移計畫:
- 如果新 VM 需要較新版本的 OS,請確認應用程式與較新版本的 OS 相容。
- 如要改用 Arm,但目前作業系統版本沒有可用的 Arm 映像檔,請選擇新的作業系統或作業系統版本來執行應用程式,並確認應用程式與新作業系統相容。
- 只要來源 C3 VM 執行個體使用支援的作業系統和網路驅動程式,就能從 C3 VM 執行個體遷移至 C3 裸機執行個體。
- 如要從 C3 以外的機器系列遷移至裸機執行個體,請務必建立新的執行個體。您可能必須自行執行管理程序,但只要啟用 IDPF 驅動程式,也可以執行任何 C3 裸機支援的作業系統。裸機執行個體會使用 IDPF 網路介面,但只會顯示為實體功能,而非虛擬功能。
儲存空間需求
請詳閱下列儲存空間需求,瞭解目前執行個體和新執行個體類型:
- 查看新機型系列支援的儲存裝置類型和儲存裝置介面。
- 根據預設,第一代和第二代機器系列只會使用永久磁碟儲存空間類型和 VirtIO-SCSI 介面。
- 第 3 代以上的機器系列 (例如 M3、C3 和 N4) 僅支援 NVMe 介面,部分機器僅支援 Hyperdisk 和本機 SSD 儲存空間類型。
- Bare Metal 執行個體僅支援 Hyperdisk。
- 光碟相容性:
- 如果開機磁碟使用的磁碟類型不支援新的機器系列 (例如
pd-standard
),則必須為新的 VM 建立新的開機磁碟。 - 如果將作業系統升級至新版本,且作業系統不支援就地升級,則必須建立新的開機磁碟。除非您將來源開機磁碟上的所有資料複製到臨時非開機磁碟,否則這些資料都會遺失。接著,建立新的開機磁碟,並將儲存在暫時性非開機磁碟上的資料複製到新的開機磁碟。
- 如果沒有升級 OS 版本,可以為目前的開機磁碟建立快照,然後還原至新的支援磁碟類型。建立 VM 時,您就可以使用這個新磁碟做為開機磁碟。
- 如果非開機磁碟使用的磁碟類型不支援新的機型系列,您可以按照「變更磁碟類型」一文所述,使用快照將來源磁碟變更為新的磁碟類型。
- 如果開機磁碟使用的磁碟類型不支援新的機器系列 (例如
- 本機固態硬碟無法移至新的 VM。您可以將足夠大的磁碟連接至目前的 VM,儲存所有本機 SSD 資料,然後使用快照將來源磁碟變更為新的磁碟類型,如「變更磁碟類型」一文所述。建立附加本機 SSD 磁碟的 VM 後,即可將資料複製回本機 SSD 磁碟。
- 如果目前的 VM 執行個體使用儲存集區中的磁碟,但您要將工作負載移至其他地區的 VM,則必須在新地區中重新建立磁碟和儲存集區。
- 如果新機型系列使用不同的磁碟介面 (例如 NVMe 而非 SCSI),客體 OS 中的磁碟裝置名稱就會不同。請確保應用程式和指令碼在參照所連線的磁碟時,使用永久裝置名稱或符號連結。
網路需求
請查看目前執行個體和新執行個體類型的下列網路需求:
查看新 VM 支援的網路介面。
- 根據預設,第一代和第二代機器系列只會使用 VirtIO 網路介面。
- 第 3 代和更新的機器系列 (例如 M3、C3 和 N4) 僅支援 gVNIC 網路介面。
- 裸機執行個體僅支援 IDPF 網路介面。
確認應用程式和作業系統支援機器系列適用的介面。
檢查 VM 的網路設定,判斷是否需要保留指派的 IP 位址。如果是,您必須將 IP 位址升級為靜態 IP 位址。
如果您目前使用的 VM 採用每部 VM 的 Tier_1 網路效能,請確認新機型系列是否提供或需要這項功能。舉例來說,您可以在 C2 機器類型中使用 Tier_1 網路,但H3 VM 則不需要。
如要判斷目前 VM 的網路介面類型,請使用
gcloud compute instances describe
指令查看 VM 的nic-type
:gcloud compute instances describe VM_NAME --zone=ZONE
如果 VM 已將
nic-type
設為VIRTIO
,您就無法變更網路介面類型。您必須建立新的 VM,並將網路介面類型設為 gVNIC。準備遷移現有 VM
完成評估部分後,接下來的步驟是準備遷移 VM 執行個體,方法是為新的 VM 執行個體要求資源,並準備來源 VM 執行個體的備份。
準備運算資源
如要準備將目前的執行個體移至新執行個體,請完成下列步驟:
- 在您打算遷移資源的區域和可用區要求配額。如果您有現有的機器類型配額,可以要求轉移該配額。這項程序需要幾天才能完成。
- 為新的 VM 執行個體預留資源,確保新區域和可用區有可用的機器資源。請務必瞭解預留資源的使用方式,並測試是否能使用預留資源。
- 擴充高可用性和災難復原計畫,將新區域納入其中。
- 視需要升級目前 VM 的 OS。
- 如果作業系統供應商支援,請將作業系統就地升級至新機型系列支援的版本,並確認工作負載在新版作業系統上正常運作。
- 如果系統不支援 OS 升級,您必須在建立新 VM 時建立新的開機磁碟。判斷要從目前的開機磁碟複製哪些資訊,然後將這些資訊複製到非開機磁碟的暫時位置,以便轉移至新的 VM。如果目前 VM 沒有任何非開機磁碟:
- 如要瞭解如何為第一代和第二代機器類型新增永久磁碟儲存空間,請參閱「為 VM 新增 Persistent Disk 儲存空間」。
- 如為第三代以上的機器類型,請參閱「為 VM 新增 Hyperdisk 儲存空間」。
- 如果您的 Linux 發行版適用,請檢查
/etc/udev/rules.d/
下的 udev 規則。這個檔案可能包含與目前執行個體硬體設定相關的項目,但與新執行個體無關。舉例來說,以下項目可確保eth0
由virtio-pci
驅動程式 (VirtIO Net) 提供,防止gve
驅動程式 (gVNIC) 提供這個介面。這可能會導致新執行個體發生網路開機指令碼和連線問題:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="virtio-pci", ATTR{dev_id}=="0x0", KERNELS=="0000:00:04.0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
準備儲存空間資源
如要準備將目前執行個體所連磁碟中的資料移至新執行個體,請完成下列步驟:
- 在 Linux 系統上,測試更新後的應用程式和指令碼,確保這些項目能搭配持續性裝置名稱或符號連結運作,而不是搭配磁碟裝置名稱。
- 如果是從執行 Microsoft Windows 的 VM 遷移:
- 您必須更新 2022 年 5 月前建立的 VM 上的 NVMe 驅動程式。這項限制適用於目前 VM 中的開機磁碟,以及先前建立的任何快照或自訂映像檔 (用於建立 VM)。
- 您必須重新設定 Windows,才能開始使用 Microsoft NVMe 驅動程式 (StorNVMe)。按照操作說明更新開機裝置。
- 如果新 VM 不支援與目前 VM 相同的磁碟類型,您可能需要更新部署指令碼或執行個體範本,才能支援新的機器系列。
- 如果目前的 VM 使用的開機磁碟類型不支援新的機器系列,且您要遷移多個設定相同的 VM,請建立自訂映像檔,以便建立新的 VM:
- 如要移動本機 SSD 資訊,請建立足夠大的空白磁碟,以備份本機 SSD 磁碟。
- 盡可能使用新 VM 支援的磁碟類型。
- 如果目前的 VM 和新的 VM 都不支援任何磁碟類型,請使用目前的 VM 支援的磁碟類型建立臨時磁碟。
- 將新磁碟附加至目前的 VM,然後格式化並掛接磁碟。
- 將目前 VM 所連本機 SSD 磁碟中的資料複製到這個暫時磁碟。
變更磁碟類型:如果目前 VM 連結的磁碟使用新 VM 不支援的磁碟類型,請變更這些磁碟的類型。如要將磁碟資料移至新磁碟,請建立磁碟快照。您也可以從一個 VM轉移檔案到另一個 VM。
- 您可以在 VM 執行期間建立快照,但快照建立後寫入磁碟的任何資料都不會擷取。由於快照是增量快照,因此停止 VM 後,您可以擷取第二個快照,以擷取所有最新變更。這個方法應可盡量縮短 VM 無法使用的時間,同時切換至新的 VM。
- 或者,您也可以在停止 VM 後,為所有磁碟建立快照。建議您為 VM 連接的所有磁碟建立快照,即使新機型系列支援磁碟類型也一樣。包括含有複製本機 SSD 資料的任何暫時磁碟。
- 建立磁碟快照所需的時間取決於多項因素,例如磁碟大小和磁碟上的資料量。舉例來說,如果您為 1 TiB 的磁碟建立快照,且該磁碟已使用 85% 的空間,則快照可能需要 5 分鐘才能完成。但如果為 100 TiB 的磁碟建立快照 (已使用 85% 的空間),則可能需要 11 分鐘才能完成。建議您在開始遷移程序前,先對磁碟執行測試快照,瞭解建立快照所需的時間。
如果磁碟可以離線,您可以使用下列方法,在來源 VM 仍可用的情況下,將資料移至新磁碟:
準備網路資源
如要更新目前執行個體使用的網路設定,以支援新執行個體,請完成下列步驟:
- 如果目前的 VM 未使用 gVNIC,您必須建立使用 gVNIC 的網路介面,請參閱「搭配 Compute Engine VM 使用 gVNIC 總覽」,瞭解建立新執行個體時需要採取的步驟。
- 如果您要在新區域中建立 VM,請在新區域中建立虛擬私有雲網路和子網路。
- 如果您已設定自訂 NIC 佇列計數,請參閱佇列分配和變更機器類型。
- 如要保留來源 VM 使用的 IP 位址,請將 IP 位址升級為靜態 IP 位址。
- 取消指派靜態 IP 位址 ,再停止來源 VM。
準備 SUSE Enterprise Linux Server 作業系統
為避免硬體專屬依附元件,請重建
initramfs
(初始 RAM 檔案系統)。包括更多驅動程式和模組,讓作業系統與其他執行個體類型相容。否則會遇到已知問題,導致 VM 無法正常啟動。關閉系統前,請以根身分執行下列指令,使用所有驅動程式重建
initramfs
:sudo dracut --force --no-hostonly
將工作負載移至新的 VM
準備好要遷移的 VM 後,下一步就是將工作負載移至新的 VM。
如要將 VM 從第一代遷移至第二代機器系列,請參閱「編輯 VM 的機器類型」頁面的操作說明。如要變更現有 VM 的名稱,請參閱「重新命名 VM」一文。
這項工作需要的權限
如要執行這項工作,您必須具備以下權限:
- VM 的
compute.instances.setMachineType
權限
本節說明如何將工作負載從第一代或第二代 VM 遷移至第三代 (或更新) VM。在這個程序中,您會建立新的 VM 執行個體,然後將工作負載移至新的 VM。
- 建立新 VM 時,請為開機磁碟選擇其中一種支援的磁碟類型,例如 Hyperdisk Balanced。
建立新的 VM
將工作負載從第一代或第二代 VM (例如 N1 或 N2) 遷移至第三代或更新版本時,您必須先建立新的 VM,然後再遷移工作負載。
- 如果來源 VM 使用的非開機磁碟類型受到新機器系列支援,請從 VM 卸載磁碟。
- 停止來源 VM。
- 為仍附加至來源 VM 的所有磁碟建立快照。
- 使用公開映像檔或設定為使用 gVNIC 的自訂映像檔,建立新的 Compute VM 執行個體。建立新 VM 時,請選擇下列選項:
- 從所選的機器系列中選取機器類型。
- 選取支援的 OS 映像檔,或使用先前建立的自訂映像檔。
- 為開機磁碟選取支援的磁碟類型。
- 如果您是從原始磁碟的快照建立新磁碟,請一併納入這些新磁碟。
- 如果您要在不同區域建立執行個體,請指定新的虛擬私有雲網路。
- 如果新執行個體同時支援 VirtIO 和 gVNIC,請選取 gVNIC。
- 如果您升級來源 VM 的臨時 IP 位址,請指定靜態 IP 位址。
- 啟動新的 VM。
執行個體啟動後
新執行個體建立並啟動後,請完成下列步驟,以完成新執行個體的設定,並從來源執行個體複製所有資料。
- 將從來源 VM 卸離的磁碟連接至新的 VM。
- 如果來源 VM 連結的任何磁碟使用新 VM 不支援的磁碟類型,請從快照建立磁碟,並將其連結至新執行個體。建立新磁碟時,請選取新 VM 支援的磁碟類型,並指定至少與原始磁碟一樣大的大小。
- 如果原始 VM 對於為新 VM 重新建立的任何磁碟使用資源政策,您必須將資源政策新增至新磁碟。
- 如果您是使用公開 OS 映像檔 (而非自訂映像檔) 建立新 VM,請按照下列步驟操作:
- 在新執行個體上設定必要的使用者、驅動程式、套件和檔案目錄,以支援工作負載。
- 在新 VM 上安裝修改後的應用程式和程式。 視需要在新 OS 或架構上重新編譯程式。
- 選用:如果您已將本機 SSD 磁碟的內容移至暫時磁碟,且新 VM 已附加本機 SSD 儲存空間,則在格式化並掛接磁碟後,即可將資料從暫時磁碟移至本機 SSD 磁碟。
- 將與來源 VM 相關聯的任何靜態 IP 位址重新指派給新的 VM。
- 完成任何其他必要工作,確保新 VM 具備高可用性,例如設定負載平衡器和更新轉送規則。
- 選用:視需要更新新 VM 的 DNS 項目。
- 建議:為新磁碟排定磁碟備份作業。
- 建議:如果您將作業系統變更為其他版本或架構,請重新編譯應用程式。
如果遷移工作負載時遇到問題,請聯絡技術帳戶管理員 (TAM) 或 Google 專業服務團隊 (PSO) 尋求協助。
從 n1-standard-8 遷移至 n4-standard-8 的範例
以下範例是將
n1-standard-8
VM 遷移至n4-standard-8
VM。n1-standard-8
VM 具有執行Ubuntu1804
映像檔的PD-SSD
開機磁碟,以及PD-SSD
資料磁碟。您必須使用 CLI 或 REST API 執行這項程序。如要將 N1 VM 升級為 N4 VM,有兩種做法:
選項 1:如果 N1 VM 使用
VirtIO
網路介面,則必須建立新的 N4 VM。N4 僅支援gvnic
網路介面和 Hyperdisk Balanced 磁碟。您要建立永久磁碟開機和資料磁碟的快照,然後透過這些快照建立平衡超磁碟,並連結平衡超磁碟,最後使用平衡超磁碟建立新的 N4 VM。您也可以選擇使用較新版本的 Ubuntu OS,建立新的 Hyperdisk Balanced 開機磁碟。在這種情況下,您可以從開機磁碟快照建立新的 Hyperdisk Balanced 磁碟,但請將該磁碟以非開機磁碟的形式連結至 N4 VM。然後將還原的快照中的非系統資料複製到新的開機磁碟。
選項 2:如果 N1 VM 使用
gvnic
網路介面、作業系統具有 NVMe 儲存裝置驅動程式、沒有任何附加的本機 SSD 磁碟或 GPU,且不屬於受管理執行個體群組 (MIG),則可將機器類型從 N1 變更為 N4,但仍須將永久磁碟類型變更為 Hyperdisk Balanced 磁碟。您必須先卸離永久磁碟開機和資料磁碟、建立磁碟快照、使用快照做為來源建立 Hyperdisk Balanced 磁碟,然後在變更機器類型後,將新的 Hyperdisk Balanced 磁碟連結至 N4 VM。如果 VM 已連結 GPU,則必須先解除連結。建立磁碟快照所需的時間取決於多項因素,例如磁碟上的總 TB 數。舉例來說,如果您為 1 TB 的磁碟建立快照,且磁碟已使用 85% 的空間,快照可能需要 5 分鐘才能完成。但如果為 100 TB 的磁碟建立快照,且磁碟已使用 85% 的空間,則可能需要 11 分鐘才能完成。Google 建議您在開始遷移程序前,先執行磁碟的測試快照,瞭解建立快照需要多少時間。
gcloud
方法 1:使用快照磁碟建立新的 N4 VM:
使用 gcloud compute instances stop 停止 VM:
gcloud compute instances stop VM_NAME \ --zone=ZONE
更改下列內容:
VM_NAME
:目前的 VM 名稱。n1-standard-8
ZONE
:VM 所在的可用區。
建立磁碟快照。使用 gcloud compute snapshots create,為附加至 VM 的永久磁碟開機磁碟和資料磁碟建立快照。
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_DISK_ZONE
更改下列內容:
SNAPSHOT_NAME
:要建立的快照名稱。SOURCE_DISK_NAME
:來源磁碟的名稱。SOURCE_DISK_ZONE
:來源磁碟的可用區。
重複上一個步驟,並指定資料磁碟資訊 (而非開機磁碟),為資料磁碟建立新的 Hyperdisk Balanced 磁碟。gcloud compute disks create:
gcloud compute disks create DISK_NAME \ --project=PROJECT_NAME \ --type=DISK_TYPE \ --size=DISK_SIZE \ --zone=ZONE \ --source-snapshot=SNAPSHOT_NAME \ --provisioned-iops=PROVISIONED_IOPS \ --provisioned-throughput=PROVISIONED_THROUGHPUT
更改下列內容:
DISK_NAME
:您要從快照磁碟建立的新磁碟名稱。PROJECT_NAME
:專案名稱。DISK_TYPE
:新的磁碟類型,在本例中為 Hyperdisk Balanced 磁碟。DISK_SIZE
:磁碟大小 (例如:100GB
)。ZONE
:新磁碟所在的區域。SNAPSHOT_NAME
:快照來源磁碟的名稱。- 選用:
PROVISIONED_IOPS
:磁碟的 IOPS 效能 (例如:3600
)。 - 選用:
PROVISIONED_THROUGHPUT
:佈建磁碟的輸送量效能 (例如:290
)。
針對每個已建立快照的磁碟重複上一個步驟。
使用 gcloud compute instances create 建立
n4-standard-8
VM,並連結 Hyperdisk Balanced 磁碟:gcloud compute instances create VM_NAME \ --project=PROJECT_NAME \ --zone=ZONE \ --machine-type=NEW_MACHINE_TYPE \ --boot-disk-device-name=BOOT_DISK_NAME \ --disk=name=NON_BOOT_DISK_NAME, boot=no \ --network-interface=nic-type=GVNIC
更改下列內容:
VM_NAME
:新 VM 執行個體的名稱。PROJECT_NAME
:專案名稱。ZONE
:新 VM 所在的區域。NEW_MACHINE_TYPE
:機器類型,在本例中為n4-standard-8
。BOOT_DISK_NAME
您從附加至n1-standard-8
VM 的來源磁碟快照建立的平衡超磁碟開機磁碟名稱。NON_BOOT_DISK_NAME
:您從連結至n1-standard-8
VM 的來源快照磁碟建立的 Hyperdisk Balanced 資料磁碟名稱。
使用 gcloud compute instances start 啟動
n4-standard-8
VM:gcloud compute instances start VM_NAME
將
VM_NAME
替換為新 VM 的名稱。
方法 2:執行電腦就地升級:
只有在 N1 VM 使用
gvnic
網路介面、作業系統有 NVMe 儲存裝置驅動程式、未附加任何本機 SSD 磁碟或 GPU,且不屬於代管執行個體群組 (MIG) 時,才能使用這個選項。如果使用具有VirtIO
網路介面的 N1 VM 執行這項程序,會產生 VM 不相容錯誤。- 停止 VM。
- 從 VM 卸離磁碟。
- 建立開機磁碟和資料磁碟的快照。
- 建立平衡超磁碟開機和資料磁碟,並使用磁碟快照做為每個磁碟的來源。
- 將機器類型設為 N4 VM。
- 連結 Hyperdisk Balanced 開機磁碟和 Hyperdisk Balanced 資料磁碟。
- 啟動 N4 VM。
REST
方法 1:使用快照磁碟建立新的 N4 VM:
使用 instances.stop 方法停止 VM:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/stop
更改下列內容:
PROJECT_NAME
:專案 ID。ZONE
:包含 VM 的可用區。VM_NAME
:目前n1-standard-8
VM 的名稱。
使用 disks.createSnapshot 方法為磁碟建立快照,以便建立附加至執行個體的永久磁碟開機磁碟和資料磁碟快照。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME/createSnapshot
在要求主體中,加入新快照永久磁碟的名稱。
例如:
{ "name": "SNAPSHOT_NAME" }
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。DISK_NAME
:您打算建立快照的磁碟。SNAPSHOT_NAME
:快照的名稱,例如hdb-boot-disk
或hdb-data-disk
。
使用 disks.insert 方法建立 Hyperdisk Balanced 磁碟。 您需要執行這個步驟兩次:一次是加入 Hyperdisk Balanced 開機磁碟的
name
,另一次是加入資料磁碟的name
。在要求主體中,使用新的 Hyperdisk Balanced 開機和資料磁碟的sourceSnapshot
、磁碟的type
、Hyperdisk Balanced,以及磁碟的sizeGB
。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEdisks
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。
在要求主體中加入下列內容:
例如:
{ "name": "my-hdb-boot-disk" or "my-hdb-data-disk", "sourceSnapshot": "projects/your-project/global/snapshots/SNAPSHOT_NAME", "type": "projects/your-project/zones/us-central1-a/diskTypes/hyperdisk-balanced", "sizeGb": "100" }'
使用 instances.insert 方法建立新的 N4 VM。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。
在要求主體中加入下列內容:
{ "machineType":"projects/your-project/zones/us-central1-a/machineTypes/n4-standard-8" "name":"VM_NAME", "disks": [ { "boot": true, "deviceName": "my-hdb-boot-disk", "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk", "type": "PERSISTENT" }, { "boot": false, "deviceName": "my-hdb-data-disk", "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk", "type": "PERSISTENT" } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME", "subnetwork":"regions/REGION/subnetworks/SUBNET_NAME", "nicType": "GVNIC" } ] }
更改下列內容:
VM_NAME
:VM 的名稱。NETWORK_NAME
:網路名稱。REGION
:區域名稱。SUBNET_NAME
:子網路的名稱。
使用 instances.start 方法啟動 VM:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/start
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:VM 所在的可用區。VM_NAME
:VM 的名稱。
方法 2:執行電腦就地升級:
只有在 N1 VM 使用
gvnic
網路介面、未附加任何本機 SSD 磁碟或 GPU,且不屬於受管理執行個體群組 (MIG) 時,才能使用這個選項。如果使用具有VirtIO
網路介面的 N1 VM 執行這項程序,會產生 VM 不相容錯誤。使用 instances.stop 方法停止 VM。
使用 instances.detachDisk 方法卸載磁碟,從 N1 VM 卸載原始永久磁碟開機磁碟。此外,您也必須從 VM 卸離所有資料磁碟。
https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=DISK_NAME
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。VM_NAME
:附有pd-ssd
磁碟的來源 VM 名稱。DISK_NAME
:要卸離的磁碟。
建立磁碟快照。使用 disks.createSnapshot 方法,為附加至執行個體的永久磁碟開機磁碟和資料磁碟建立快照。
使用 disks.insert 方法建立 Hyperdisk Balanced 開機和資料磁碟,並在要求主體中加入 Hyperdisk Balanced 磁碟的
name
、新 Hyperdisk Balanced 磁碟的sourceSnapshot
、磁碟的type
、Hyperdisk Balanced,以及磁碟的sizeGB
。使用 instances.setMachineType 方法執行就地機器類型升級,並在要求主體中加入
machineType
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/setMachineTypeMACHINE_TYPE
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。VM_NAME
:要升級的 VM 名稱。MACHINE_TYPE
:新的機器類型。
在要求主體中加入下列內容:
{ "machineType": "projects/PROJECT_NAME/zones/ZONE/machineTypes/MACHINE_TYPE", }
使用 instances.attachDisk 方法,將新的
Hyperdisk Balanced
開機磁碟和 Hyperdisk Balanced 資料磁碟連結至 N4 VM。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instancesVM_NAMEattachDiskDISK_NAME
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。VM_NAME
:來源 VM 執行個體的名稱,其中附加了pd-ssd
磁碟。DISK_NAME
要連結的磁碟。
在要求主體中加入下列內容:
{ "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk", "deviceName":"my-hdb-boot-disk","boot":true }
{ "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk", "deviceName":"my-hdb-data-disk","boot":false }
使用 instances.start 方法啟動 N4 VM。
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/start
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。VM_NAME
:VM 的名稱。
清除所用資源
確認可以連線至新 VM,且工作負載在新 VM 上正常運作後,即可移除不再需要的資源:
- 您為附加至來源 VM 的磁碟建立的快照。
- 附加至來源 VM 的磁碟的所有快照排程。
- 為將本機 SSD 資料複製到新 VM 而建立的暫時性磁碟。
- 來源 VM 和所有附加磁碟。
後續步驟
- 請參閱 Linux 和 Windows Server 的已知問題。
- 閱讀疑難排解秘訣。
- 進一步瞭解遷移生命週期。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-08-08 (世界標準時間)。
-