更換開機磁碟

本文說明如何在 Google Distributed Cloud (GDC) 氣隙環境中,更換虛擬機器 (VM) 開機磁碟。如要在更換前建立開機磁碟,請參閱「建立開機磁碟」。

您可以從 VM 執行個體卸離開機磁碟,並連接新的開機磁碟。如要修復開機磁碟,您可以將開機磁碟掛接至其他 VM 執行個體,無須刪除原有執行個體。您也可以替換 VM 開機磁碟,不必重新建立整個 VM 執行個體。

本文適用於平台管理員或應用程式運算子群組的開發人員,這類人員負責建立及設定 VM 的開機磁碟。詳情請參閱 GDC 氣隙環境適用的目標對象說明文件

事前準備

如要使用 gdcloud 指令列介面 (CLI) 指令,請務必下載、安裝及設定 gdcloud CLI。Distributed Cloud 的所有指令都使用 gdcloudkubectl CLI,且需要作業系統 (OS) 環境。

取得 kubeconfig 檔案路徑

如要對 Management API 伺服器執行指令,請確認您具備下列資源:

  1. 登入並產生 Management API 伺服器的 kubeconfig 檔案 (如果沒有)。

  2. 使用 Management API 伺服器的 kubeconfig 檔案路徑,取代這些操作說明中的 MANAGEMENT_API_SERVER

要求 IAM 角色

請與專案 IAM 管理員聯絡,要求對方授予您專案的下列角色:

  • 虛擬機器專案管理員 (project-vm-admin):在專案命名空間中建立、修改、列出及刪除標準和高效能 VM。

所有 VM 角色都必須繫結至 VM 所在的專案命名空間。 按照步驟驗證存取權。

限制

更換開機磁碟時,您會受到下列限制:

  • 您只能在已停止的 VM 執行個體上連結或卸離開機磁碟。
  • 每個 VM 執行個體只能連結一個開機磁碟。
  • 只能將現有的開機磁碟連結至 VM 執行個體。
  • 只能使用新的可開機磁碟取代開機磁碟。

更換開機磁碟

使用 GDC 控制台或 kubectl CLI 替換開機磁碟。

控制台

  1. 在導覽選單中,依序點選「Virtual Machines」>「Instances」(虛擬機器 > 執行個體)

  2. 在 VM 清單中,按一下 VM 名稱即可查看詳細資料。

  3. 按一下「更換開機磁碟」

  4. 在確認對話方塊中,按一下「停止」停止 VM。

  5. 請稍候幾分鐘,等待 VM 停止。

  6. 點按「更新」

  7. VM 處於停止狀態時,再次點選「更換開機磁碟」

  8. 在「取代開機磁碟」對話方塊中,選擇新的開機磁碟或現有開機磁碟。

    • 如要佈建新的開機磁碟,請按一下「New boot disk」(新開機磁碟) 分頁。

      1. 在「Disk name」(磁碟名稱) 欄位中,輸入專案專屬的新磁碟名稱。
      2. 在「Size」(大小) 欄位中,輸入介於 12 至 65536 GiB 之間的磁碟大小。
      3. 在「Image name」(圖片名稱) 清單中,選取圖片。
      4. 在「刪除規則」部分,按一下「保留磁碟」或「刪除磁碟」
      5. 在「儲存空間設定檔」部分中,選擇設定檔。預設設定檔為「標準」
    • 如要選擇現有開機磁碟,請按一下「現有開機磁碟」分頁。

      1. 在「Disk」清單中,選取磁碟。
      2. 在「刪除規則」部分,按一下「保留磁碟」或「刪除磁碟」
  9. 按一下 [儲存]

  10. 重新啟動 VM

kubectl

  1. 停止 VM 執行個體

  2. 開啟目前的 spec.disks 值,為新的虛擬機器磁碟變更該值:

    kubectl --kubeconfig MANAGEMENT_API_SERVER \
      -n PROJECT \
      edit virtualmachines.virtualmachine.gdc.goog VM_NAME
    

    替換下列值:

    • MANAGEMENT_API_SERVER,並提供 Management API 伺服器的 kubeconfig 檔案路徑。
    • PROJECT,這是您要替換開機磁碟的 Distributed Cloud 專案。
    • VM_NAME 替換為虛擬機器的名稱。
  3. 在設定檔中修改開機磁碟,將 VM_BOOT_DISK_NAME 替換為新的 VM 開機磁碟名稱:

    disks:
    - virtualMachineDiskRef:
        name: VM_BOOT_DISK_NAME
      boot: true
    

    結果必須如下列範例所示:

    disks:
    - virtualMachineDiskRef:
        name: NEW_VM_BOOT_DISK_NAME
      boot: true
    
  4. 重新啟動 VM

後續步驟