卸離和重新連接開機磁碟


您可以從 VM 執行個體卸離開機磁碟,並連接新的開機磁碟。這項功能可讓您將開機磁碟掛接至其他 VM 執行個體,不必刪除原始執行個體,因此能夠簡化修復開機磁碟的流程。此外,您可以替換執行個體的開機磁碟,不需重新建立整個 VM 執行個體。

如果 VM 執行個體沒有開機磁碟,嘗試啟動執行個體時會發生錯誤。不過,您仍可編輯其他執行個體屬性。

事前準備

  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 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

      1. 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.

      2. Set a default region and zone.
      3. REST

        如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 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.

        詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

這項工作需要的權限

如要執行這項工作,您必須具備以下權限

  • 執行個體的 compute.instances.detachDisk 權限
  • 執行個體的 compute.instances.attachDisk 權限

限制

  • 您只能在已停止的 VM 執行個體上連結或卸離開機磁碟。
  • 每個 VM 執行個體只能連結一個開機磁碟。
  • 如果使用 gcloud CLI 或 REST,您只能將現有的開機磁碟連結至 VM 執行個體。

卸離開機磁碟

卸離 VM 執行個體的開機磁碟前,您必須停止執行個體。您不需要卸載磁碟。

主控台

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
  3. 按一下要卸離開機磁碟的執行個體。
  4. 按一下「停止」停止 VM。如果沒有「停止」選項,請依序點選 「更多動作」> 「停止」
  5. 按一下 [編輯]
  6. 向下捲動至「Boot Disk」(開機磁碟) 部分,在要卸離的開機磁碟旁按一下「X」
  7. 按一下 [儲存]

gcloud

使用 gcloud compute instances detach-disk 指令卸離執行個體的開機磁碟:

gcloud compute instances detach-disk INSTANCE_NAME \
    --disk=DISK_NAME

更改下列內容:

  • INSTANCE_NAME:執行個體的名稱。
  • DISK_NAME:要卸離的磁碟名稱。 磁碟名稱通常與執行個體名稱相同。

REST

建構 POST 要求以卸離磁碟:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • INSTANCE_NAME:執行個體的名稱。
  • ZONE:執行個體所在的區域。
  • DISK_NAME:要卸離的磁碟名稱。 磁碟名稱通常與執行個體名稱相同。

重新連結開機磁碟

只要執行個體還沒有連結任何開機磁碟,且開機磁碟與 VM 執行個體屬於同一個區域,就能重新連結任何磁碟,視同執行個體的開機磁碟。如要自訂開機磁碟,您必須確定開機磁碟連結完畢後可正常啟動。

現有磁碟和新磁碟必須都與 UEFI 相容,或都不相容。如要建立與 UEFI 相容的磁碟,請使用 gcloud compute disk create 指令,並將 --guest-os-features 旗標設為 UEFI_COMPATIBLE

主控台

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
  3. 按一下要連結開機磁碟的執行個體。
  4. 如果 VM 正在執行,請按一下「停止」停止 VM。如果沒有「停止」選項,請依序點選 「更多動作」> 「停止」
  5. 按一下 [編輯]
  6. 前往「Boot Disk」(開機磁碟) 部分。
  7. 按一下 [新增項目]。
  8. 在下拉式選單中選取一個開機磁碟。
  9. 按一下 [儲存]

gcloud

使用 gcloud compute instances attach-disk 指令將開機磁碟連結或重新連結於 VM 執行個體。加入 --boot 標記,表示該磁碟是執行個體的開機磁碟。如果沒有這個標記,連結於執行個體的磁碟會是非開機資料磁碟。

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --boot

更改下列內容:

  • INSTANCE_NAME:執行個體的名稱。
  • DISK_NAME:要連結的磁碟名稱。 磁碟名稱可能與執行個體名稱相同。

REST

建構 POST 要求以連結磁碟。加入選填的 "boot": true 參數,表示這個磁碟是開機磁碟。如果沒有這項參數,連結於執行個體的磁碟會是次要磁碟。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
 "boot": true,
 "source": "zones/ZONE/disks/DISK_NAME"
}

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • INSTANCE_NAME:要將新永久磁碟連接至的執行個體名稱。
  • ZONE:執行個體和新磁碟所在的區域。
  • DISK_NAME:新磁碟的名稱。

將磁碟連結至 VM 執行個體後,請重新啟動執行個體

更新執行個體的開機磁碟

只要一個步驟就能更新 VM 的開機磁碟,但必須使用 Google Cloud 控制台。具體而言,您可以透過同一項操作卸離現有開機磁碟並連結新的開機磁碟。

這項功能無法透過 gcloud CLI 或 REST 使用。

  1. 前往「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 如果出現系統提示,請選取您的專案,然後按一下 [Continue] (繼續)。
  3. 按一下要連結開機磁碟的執行個體。
  4. 如果 VM 正在執行,請按一下「停止」停止 VM。如果沒有「停止」選項,請依序點選 「更多動作」> 「停止」
  5. 按一下頁面頂端的「Edit」(編輯)
  6. 向下捲動至「Boot Disk」(開機磁碟) 部分。
  7. 按一下目前開機磁碟旁的「X」
  8. 按一下 [新增項目]。
  9. 在下拉式選單中選取一個開機磁碟。
  10. 按一下 [儲存]

Google Cloud 控制台會開始卸離現有開機磁碟,並連結您所指定的新開機磁碟。完成這項程序後,請重新啟動 VM 執行個體

後續步驟