ECS僅支援匯入RAW、QCOW2、VMDK以及VHD格式鏡像,對於其他格式需先使用 qemu-img 工具進行轉換後才可匯入。
適用範圍
支援RAW、QCOW2、QCOW1、VMDK、VDI、VHD、VHDX或QED格式的鏡像相互轉換。
操作步驟
本地為Windows環境
以Windows Server 2022作業系統為例。
安裝轉換工具。
下載qemu-img工具,並將其安裝至
C:\Program Files\qemu。配置環境變數。
將
qemu可執行檔路徑添加至PATH環境變數,實現命令列全域調用。按右鍵
表徵圖,選擇系統。在左側導覽列搜尋並開啟查看進階系統設定。
在系統屬性的進階頁簽中,單擊環境變數。
在系統變數地區尋找Path變數。
若存在:需選中後,單擊編輯,進入編輯環境變數頁面後,再單擊建立,添加
C:\Program Files\qemu。若不存在:單擊建立,在變數名處輸入
Path,變數值處輸入C:\Program Files\qemu。
測試環境變數是否配置成功。
按右鍵
表徵圖,選擇運行,輸入PowerShell。在
PowerShell介面,執行qemu-img --version,若輸出工具版本資訊,則表示環境變數配置成功。
轉換鏡像格式。
轉換鏡像檔案格式。
qemu-img convert [選項] <源鏡像完整路徑名> <目標鏡像完整檔案路徑名>[選項]說明:-f <源格式>:指定源鏡像的格式,如vhdx、vdi、qed、qcow、vpc(VHD)。支援的源格式可通過
qemu-img --help輸出中的Supported image formats欄位查看。-O <目標格式>:(大寫O)指定目標鏡像格式,如raw、qcow2、vpc(VHD)、VMDK。-p:顯示轉換進度(百分比)。
命令樣本:
#情境一:將 VHD 格式轉換為 RAW 格式,源鏡像完整路徑名為D:\convertimage\source.vhd,目標鏡像完整路徑名為D:\convertimage\target.raw qemu-img convert -p -f vpc -O raw D:\convertimage\source.vhd D:\convertimage\target.raw #情境二:將 VHDX 格式轉換為 QCOW2 格式,源鏡像完整路徑名為D:\convertimage\source.vhdx,目標鏡像完整路徑名為D:\convertimage\target.qcow2 qemu-img convert -p -f vhdx -O qcow2 D:\convertimage\source.vhdx D:\convertimage\target.qcow2驗證轉換結果。
qemu-img info <目標鏡像完整路徑>以目標鏡像完整路徑為
D:\convertimage\target.raw為例,需執行qemu-img info D:\convertimage\target.raw。輸出的
file format為目標鏡像格式,表示轉換成功。
使用ossutil 2.0的cp命令將目標鏡像檔案上傳至OSS,用於後續鏡像匯入。
通過OSS控制台上傳的檔案大小不能超過5 GB,因此需要藉助ossutil工具匯入。
本地為macOS環境
安裝轉換工具。
brew install qemu若提示
command not found,可執行brew/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"依照提示手動安裝包管理器後再安裝qemu工具。轉換鏡像格式。
轉換鏡像檔案格式。
qemu-img convert [選項] <源鏡像完整路徑名> <目標鏡像完整路徑名>[選項]說明:-f <源格式>:指定源鏡像的格式,如vhdx、vdi、qed、qcow、vpc(VHD)。支援的源格式可通過
qemu-img --help輸出中的Supported image formats欄位查看。-O <目標格式>:(大寫O)指定目標鏡像格式,如raw、qcow2、vpc(VHD)、VMDK。-p:顯示轉換進度(百分比)。
命令樣本:
#情境一:將 VHD 格式轉換為 RAW 格式,源鏡像完整路徑名為/ConvertImage/source.vhd,目標鏡像完整路徑名為/ConvertImage/target.raw qemu-img convert -p -f vpc -O raw /ConvertImage/source.vhd /ConvertImage/target.raw #情境二:將 VHDX 格式轉換為 QCOW2 格式,源鏡像完整路徑名為/ConvertImage/source.vhdx,目標鏡像完整路徑名為/ConvertImage/target.qcow2 qemu-img convert -p -f vhdx -O qcow2 /ConvertImage/source.vhdx /ConvertImage/target.qcow2驗證轉換結果。
qemu-img info <目標鏡像完整路徑名>以目標鏡像完整路徑名為
/ConvertImage/target.raw為例,需執行qemu-img info /ConvertImage/target.raw。輸出的
file format為目標鏡像格式,表示轉換成功。
使用ossutil 2.0的cp命令將目標鏡像檔案上傳至OSS,用於後續鏡像匯入。
通過OSS控制台上傳的檔案大小不能超過5 GB,因此需要藉助ossutil工具匯入。
本地為Linux環境
安裝轉換工具。
Alibaba Cloud Linux及Centos 類型
sudo yum install -y qemu-imgUbuntu及Debian類型
sudo apt-get update sudo apt-get install -y qemu-utils
轉換鏡像格式。
轉換鏡像檔案格式。
sudo qemu-img convert [選項] <源鏡像完整路徑名> <目標鏡像完整路徑名>[選項]說明:-f <源格式>:指定源鏡像的格式,如vhdx、vdi、qed、qcow、vpc(VHD)。支援的源格式可通過
sudo qemu-img --help | grep "Supported formats"查看。-O <目標格式>:(大寫O)指定目標鏡像格式,如raw、qcow2、vpc(VHD)、VMDK。-p:顯示轉換進度(百分比)。
命令樣本:
#情境一:將 VHD 格式轉換為 RAW 格式,源鏡像完整路徑名為/ConvertImage/source.vhd,目標鏡像完整路徑名為/ConvertImage/target.raw sudo qemu-img convert -p -f vpc -O raw /ConvertImage/source.vhd /ConvertImage/target.raw #情境二:將 VHDX 格式轉換為 QCOW2 格式,源鏡像完整路徑名為/ConvertImage/source.vhdx,目標鏡像完整路徑名為/ConvertImage/target.qcow2 sudo qemu-img convert -p -f vhdx -O qcow2 /ConvertImage/source.vhdx /ConvertImage/target.qcow2驗證轉換結果。
sudo qemu-img info <目標鏡像完整路徑名>以目標鏡像完整路徑名為
/ConvertImage/target.raw為例,需執行qemu-img info /ConvertImage/target.raw。輸出的
file format為目標鏡像格式,表示轉換成功。
使用ossutil 2.0的cp命令將目標鏡像檔案上傳至OSS,用於後續鏡像匯入。
通過OSS控制台上傳的檔案大小不能超過5 GB,因此需要藉助ossutil工具匯入。
常見問題
如何將ISO鏡像轉換為RAW、VHD、QCOW2和VMDK格式?
qemu-img工具不支援直接將ISO鏡像轉換為RAW、VHD、QCOW2和VMDK格式。需利用VirtualBox完成虛擬機器和作業系統的建立,將其匯出為支援的格式。具體操作,請參見建立虛擬機器並安裝作業系統(Linux)或建立虛擬機器並安裝作業系統(Windows)。
轉換VHD格式,提示“Unknown driver ‘vhd’”怎麼辦?
在
qemu-img中,VHD 格式對應的格式標識為vpc,而非vhd。執行轉換時應使用vpc作為格式標識。例如將
VHDX格式轉換為VHD格式時,需執行qemu-img convert -f vhdx -O vpc source.vhdx target.vhd。