在某些情況下,您可能會想將工作負載從現有的虛擬機器執行個體 (VM) 移至較新的 VM。遷移至新 VM 的原因包括:
- 運用新的機器類型,加快儲存空間或網路速度。例如從 C2 升級至 H3,以改善網路頻寬。
- 相較於來源 VM 執行個體,享有更高的成本效益。例如,從 N1 升級至 N4,以便在第 5 代 Intel Xeon 處理器上獲得更高價值。
- 使用僅在新 VM 執行個體上提供的功能。舉例來說,您可以從 N4 升級至 C4,以便運用額外的效能和維護選項。
- 將虛擬機器 (VM) 執行個體變更為裸機執行個體。
- 將本機 SSD 磁碟新增至 C3 或 C3D VM 執行個體。
升級至最新一代機器系列時,如果目前 (來源) VM 符合下列條件,您可以使用「編輯運算單元的機器類型」一文中所述的簡易程序:
- 新機器系列支援的作業系統 (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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
REST
To use the REST API samples on this page in a local development environment, you use the credentials you provide to the gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
For more information, see Authenticate for using REST in the Google Cloud authentication documentation.
-
必要的角色
如要取得編輯或變更 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 遷移選項
從一種機器類型遷移至另一種機器類型,取決於多項因素,包括新機器類型的區域供應情形,以及儲存空間選項和網路介面與來源和新機器系列的來賓作業系統相容性。
運算需求
請查看目前執行個體和新機器類型的下列需求:
- 請參閱機器家族資源說明文件,瞭解哪些機器類型適合您的工作負載。請考量應用程式是否需要特定硬體 (GPU)、高效能或低成本。
- 查看新機器類型支援的磁碟類型功能。Hyperdisk 支援大部分的永久磁碟功能,但並非全部。不過,Hyperdisk 提供 Persistent Disk 沒有的其他功能。
- 查看潛在機器系列的功能。新的機器系列可能不支援您目前機器系列使用的功能,例如自訂機器類型、本機 SSD 或遮罩式 VM。
- 請查看地區和區域,確認新機器系列在所有地區皆可用,就像目前的 VM 一樣。您可能需要調整部署、高可用性和災難復原計畫。
- 查看 OS 遷移計畫:
- 如果新虛擬機器人需要較新的作業系統版本,請確認應用程式與新版作業系統相容。
- 如果您要改用 Arm,但目前的作業系統版本沒有 Arm 映像檔,請選擇新的作業系統或作業系統版本來執行應用程式,並確認應用程式與新作業系統相容。
- 只要來源 C3 VM 例項使用支援的作業系統和網路驅動程式,即可從 C3 VM 例項遷移至 C3 裸機例項。
- 如果您要從 C3 以外的機器系列遷移至不含作業系統的執行個體,則必須建立新的執行個體。您可能必須自行執行管理程序;不過,只要啟用 IDPF 驅動程式,您也可以執行任何 C3 metal 支援的作業系統。裸機執行個體會使用 IDPF 網路介面,但僅會以實體函式呈現,而非虛擬函式。
儲存空間需求
請查看下列目前執行個體和新執行個體類型的儲存空間需求:
- 查看新機器系列支援的儲存類型和儲存介面。
- 根據預設,第一代和第二代機器系列只會使用永久磁碟儲存類型和 VirtIO-SCSI 介面。
- 第 3 代及更新機器系列 (例如 M3、C3 和 N4) 僅支援 NVMe 介面,部分機器系列則僅支援 Hyperdisk 和本機 SSD 儲存類型。
- Bare Metal 執行個體 (例如 C3 和 X4) 僅支援 Hyperdisk。
- 磁碟相容性:
- 如果開機磁碟使用的磁碟類型不受新機器系列支援 (例如
pd-standard
),您必須為新的 VM 建立新的開機磁碟。 - 如果您要將作業系統升級至新版本,但作業系統不支援原地升級,則必須建立新的開機磁碟。除非將來源開機磁碟的所有資料複製到臨時非開機磁碟,否則這些資料都會遺失。接下來,您需要建立新的開機磁碟,並將儲存在臨時非開機磁碟上的資料複製到新的開機磁碟。
- 如果您不升級作業系統版本,可以為目前的開機磁碟拍攝快照,然後還原至新支援的磁碟類型。建立 VM 時,您可以使用這個新磁碟做為開機磁碟。
- 如果非開機磁碟使用的磁碟類型不受新機器系列支援,您可以使用快照將來源磁碟變更為新磁碟類型,如「變更磁碟類型」一節所述。
- 如果開機磁碟使用的磁碟類型不受新機器系列支援 (例如
- 本機 SSD 磁碟無法移至新的 VM。您可以連接足以儲存所有本機 SSD 資料的磁碟,然後使用快照將來源磁碟變更為新磁碟類型,如「變更磁碟類型」一節所述。建立含有已連結本機 SSD 磁碟的 VM 後,您可以將資料複製回本機 SSD 磁碟。
- 如果您目前的 VM 執行個體使用儲存空間資源池中的磁碟,但您要將工作負載移至其他區域中的 VM,則必須在新區域中重新建立磁碟和儲存空間資源池。
- 如果新機器系列使用不同的磁碟介面 (例如 NVMe 而非 SCSI),則虛擬機器人 OS 中的磁碟裝置名稱會不同。請確認應用程式和指令碼在參照已連結磁碟時,使用持續性裝置名稱或符號連結。
網路需求
請查看下列現有執行個體和新執行個體類型的網路需求:
查看新 VM 支援的網路介面。
- 根據預設,第一代和第二代機器系列只會使用 VirtIO 網路介面。
- 第 3 代及更新機器系列 (例如 M3、C3 和 N4) 僅支援 gVNIC 網路介面。
- Bare Metal 執行個體僅支援 IDPF 網路介面。
請確認應用程式和作業系統支援機器系列可用的介面。
查看 VM 的網路設定,判斷是否需要保留指派的 IP 位址。如果是,您必須將 IP 位址升級為靜態 IP 位址。
如果您在目前的 VM 中使用每部 VM 的 Tier_1 網路效能,請確認新機器系列是否可使用或需要這項功能。舉例來說,您可以將 Tier_1 網路連線與 C2 機器類型搭配使用,但 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 在切換至新 VM 時無法使用的時間長度。
- 或者,您也可以在停止 VM 後拍攝所有磁碟快照。即使新機器系列支援磁碟類型,我們仍建議您為連接至 VM 的所有磁碟建立快照。請附上包含複製本機 SSD 資料的任何暫時磁碟。
- 建立磁碟快照所需的時間取決於多項因素,例如磁碟大小和磁碟所含資料量。舉例來說,如果您要為已使用 85% 空間的 1 TiB 磁碟建立快照,可能需要 5 分鐘才能完成。不過,如果您要為已使用 85% 空間的 100 TiB 磁碟建立快照,可能需要 11 分鐘才能完成。建議您在開始遷移程序前,先對磁碟執行測試快照,瞭解快照作業所需的時間。
如果您有可離線的磁碟,可以在來源 VM 仍可用時,使用下列方法將資料移至新磁碟:
準備網路資源
完成下列步驟,更新目前執行個體使用的網路設定,以支援新執行個體:
- 如果目前的 VM 未使用 gVNIC,您必須建立使用 gVNIC 網路介面的新執行個體。請參閱使用 gVNIC 搭配 Compute Engine VM 的總覽,瞭解建立新執行個體時需要採取的步驟。
- 如果您要在新區域建立 VM,請在該區域建立虛擬私有雲網路和子網路。
- 如果您已設定自訂 NIC 佇列計數,請參閱「佇列分配和變更機器類型」一文。
- 如果您想保留來源 VM 使用的 IP 位址,請將 IP 位址升級為靜態 IP 位址。
- 停止來源 VM 前,請先取消指派靜態 IP 位址。
準備 SUSE Enterprise Linux Server 作業系統
為避免硬體專屬的依附元件,請重建 initramfs
(初始 RAM 檔案系統)。這包括更廣泛的驅動程式和模組,讓作業系統與其他執行個體類型相容。如果未執行這項操作,就會遇到已知問題,導致 VM 無法正常啟動。
關閉系統前,請以 root 身分執行下列指令,使用所有驅動程式重新建構 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 上安裝修改過的應用程式和程式。視需要在新作業系統或架構上重新編譯程式。
- 選用:如果您將本機 SSD 磁碟的內容移至暫時磁碟,且新 VM 已連結本機 SSD 儲存空間,您可以格式化及掛接磁碟後,將資料從暫時磁碟移至本機 SSD 磁碟。
- 將與來源 VM 相關聯的任何靜態 IP 位址重新指派至新的 VM。
- 完成其他必要工作,確保新 VM 可提供高可用性,例如設定負載平衡器和更新轉送規則。
- 選用步驟:視需要更新新 VM 的 DNS 項目。
- 建議做法:為新磁碟排定磁碟備份作業。
- 建議:如果您將 OS 變更為其他版本或架構,請重新編譯應用程式。
如果在遷移工作負載時遇到問題,請與客戶技術經理 (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 平衡磁碟。您必須先卸離永久磁碟的開機磁碟和資料磁碟,為磁碟建立快照,然後使用快照做為來源建立 Hyperdisk Balanced 磁碟,接著在變更機器類型後,將新的 Hyperdisk Balanced 磁碟連結至 N4 VM。如果 VM 已連結 GPU,則必須先解除連結。
磁碟快照的時間長短取決於多項因素,例如磁碟的 TB 總數。舉例來說,如果您要為 85% 滿的 1 TB 磁碟建立快照,可能需要 5 分鐘才能完成。不過,如果您要為已使用 85% 空間的 100 TB 磁碟建立快照,可能需要 11 分鐘才能完成。Google 建議您在開始遷移程序前,先對磁碟執行測試快照,瞭解快照作業所需的時間。
gcloud
選項 1:建立含有快照磁碟的新 N4 VM:
使用 gcloud compute instances stop 指令停止 VM:
gcloud compute instances stop VM_NAME \ --zone=ZONE
更改下列內容:
VM_NAME
目前n1-standard-8
VM 的名稱。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 的來源磁碟快照建立的 Hyperdisk Balanced 開機磁碟名稱。NON_BOOT_DISK_NAME
從連接至n1-standard-8
VM 的來源快照磁碟建立的 Hyperdisk 平衡資料磁碟名稱。
使用 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 開機磁碟的
name
;另一次是納入資料磁碟的name
。請使用sourceSnapshot
為新的 Hyperdisk Balanced 開機磁碟和資料磁碟、磁碟的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 平衡資料磁碟連結至 N4 VM。POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instancesVM_NAMEattachDiskDISK_NAME
更改下列內容:
PROJECT_NAME
:專案名稱。ZONE
:磁碟所在的區域。VM_NAME
:附加pd-ssd
磁碟的來源 VM 執行個體名稱。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 和所有已附加的磁碟。