更換開機磁碟

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

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

事前準備

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

取得 kubeconfig 檔案路徑

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

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

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

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

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

要求權限和存取權

如要執行本頁列出的工作,您必須擁有專案的「VirtualMachine Admin」角色。按照步驟驗證,或請專案 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 處於停止狀態時,再次點選「Replace boot disk」(更換開機磁碟)。

  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 edit virtualmachines.virtualmachine.gdc.goog --namespace PROJECT VM_NAME
    

    請使用下列定義替換變數。

    變數定義
    MANAGEMENT_API_SERVER Management 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。