全部產品
Search
文件中心

Elastic Compute Service:轉換鏡像格式

更新時間:Jun 19, 2024

ECS僅支援匯入RAW、VHD和QCOW2格式的鏡像檔案。如果您的鏡像檔案是其他格式,需要轉換格式後再匯入。本文介紹如何通過開源的轉換工具qemu-img轉換鏡像檔案的格式。

約束限制

  • qemu-img工具支援RAW、QCOW2、QCOW1、VMDK、VDI、VHD、VHDX或QED格式的鏡像相互轉換。

  • qemu-img工具不支援直接將ISO鏡像轉換為RAW、VHD和QCOW2格式。

    如需轉換,建議先建立一個虛擬機器,並使用ISO鏡像來引導虛擬機器啟動作業系統。然後在虛擬機器中安裝作業系統,最後將虛擬機器的磁碟匯出為RAW、VHD和QCOW2格式的虛擬磁碟鏡像。具體操作,請參見建立虛擬機器並安裝作業系統(Linux)或者建立虛擬機器並安裝作業系統(Windows)

  • 將VHD格式轉換為其他格式或者將其他檔案格式轉換為VHD格式時,需使用vpc參數代替VHD格式,否則可能造成qemu-img工具無法識別VHD鏡像格式導致轉換失敗,類似報錯資訊如下。

    image.png

操作步驟

本地為Windows作業系統

您可以按照以下步驟在Windows作業系統上安裝qemu-img工具並轉換鏡像檔案格式。

說明

以下操作以Windows Server 2016作業系統為例,不同版本作業系統的操作路徑可能不同,請您根據實際環境進行操作。

  1. 安裝qemu-img工具。

    下載並安裝qemu-img工具,以下操作以安裝路徑是C:\Program Files\qemu為例。

  2. 為qemu-img工具配置環境變數。

    1. 在Windows Server案頭,按右鍵image.png表徵圖,然後單擊系統

    2. 在左側導覽列,單擊進階系統設定

    3. 系統屬性對話方塊裡,單擊進階頁簽,並單擊環境變數

    4. 環境變數對話方塊裡,在系統變數部分找到Path,並單擊編輯。如果Path變數不存在,單擊建立

    5. 添加系統變數值。

      • 編輯系統變數

        單擊建立,添加C:\Program Files\qemu變數值。

      • 建立系統變數

        變數名處輸入Path,在變數值處輸入C:\Program Files\qemu

    6. 測試環境變數是否配置成功。

      1. 開啟Windows命令列視窗。

      2. 運行qemu-img --help命令。

        如果回顯資訊出現qemu-img工具的版本資訊,則表示環境變數配置完成。

  3. 轉換鏡像格式。

    1. 在命令列視窗運行以下命令,切換到源鏡像檔案所在目錄,例如C:\Program Files\ConvertImage

      cd C:\Program Files\ConvertImage
    2. 運行以下命令,轉換鏡像檔案格式。

      以下轉換命令分別以QCOW2轉換為RAW格式、VHD轉換為RAW格式為例,請您根據實際鏡像格式進行替換。

      QCOW2轉換為RAW格式

      qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw

      其中:

      • -f(可選):參數值qcow2表示源鏡像檔案的格式是QCOW2。

        說明

        您也可以省略-f及其參數值,直接執行qemu-img convert -O raw centos.qcow2 centos.raw轉換。

      • -O(必須大寫):參數值依次表示目標鏡像格式、源鏡像檔案名稱和目標檔案名稱。該樣本表示將源鏡像檔案centos.qcow2轉換為RAW格式,並指定檔案名稱為centos.raw。

      VHD轉換為RAW格式

      qemu-img convert -f vpc -O raw centos.vhd centos.raw

      其中:

      • -f (可選):參數值vpc表示源鏡像檔案的格式是VHD格式。

        說明

        您也可以省略-f及其參數值,直接執行qemu-img convert -O raw centos.vhd centos.raw轉換。

      • -O(必須大寫):參數值依次表示目標鏡像格式、源鏡像檔案名稱和目標檔案名稱。該樣本表示將源鏡像檔案centos.vhd轉換為RAW格式,並指定檔案名稱為centos.raw。

        重要

        如果是將其他格式轉換為VHD格式,目標檔案格式需使用vpc替代。例如將RAW格式轉換為VHD格式,樣本命令:qemu-img convert -f raw -O vpc centos.raw centos.vhd

    3. 擷取轉換後的鏡像檔案。

      • 轉換後的鏡像檔案儲存在源鏡像檔案所在的目錄下,本樣本為C:\Program Files\ConvertImage,您可以前往該目錄擷取。

      • 您也可以運行qemu-img info <目標檔案名稱>命令查看轉換後的鏡像檔案的詳細資料。

        image.png

本地為Linux作業系統

您可以按照以下步驟在Linux作業系統上安裝qemu-img工具並轉換鏡像檔案格式。

說明

以下操作以Alibaba Cloud Linux 3及Ubuntu作業系統為例進行鏡像格式轉換。不同作業系統版本可能會有區別,請您根據實際環境進行操作。

  1. 運行以下命令,安裝qemu-img工具。

    • Alibaba Cloud Linux 3

      sudo yum install qemu-img
      說明

      如果在安裝qemu-img時報錯,且沒有明確提示缺少哪些依賴庫,您可以根據cloud-init的requirements.txt檔案裡顯示的庫,並運行sudo pip install -r requirements.txt命令安裝所有依賴庫。

    • Ubuntu

      sudo apt-get install qemu-utils
      說明

      如果出現Unable to locate package qemu-utils錯誤,請重新運行以下命令安裝qemu-img工具。

      sudo apt-get update #更新包列表
      sudo apt-get install qemu-utils #安裝qemu-img工具
  2. 運行以下命令,轉換鏡像檔案格式。

    以下轉換命令分別以QCOW2轉換為RAW格式、VHD轉換為RAW格式為例,請您根據實際鏡像格式進行替換。

    QCOW2轉換為RAW格式

    qemu-img convert -f qcow2 -O raw centos.qcow2 centos.raw

    其中:

    • -f(可選):參數值qcow2表示源鏡像檔案的格式是QCOW2。

      說明

      您也可以省略-f及其參數值,直接執行qemu-img convert -O raw centos.qcow2 centos.raw轉換。

    • -O(必須大寫):參數值依次表示目標鏡像格式、源鏡像檔案名稱和目標檔案名稱。該樣本表示將源鏡像檔案centos.qcow2轉換為RAW格式,並指定檔案名稱為centos.raw。

    VHD轉換為RAW格式

    qemu-img convert -f vpc -O raw centos.vhd centos.raw

    其中:

    • -f (可選):參數值vpc表示源鏡像檔案的格式是VHD格式。

      說明

      您也可以省略-f及其參數值,直接執行qemu-img convert -O raw centos.vhd centos.raw轉換。

    • -O(必須大寫):參數值依次表示目標鏡像格式、源鏡像檔案名稱和目標檔案名稱。該樣本表示將源鏡像檔案centos.vhd轉換為RAW格式,並指定檔案名稱為centos.raw。

      重要

      如果是將其他格式轉換為VHD格式,目標檔案格式需使用vpc替代。例如將RAW格式轉換為VHD格式,樣本命令:qemu-img convert -f raw -O vpc centos.raw centos.vhd

  3. 擷取轉換後的鏡像檔案。

    • 轉換後的鏡像檔案儲存在源鏡像檔案所在的目錄下,您可以前往該目錄擷取。

    • 您也可以運行qemu-img info <目標檔案名稱>命令查看轉換後的鏡像檔案的詳細資料。

      image.png

後續步驟

鏡像檔案格式完成轉換後,您需要將鏡像檔案上傳至OSS Bucket,以便後續匯入自訂鏡像。具體操作,請參見上傳鏡像檔案至OSS

相關文檔

  • qemu-img是用於建立、轉換和管理虛擬機器鏡像的命令列工具。它是QEMU(Quick EMUlator)專案的一部分,除了轉換鏡像格式以外,還支援建立鏡像、調整虛擬機器鏡像大小等多種功能。更多資訊,請參見QEMU官網

  • qemu-img工具本身並不直接支援OVA (Open Virtualization Appliance) 和OVF (Open Virtualization Format) 格式。因為qemu-img工具主要針對磁碟映像檔案的建立、轉換和管理,而OVA和OVF是虛擬化軟體包封裝格式,它們包括設定檔、描述檔案以及磁碟映像。OVA和OVF格式由DMTF (Distributed Management Task Force) 維護。更多資訊,請參見DMTF官網