將工作負載移至新的運算執行個體

在某些情況下,您可能會想將工作負載從現有虛擬機器 (VM) 執行個體遷移至較新的 VM。改用新 VM 的原因包括:

  • 使用新機型,享有更快的儲存空間或網路速度。舉例來說,您可以從 C2 升級至 H3,以提升網路頻寬。
  • 與來源 VM 執行個體相比,成本效益更高。舉例來說,您可以從 N1 升級至 N4,以第 5 代 Intel Xeon 處理器獲得更高的價值。
  • 使用新 VM 執行個體專屬功能。舉例來說,您可以從 N4 升級至 C4,以享有更多效能和維護選項,或是從 H3 升級至 H4D,以取得 Cloud RDMA 支援。
  • 將虛擬機器 (VM) 執行個體變更為裸機執行個體。
  • 將本機 SSD 磁碟新增至 C3 或 C3D VM 執行個體。

升級至最新一代機器系列時,如果目前的 (來源) VM 符合下列條件,您或許可以使用「編輯 Compute 執行個體的機器類型」一文所述的簡化程序:

  • 新機器系列支援該作業系統 (OS) 版本。
  • 新機器系列支援連結至來源 VM 的開機磁碟類型。
  • VM 不會使用本機 SSD 儲存空間。
  • 附加 GPU 的 VM 使用 G2 機型。詳情請參閱「新增或移除 GPU」。
  • VM 僅使用新機器系列支援的功能。
  • VM 不屬於代管執行個體群組 (MIG)。
  • 您不需要為執行個體建立額外網路介面,即可使用新功能。

事前準備

  • 如果尚未設定驗證,請先完成設定。 驗證可確認您的身分,以便存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:

    選取這個頁面上範例的預計用途分頁:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證。

    gcloud

    1. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。

必要的角色

如要取得編輯或變更 VM 的權限,請要求管理員在專案中授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這些預先定義的角色具備編輯或變更 VM 所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要編輯或變更 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
  • 如要將磁碟連接至執行個體,請按照下列步驟操作:
    • compute.instances.attachDisk 執行個體
    • compute.disks.use 磁碟上
  • 如要刪除磁碟: compute.disks.delete 在專案中
  • 如要變更網路類型,請按照下列步驟操作:
    • 專案有 compute.networks.list
    • 專案有 compute.networks.update

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

評估 VM 遷移選項

從一個機型遷移至另一個機型取決於多項因素,包括新機型的區域可用性,以及儲存空間選項和網路介面與來源客體 OS 和新機器系列的相容性。

運算需求

請查看目前執行個體和新機器類型的下列需求:

  • 請參閱機器家族資源文件,找出適合工作負載的機型。請考量應用程式是否需要特定硬體 (GPU)、高效能或較低的成本。
  • 查看新機型支援的磁碟類型功能。Hyperdisk 支援大部分的 Persistent Disk 功能,但並非全部。不過,Hyperdisk 提供 Persistent Disk 沒有的額外功能。
  • 查看預期機器系列的特色。新機器系列可能不支援您目前使用的機器系列功能,例如自訂機器類型、本機 SSD 或 Shielded VM。
  • 請查看區域和可用區,確保新機型在目前 VM 的所有區域都適用。您可能需要調整部署、高可用性和災難復原計畫。
  • 查看 OS 遷移計畫:
    • 如果新 VM 需要較新版本的 OS,請確認應用程式與較新版本的 OS 相容。
    • 如要改用 Arm,但目前作業系統版本沒有 Arm 映像檔,請選擇新的作業系統或作業系統版本來執行應用程式,並確認應用程式與新作業系統相容。
  • 只要來源 C3 VM 執行個體使用支援的作業系統和網路驅動程式,就能從 C3 VM 執行個體遷移至 C3 裸機執行個體。
  • 如要從 C3 以外的機器系列遷移至裸機執行個體,請建立新的執行個體。您可能必須執行自己的管理程序;不過,只要啟用 IDPF 驅動程式,您也可以執行任何支援裸機執行個體的作業系統。裸機執行個體會使用 IDPF 網路介面,但只會以實體功能的形式呈現,而非虛擬功能。

儲存空間需求

請查看目前執行個體和新執行個體的儲存空間需求:

  • 查看新機器系列支援的儲存裝置類型和儲存裝置介面。
    • 根據預設,第一代和第二代機器系列只會使用 Persistent Disk 儲存空間類型和 VirtIO-SCSI 介面。
    • 第 3 代以上的機器系列 (例如 M3、C3 和 N4) 僅支援 NVMe 介面,部分機器系列僅支援 Hyperdisk 和本機 SSD 儲存空間類型。
    • 裸機執行個體僅支援 Hyperdisk。
  • 磁碟相容性:
    • 如果開機磁碟使用的磁碟類型不支援新的機型系列 (例如 pd-standard),則必須為新的 VM 建立新的開機磁碟。
    • 如果將作業系統升級至新版本,且作業系統不支援就地升級,則必須建立新的開機磁碟。除非將來源開機磁碟上的所有資料複製到臨時的非開機磁碟,否則這些資料都會遺失。接著,您會建立新的開機磁碟,並將儲存在臨時非開機磁碟上的資料複製到新的開機磁碟。
    • 如果沒有升級作業系統版本,可以為目前的開機磁碟建立快照,然後還原至新的支援磁碟類型。建立 VM 時,即可將這個新磁碟做為開機磁碟。
    • 如果非開機磁碟使用的磁碟類型不支援新的機器系列,您可以按照「變更磁碟類型」一文所述,使用快照將來源磁碟變更為新的磁碟類型。
  • 本機 SSD 磁碟無法移至新的 VM。您可以將足夠大的磁碟連接至目前的 VM,以儲存所有本機 SSD 資料,然後使用快照將來源磁碟變更為新的磁碟類型,如「變更磁碟類型」一文所述。建立 VM 並連結本機 SSD 磁碟後,即可將資料複製回本機 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 類型 (VirtIO) 建立,當您將機型變更為第三代或更新的機型時,系統會自動將 NIC 類型變更為 gVNIC。

準備遷移現有 VM

完成評估部分後,下一步是準備遷移 VM 執行個體,方法是為新的 VM 執行個體要求資源,並準備來源 VM 執行個體的備份。

準備運算資源

如要準備將目前的執行個體移至新執行個體,請完成下列步驟:

  1. 在您打算遷移資源的區域和可用區要求配額。如果現有機型有配額,可以申請轉移配額。這項程序會在幾天內完成。
  2. 為新的 VM 執行個體建立預留項目,確保新區域和可用區有可用的機器資源。請務必瞭解預留資源的使用方式,並測試是否能使用預留資源。
  3. 擴充高可用性和災難復原計畫,納入新區域。
  4. 視需要升級目前 VM 的 OS。
    1. 如果作業系統供應商支援,請將作業系統就地升級至新機器系列支援的版本,並確認工作負載在新版作業系統上正常運作。
    2. 如果系統不支援就地升級 OS,您必須建立新的開機磁碟,才能建立新的 VM。判斷需要從目前的開機磁碟複製哪些資訊,然後將這些資訊複製到非開機磁碟的暫時位置,以便轉移至新的 VM。如果目前 VM 沒有任何非開機磁碟:
  5. 如果適用於您的 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"

準備儲存空間資源

如要準備將目前執行個體所連結磁碟中的資料移至新執行個體,請完成下列步驟:

  1. 在 Linux 系統上,測試更新後的應用程式和指令碼,確認這些項目可搭配持續性裝置名稱或符號連結使用,而非磁碟裝置名稱。
  2. 如要從執行 Microsoft Windows 的 VM 遷移:
  3. 如果新 VM 不支援與目前 VM 相同的磁碟類型,您可能需要更新部署指令碼或執行個體範本,才能支援新的機型系列。
  4. 如果目前的 VM 使用的開機磁碟類型不支援新的機器系列,且您要遷移多個設定相同的 VM,請建立自訂映像檔,以便建立新的 VM:
    1. 為現有 VM 的 pd-standard 開機磁碟建立快照。
    2. 建立自訂映像檔,並以磁碟快照做為來源。
  5. 如要遷移本機 SSD 資訊,請建立足夠大的空白磁碟,備份本機 SSD 磁碟。
    1. 盡可能使用新 VM 支援的磁碟類型。
    2. 如果目前的 VM 和新的 VM 都不支援任何磁碟類型,請使用目前 VM 支援的磁碟類型建立臨時磁碟。
    3. 將新磁碟連接至目前的 VM,然後格式化並掛接磁碟。
    4. 將連結至目前 VM 的本機 SSD 磁碟資料複製到這個暫時磁碟。
  6. 變更磁碟類型:如果目前 VM 連結的磁碟使用新 VM 不支援的磁碟類型,請變更這些磁碟的類型。如要將磁碟資料移至新磁碟,請建立磁碟快照。您也可以從一部 VM轉移檔案到另一部 VM。

    1. 您可以在 VM 執行時建立快照,但快照建立後寫入磁碟的任何資料都不會擷取。由於快照是累加式,因此停止 VM 後,您可以再建立一個快照,擷取所有最新變更。這個方法可盡量縮短 VM 無法使用的時間,讓您順利切換至新 VM。
    2. 或者,您也可以在停止 VM 後,為所有磁碟建立快照。 建議您為連結至 VM 的所有磁碟建立快照,即使新機器系列支援磁碟類型也一樣。包括含有複製本機 SSD 資料的任何暫時磁碟。
    3. 建立磁碟快照所需的時間取決於多項因素,例如磁碟大小和磁碟上的資料量。舉例來說,如果 1 TiB 磁碟的使用率為 85%,快照可能需要 5 分鐘才能完成。但如果為 100 TiB 的磁碟建立快照,且磁碟空間使用率為 85%,則可能需要 11 分鐘才能完成。建議您在開始遷移程序前,先對磁碟執行測試快照,瞭解建立快照所需的時間。
  7. 如果磁碟可以離線,您可以使用下列方法,在來源 VM 仍可用的情況下,將資料移至新磁碟:

    1. 從 VM 卸載磁碟。
    2. 拍攝磁碟快照。
    3. 使用快照,以新機器系列支援的磁碟類型建立新磁碟。新磁碟的大小必須等於或大於來源磁碟。

準備網路資源

如要更新目前執行個體使用的網路設定,以支援新執行個體,請完成下列步驟:

  1. 如要在新區域中建立 VM,請在新區域中建立虛擬私有雲網路和子網路。
  2. 如果您已設定自訂 NIC 佇列計數,請參閱佇列分配和變更機型。
  3. 如要保留來源 VM 使用的 IP 位址,請將 IP 位址升級為靜態 IP 位址。
  4. 取消指派靜態 IP 位址 再停止來源 VM。

準備 SUSE Enterprise Linux Server 作業系統

為避免硬體專屬依附元件,請重建 initramfs (初始 RAM 檔案系統)。包括更多驅動程式和模組,讓作業系統與其他執行個體類型相容。否則會遇到已知問題,導致 VM 無法正常啟動。

關閉系統前,請以根使用者身分執行下列指令,使用所有驅動程式重建 initramfs:

  sudo dracut --force --no-hostonly

將工作負載移至新的 VM

準備好要遷移的 VM 後,下一步就是將工作負載移至新的 VM。

如要將 VM 從第一代機型系列遷移至第二代,請參閱「編輯 VM 的機型」頁面的操作說明。如要變更現有 VM 的名稱,請參閱「重新命名 VM」一文中的資訊。

本節說明如何將工作負載從第一代或第二代 VM 移至第三代 (或更新) VM。在此程序中,您會建立新的 VM 執行個體,然後將工作負載移至新的 VM。

建立新的 VM

將工作負載從第一代或第二代 VM (例如 N1 或 N2) 移至第三代或更新版本時,您必須先建立新的 VM,然後再移動工作負載。

  1. 如果來源 VM 使用的非開機磁碟類型支援新機器系列,請從 VM 卸載磁碟。
  2. 停止來源 VM。
  3. 為仍連接至來源 VM 的所有磁碟建立快照。
  4. 使用公開映像檔或設為使用 gVNIC 的自訂映像檔,建立新的 Compute VM 執行個體。 建立新的 VM 時,請選擇下列選項:
    • 從所選的機器系列中選取機型。
    • 選取支援的 OS 映像檔,或使用先前建立的自訂映像檔。
    • 選取開機磁碟支援的磁碟類型,例如 Hyperdisk Balanced。
    • 如果您是從原始磁碟的快照建立新磁碟,請一併納入這些新磁碟。
    • 如果您要在不同區域建立執行個體,請指定新的虛擬私有雲網路。
    • 如果新執行個體同時支援 VirtIO 和 gVNIC,請選取 gVNIC。
    • 如果您已升級來源 VM 的臨時 IP 位址,請指定靜態 IP 位址。
  5. 啟動新的 VM。

執行個體啟動後

新執行個體建立並啟動後,請完成下列步驟,完成新執行個體的設定,並從來源執行個體複製所有資料。

  1. 將從來源 VM 卸載的磁碟連接至新 VM。
  2. 如果來源 VM 連接的任何磁碟使用新 VM 不支援的磁碟類型,請從快照建立磁碟,並將其連接至新執行個體。建立新磁碟時,請選取新 VM 支援的磁碟類型,並指定至少與原始磁碟一樣大的空間。
  3. 如果原始 VM 對於為新 VM 重新建立的任何磁碟使用資源政策,則必須將資源政策新增至新磁碟。
  4. 如果您是使用公開 OS 映像檔 (而非自訂映像檔) 建立新 VM,請按照下列步驟操作:
    1. 在新執行個體上設定必要的使用者、驅動程式、套件和檔案目錄,以支援工作負載。
    2. 在新 VM 上安裝修改後的應用程式和程式。 視需要重新編譯新作業系統或架構上的程式。
  5. 選用:如果您已將本機 SSD 磁碟的內容移至暫時磁碟,且新 VM 已附加本機 SSD 儲存空間,則在格式化並掛接磁碟後,即可將資料從暫時磁碟移至本機 SSD 磁碟。
  6. 將與來源 VM 相關聯的任何靜態 IP 位址重新指派給新的 VM。
  7. 完成任何其他必要工作,確保新 VM 具備高可用性,例如設定負載平衡器和更新轉送規則。
  8. 選用:視需要更新新 VM 的 DNS 項目。
  9. 建議:為新磁碟排定磁碟備份作業。
  10. 建議:如果將 OS 變更為其他版本或架構,請重新編譯應用程式。

如果遷移工作負載時遇到容量問題,請與客戶技術顧問 (TAM) 聯絡。如有其他問題,請向 Cloud Customer Care 開立支援案件。

從 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 磁碟。您可以為永久磁碟開機和資料磁碟建立快照,並從這些快照建立 Hyperdisk Balanced 磁碟,然後連結 Hyperdisk Balanced 磁碟,並使用 Hyperdisk Balanced 磁碟建立新的 N4 VM。

您也可以選擇使用較新版本的 Ubuntu OS,建立新的 Hyperdisk Balanced 開機磁碟。在這種情況下,您可以從開機磁碟快照建立新的 Hyperdisk Balanced 磁碟,但請將該磁碟以非開機磁碟的形式連接至 N4 VM。然後,您可以將還原的快照中的非系統資料複製到新的開機磁碟。

選項 2:如果 N1 VM 使用 gvnic 網路介面、作業系統有 NVMe 儲存裝置驅動程式、沒有任何已連結的本機 SSD 磁碟或 GPU,且不屬於代管執行個體群組 (MIG),則可將機型從 N1 變更為 N4,但仍須將永久磁碟的磁碟類型變更為 Hyperdisk Balanced 磁碟。您必須先卸載 Persistent Disk 開機磁碟和資料磁碟、建立磁碟快照、使用快照做為來源建立 Hyperdisk Balanced 磁碟,然後在變更機型後,將新的 Hyperdisk Balanced 磁碟連接至 N4 VM。如果 VM 已附加 GPU,請先卸載 GPU。

磁碟快照所需時間取決於多項因素,例如磁碟上的總 TB 數。舉例來說,如果 1 TB 的磁碟已使用 85% 的空間,建立快照可能需要 5 分鐘。但如果 100 TB 的磁碟已使用 85%,快照可能需要 11 分鐘才能完成。Google 建議您在開始遷移程序前,先對磁碟執行測試快照,瞭解建立快照所需的時間。

gcloud

方法 1:使用快照磁碟建立新的 N4 VM:

  1. 使用 gcloud compute instances stop 停止 VM:

    gcloud compute instances stop VM_NAME \
      --zone=ZONE
    

    更改下列內容:

    • VM_NAME 目前 VM 的名稱。n1-standard-8
    • ZONE:VM 所在的可用區。
  2. 建立磁碟快照。使用 gcloud compute snapshots create,為連結至 VM 的 Persistent Disk 開機磁碟和資料磁碟建立快照。

    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:來源磁碟的可用區。
  3. 重複上一個步驟,並指定資料磁碟資訊 (而非開機磁碟),為資料磁碟建立新的 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)。
  4. 針對每個已建立快照的磁碟重複上一個步驟。

  5. 使用 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 Balanced 資料磁碟名稱。
  6. 使用 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 不相容錯誤。

  1. 停止 VM。
  2. 從 VM 卸載磁碟。
  3. 建立開機磁碟和資料磁碟的快照。
  4. 建立 Hyperdisk Balanced 開機磁碟和資料磁碟,並以磁碟快照做為每個磁碟的來源。
  5. 將機型設為 N4 VM。
  6. 連結 Hyperdisk Balanced 開機磁碟和 Hyperdisk Balanced 資料磁碟。
  7. 啟動 N4 VM。

REST

方法 1:使用快照磁碟建立新的 N4 VM:

  1. 使用 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 的名稱。
  2. 使用 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。
  3. 使用 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"
    }'
    
  4. 使用 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:子網路名稱。
  5. 使用 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:虛擬機名稱。

選項 2:執行就地機器升級:

只有在 N1 VM 使用 gvnic 網路介面、未附加任何本機 SSD 磁碟或 GPU,且不屬於代管執行個體群組 (MIG) 時,才能使用這個選項。如果使用具有 VirtIO 網路介面的 N1 VM 執行這項程序,會產生 VM 不相容錯誤。

  1. 使用 instances.stop 方法停止 VM。

  2. 使用 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:來源 VM 的名稱,其中已附加 pd-ssd 磁碟。
    • DISK_NAME:要卸離的磁碟。
  3. 建立磁碟快照。使用 disks.createSnapshot 方法,為永久磁碟開機磁碟和附加至執行個體的資料磁碟建立快照。

  4. 使用 disks.insert 方法建立 Hyperdisk Balanced 開機磁碟和資料磁碟,並在要求主體中加入 Hyperdisk Balanced 磁碟的 name、新 Hyperdisk Balanced 磁碟的 sourceSnapshot、磁碟的 type、Hyperdisk Balanced,以及磁碟的 sizeGB。

  5. 使用 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",
    }
    
    
  6. 使用 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
    }
    
  7. 使用 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 上正常運作後,即可移除不再需要的資源:

  1. 您為連結至來源 VM 的磁碟建立的快照。
  2. 連結至來源 VM 的磁碟的任何快照排程。
  3. 為將本機 SSD 資料複製到新 VM 而建立的暫時磁碟。
  4. 來源 VM 和所有連結的磁碟。

後續步驟