更換開機磁碟

本文說明如何更換 Google Distributed Cloud (GDC) 實體隔離設備中的開機磁碟。如需在更換前建立開機磁碟,請參閱「建立開機磁碟」頁面。

您可以從虛擬機器 (VM) 執行個體卸離開機磁碟,並連結新的開機磁碟。如要修復開機磁碟,請將磁碟掛接至其他 VM 執行個體,不必刪除原始執行個體。此外,您可以替換 VM 執行個體的開機磁碟,不需重新建立整個 VM 執行個體。

事前準備

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

取得 kubeconfig 檔案路徑

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

  1. 找出 Management API 伺服器名稱,或詢問平台管理員 (PA) 伺服器名稱。

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

  3. 請使用路徑取代這些操作說明中的 MANAGEMENT_API_SERVER{"</var>"}}

  4. 取得 VM 磁碟的存取權。請按照步驟驗證您是否具備必要的專案 VM 管理員角色。

要求權限和存取權

如要執行本頁列出的工作,您必須具備專案虛擬機器管理員角色。請按照步驟驗證,或請專案 IAM 管理員在 VM 所在的專案命名空間中指派專案 VirtualMachine 管理員 (project-vm-admin) 角色給您。

如要使用 GDC 控制台或 gdcloud CLI 執行 VM 作業,請要求專案 IAM 管理員同時指派專案 VirtualMachine 管理員角色和專案檢視者 (project-viewer) 角色。

限制

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

  • 您只能在已停止的 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. 在「磁碟名稱」欄位中,輸入專案專屬的新磁碟名稱。
      2. 在「大小」欄位中,輸入介於 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 edit virtualmachines.virtualmachine.gdc.goog --namespace PROJECT VM_NAME
    

    使用下列定義替換變數。

    變數定義
    MANAGEMENT_API_SERVER 管理 API 伺服器 kubeconfig 檔案。
    PROJECT 您要更換開機磁碟的 GDC 專案。
    VM_NAME VM 名稱。
  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