將虛擬磁碟映像檔轉換為 qcow2 格式,以便在 GDC 的 VM 執行階段中使用

本文說明如何手動將現有的虛擬磁碟映像檔轉換為 qcow2 格式,以便在 GDC 的 VM Runtime 中使用該來源映像檔建立及執行 VM。然後瞭解如何直接從這個轉換後的虛擬磁碟映像檔建立 VM。

本頁面適用於想在容器化環境中執行現有虛擬化工作負載的作業人員和開發人員。如要進一步瞭解內容中提及的常見角色和範例工作,請參閱「常見的 GKE Enterprise 使用者角色和工作」。 Google Cloud

如果需要,GDC 上的 VM 執行階段會在部署期間,自動將現有磁碟映像檔轉換為 qcow2 格式。不過,如要從非 qcow2 虛擬磁碟映像檔建立多個 VM,GDC 上的 VM 執行階段每次都必須轉換映像檔。將映像檔轉換為 qcow2 格式的程序會增加建立及啟動 VM 的時間。如要縮短建立每個 VM 的時間,請先將虛擬磁碟映像檔轉換為 qcow2 格式,如本文所示。

事前準備

轉換現有的虛擬磁碟映像檔後,如要建立 VM,您必須有權存取下列資源:

轉換虛擬磁碟映像檔

本文會使用 QEMU 磁碟映像檔公用程式,將現有的虛擬磁碟映像檔轉換為 qcow2 格式。qemu-img 工具可將多種格式的虛擬磁碟映像檔 (例如 vmdkvhdx) 轉換為 qcow2 格式,以便搭配 VM Runtime on GDC 使用。

如要將虛擬磁碟映像檔轉換為 qcow2 格式,請完成下列步驟:

  1. 使用 Linux 發行版的套件管理員安裝 qemu-utils 套件。

    Ubuntu

    apt-get install qemu-utils
    

    RHEL

    yum install qemu-utils
    
  2. 使用 qemu-img 轉換現有的虛擬磁碟映像檔:

    qemu-img convert -f EXISTING_DISK_IMAGE_FORMAT -O qcow2 \
      EXISTING_DISK_IMAGE_NAME \
      CONVERTED_DISK_IMAGE_NAME.qcow2
    

    替換下列值:

    • EXISTING_DISK_IMAGE_FORMAT:現有虛擬磁碟映像檔的格式,例如 vmdk
    • EXISTING_DISK_IMAGE_NAME:現有虛擬磁碟映像檔的路徑和名稱。
    • CONVERTED_DISK_IMAGE_NAME:轉換後的虛擬磁碟映像檔路徑和名稱。qcow2

    如要進一步瞭解 qemu-img 工具,例如不同的圖片格式選項,請參閱 QEMU 磁碟映像公用程式說明文件

使用轉換後的映像檔建立 VM

如要查看轉換後的虛擬磁碟映像檔實際運作情形,請建立 VM,並使用上一節建立的本機 qcow2 格式映像檔。如要用於正式環境,請將轉換後的虛擬磁碟映像檔上傳至中央存放區,然後從 HTTP 來源建立 VM 開機磁碟,或使用 Secret 從 Cloud Storage 建立 VM 開機磁碟

如要使用本機轉換的虛擬磁碟映像檔,請完成下列步驟:

  1. 在叢集中建立 VM:

    kubectl virt create vm VM_NAME \
      --os-type OS_TYPE \
      --image CONVERTED_DISK_IMAGE_NAME.qcow2
    

    這個指令會建立 VM,預設為 2 個 CPU 和 4 Gi 記憶體。

    替換下列值:

    • VM_NAME:VM 名稱
    • OS_TYPE:轉換後的虛擬磁碟映像檔的 OS 類型。可以是 linuxwindows
    • CONVERTED_DISK_IMAGE_NAME:上節中轉換的虛擬磁碟映像檔路徑和名稱。qcow2
  2. 視映像檔大小而定,從本機轉換的虛擬磁碟映像檔建立 VM 可能需要 10 到 20 分鐘。使用 kubectl 指令檢查 VM 的狀態:

    kubectl get gvm VM_NAME
    

    將您的 VM 名稱替換為 VM_NAME

    以下範例輸出內容顯示程序完成時,VM 處於 Running 狀態:

    NAME    STATUS    AGE   IP
    MY_VM   Running   64s   192.168.2.124
    

後續步驟

您可以將轉換後的 qcow2 格式虛擬磁碟映像檔上傳至 HTTP 來源或 Cloud Storage。下列文件說明如何從這些來源建立 VM: