應用場景
天翼云目前支持導入RAW、qcow2、vmdk、vhd格式鏡像文件。其他鏡像文件,需要轉換格式后再導入。下面將為您介紹如何使用開源qemu-img工具轉換鏡像格式。
方案構架
資源和成本規劃
| 資源 | 資源說明 | 成本說明 |
|---|---|---|
| qemu-img | 是一款開源的轉換鏡像格式的工具。 | 免費 |
約束與限制
-
qemu-img鏡像格式轉換工具支持vhd、vmdk、qcow2、raw、vhdx、qcow、vdi或qed社區格式的鏡像的相互轉換。
-
vhd格式鏡像在執行命令轉換格式時請使用vpc代替,否則可能造成qemu-img工具無法識別鏡像格式。
例如,將CentOS 8.4鏡像的vhd格式轉換為qcow2格式,請執行如下命令:
qemu-img convert -p -f vpc -O qcow2 centos8.4.vhd centos8.4.qcow2
轉換Windows操作系統鏡像格式
- 安裝qemu-img。
a) 下載qemu-img安裝包至本地:。
b) 雙擊setup文件安裝qemu-img,以下操作以安裝路徑為“D:\Program Files\qemu”為例。
- 配置環境變量。
a) 選擇“開始>計算機”,右鍵單擊“屬性”。
b) 單擊“高級系統設置”。
c) 在“系統屬性”對話框里,單擊“高級>環境變量"。
d) 在環境變量對話框里,在系統變量部分找到Path,并單擊“編輯”。在“變量值”里,添加“D:\Program Files\qemu”,不同的變量值之間以“;”分隔。
說明如果沒有Path變量請新建,并補充Path的變量值為“D:\Program Files\qemu”。
e) 單擊“確定”,保存修改。
- 驗證安裝成功。
單擊“開始>運行”,輸入“cmd”后按回車鍵,在“cmd”窗口輸入qemu-img --help,如回顯信息中出現qemu-img工具的版本信息,即表示安裝成功。
- 轉換鏡像格式。
a)在“cmd”窗口輸入如下命令切換文件目錄,以安裝目錄為“D:\Program Files\qemu”為例。
d:
cd D:\Program Files\qemu
b) 執行如下命令轉換鏡像文件格式,以轉換vmdk格式為qcow2格式的鏡像為例。
qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
上述命令中各參數對應的說明如下:
- -p:表示鏡像轉換的進度。
- -f:后面為源鏡像格式。
- -O:必須是大寫,后面的參數由如下3個部分組成:轉換出來的鏡像格式 + 源鏡像文件名稱 + 目標文件名稱。
轉換完成后,目標文件會出現在源鏡像文件所在的目錄下。
回顯信息如下所示:
# qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
(100.00/100%)
c) 執行如下命令,查詢轉換后的qcow2格式鏡像文件的詳細信息。
qemu-img info centos8.4.qcow2
回顯信息如下所示:
# qemu-img info centos8.4.qcow2
image: centos8.4.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 300K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
轉換Linux操作系統鏡像格式
- 安裝qemu-img。
- Ubuntu、Debian系列操作系統,請執行如下命令:
apt install qemu-img
- CentOS、Red Hat、Oracle系列操作系統,請執行如下命令:
yum install qemu-img
- SUSE、openSUSE系列操作系統,請執行如下命令:
zypper install qemu-img
- 執行如下命令,驗證安裝成功。
qemu-img -v
如回顯信息中出現qemu-img工具的版本信息和幫助手冊,即表示安裝成功。以CentOS 8為例,回顯信息如下所示:
[root@CentOS8 ~]# qemu-img -v
qemu-img version 7.1.0 Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
usage: qemu-img command [command options]
QEMU disk image utility
Command syntax:
check [-q] [-f fmt] [--output=ofmt] [-r [leaks | all]] [-T src_cache] filename
create [-q] [-f fmt] [-o options] filename [size]
commit [-q] [-f fmt] [-t cache] filename
compare [-f fmt] [-F fmt] [-T src_cach]
- 轉換鏡像格式,以CentOS 8操作系統中轉換vmdk格式為qcow2格式的鏡像為例。
a) 執行如下命令轉換鏡像文件格式,以轉換vmdk格式為qcow2格式的鏡像為例。
qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
上述命令中各參數對應的說明如下:
- -p:表示鏡像轉換的進度。
- -f后面為源鏡像格式。
- -O(必須是大寫)后面的參數為轉換出來的鏡像格式 + 源鏡像文件名稱 + 目標文件名稱。
轉換完成后,目標文件會出現在源鏡像文件所在的目錄下。
回顯信息如下所示:
[root@CentOS8 home]# qemu-img convert -p -f vmdk -O qcow2 centos8.4.vmdk centos8.4.qcow2
(100.00/100%)
b) 執行如下命令,查詢轉換后的qcow2格式鏡像文件的詳細信息。
qemu-img info centos8.4.qcow2
回顯信息如下所示:
[root@CentOS8 home]# qemu-img info centos8.4.qcow2
image: centos8.4.qcow2
file format: qcow2
virtual size: 2.0G (2147483648 bytes)
disk size: 300K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false