qemu-img支持非常多种的文件格式,可以通过"qemu-img  -h"查看其命令帮助得到,它支持二十多种格式:blkdebug、blkverify、bochs、cloop、cow、tftp、ftps、ftp、https、http、dmg、nbd、parallels、qcow、qcow2qed、host_cdrom、host_floppy、host_device、file、raw、sheepdog、vdi、vmdk、vpc、vvfat

qemu-img -h|grep "Supported formats"

 

 (1) raw

原始的磁盘镜像格式,也是qemu-img命令默认的文件格式。
优点:非常简单且非常容易移植到其他模拟器(emulator,QEMU也是一个emulator)上使用。如果客户机文件系统(如Linux上的ext2/ext3/ext4WindowsNTFS)支持“空洞”(hole),那么镜像文件只有在被写有数据的扇区才会真正占用磁盘空间,从而起到节省磁盘空间的作用,就如前面用"qemu-img  info"命令查看镜像文件信息中看到的那样。qemu-img默认的raw格式的文件其实是稀疏文件(sparse file ),前面“安装客户机”中使用"dd"命令创建的镜像也是raw格式,不过那是一开始就让镜像实际占用了分配的空间,而没有使用稀疏文件的方式对待空洞来节省磁盘空间。

尽管一开始就实际占用磁盘空间的方式没有节省磁盘的效果,不过这种方式在写入新的数据时不需要宿主机从现有磁盘空间中分配,因此在第一次写入数据时,这种方式的性能会比稀疏文件的方式更好一点

(2) host_device

在需要将镜像转换到不支持空洞的磁盘设备时需要用这种格式来代替raw格式。

(3) qcow2

qcow2QEMU目前推荐的镜像格式,它是功能最多的格式。
支持稀疏文件(即支持空洞)以节省存储空间,
支持可选的AES加密以提高镜像文件安全性,
支持基于zlib的压缩,支持在一个镜像文件中有多个虚拟机快照

在qemu-img命令中qcow2支持如下几个选项:

l  backing_file , 用于指定后端镜像文件

l  backing_fmt, 设置后端镜像的镜像格式

l  cluster_size, 设置镜像中簇的大小,取值在512B2MB之间,默认值为64KB较小的簇可以节省镜像文件的空间,较大的簇可以带来更好的性能,需要根据实际情况来平衡,一般采用默认值即可

l  preallocation, 设置镜像文件空间的预分配模式,其值可为"off''、"metadata"之一。
"off''模式是默认值,设置了不为镜像文件预分配磁盘空间
"metadata"模式用于设置为镜像文件预分配metadata的磁盘空间,所以这种方式生成的镜像文件稍大一点,不过在其真正分配空间写入数据时效率更高
另外,一些版本的qemu-img(如RHEL6.3自带的)还支持"full"模式的预分配,它表示在物理上预分配全部的磁盘空间,它将整个镜像的空间都填充零以占用空间,当然它所花费的时间较长,不过使用时性能更好

l  encryption用于设置加密,当它等于"on"时,镜像被加密。它使用128位密钥的ASE加密算法,故其密码长度可达16个字符(每个字符8位),可以保证加密的安全性较高
在将"qemu-img convert"命令转化为qcow2格式时,加上"-o encryption",即可对镜像文件设置密码,而在使用镜像启动客户机时需要在QEMU monitor中输入"cont""c"(continue的意思)命令来唤醒客户机输入密码后继续执行(否则客户机将不会真正启动)

命令行如下:

 

 

( 4 ) qcow

较旧的QEMU镜像格式,现在已经很少使用了,一般用于兼容比较老版本的QEMU。它支持backing_file(后端镜像)和encryption (加密)两个选项

(5) cow

用户模式Linux(User-Mode Linux)Copy-On-Write的镜像文件格式。

(6) vdi

兼容Oracle ( Sun ) Virtual Box 1.1的镜像文件格式( Virtual Disk Image)。

(7) vmdk

兼容VMware 4版本以上的镜像文件格式(Virtual Machine Disk Format )。

(8) vpc

兼容Microsoft 的Virtual PC的镜像文件格式(Virtual Hard Disk format )。

(9) sheepdog

Sheepdog项目是由日本NTT实验室发起的,为QEMU/KVM做的一个开源的分布式存储系统,为KVM虚拟化提供块存储。它无单点故障(无类似千元数据服务器的中央节点),方便扩展(已经支持上千的节点数量),其配置简单、运维成本较低,总的来说,具有高可用性、易扩展性、易管理性等优势。

QEMU支持的镜像文件格式

qemu-img支持非常多种的文件格式,可以通过"qemu-img  -h"查看其命令帮助得到,它支持二十多种格式:blkdebug、blkverify、bochs、cloop、cow、tftp、ftps、ftp、https、http、dmg、nbd、parallels、qcow、qcow2qed、host_cdrom、host_floppy、host_device、file、raw、sheepdog、vdi、vmdk、vpc、vvfat

qemu-img -h|grep "Supported formats"

(1) raw

原始的磁盘镜像格式,也是qemu-img命令默认的文件格式。
优点:非常简单且非常容易移植到其他模拟器(emulator,QEMU也是一个emulator)上使用。如果客户机文件系统(如Linux上的ext2/ext3/ext4WindowsNTFS)支持“空洞”(hole),那么镜像文件只有在被写有数据的扇区才会真正占用磁盘空间,从而起到节省磁盘空间的作用,就如前面用"qemu-img  info"命令查看镜像文件信息中看到的那样。qemu-img默认的raw格式的文件其实是稀疏文件(sparse file ),前面“安装客户机”中使用"dd"命令创建的镜像也是raw格式,不过那是一开始就让镜像实际占用了分配的空间,而没有使用稀疏文件的方式对待空洞来节省磁盘空间。

尽管一开始就实际占用磁盘空间的方式没有节省磁盘的效果,不过这种方式在写入新的数据时不需要宿主机从现有磁盘空间中分配,因此在第一次写入数据时,这种方式的性能会比稀疏文件的方式更好一点

(2) host_device

在需要将镜像转换到不支持空洞的磁盘设备时需要用这种格式来代替raw格式。

(3) qcow2

qcow2QEMU目前推荐的镜像格式,它是功能最多的格式。
支持稀疏文件(即支持空洞)以节省存储空间,
支持可选的AES加密以提高镜像文件安全性,
支持基于zlib的压缩,支持在一个镜像文件中有多个虚拟机快照

在qemu-img命令中qcow2支持如下几个选项:

l  backing_file , 用于指定后端镜像文件

l  backing_fmt, 设置后端镜像的镜像格式

l  cluster_size, 设置镜像中簇的大小,取值在512B2MB之间,默认值为64KB较小的簇可以节省镜像文件的空间,较大的簇可以带来更好的性能,需要根据实际情况来平衡,一般采用默认值即可

l  preallocation, 设置镜像文件空间的预分配模式,其值可为"off''、"metadata"之一。
"off''模式是默认值,设置了不为镜像文件预分配磁盘空间
"metadata"模式用于设置为镜像文件预分配metadata的磁盘空间,所以这种方式生成的镜像文件稍大一点,不过在其真正分配空间写入数据时效率更高
另外,一些版本的qemu-img(如RHEL6.3自带的)还支持"full"模式的预分配,它表示在物理上预分配全部的磁盘空间,它将整个镜像的空间都填充零以占用空间,当然它所花费的时间较长,不过使用时性能更好

l  encryption用于设置加密,当它等于"on"时,镜像被加密。它使用128位密钥的ASE加密算法,故其密码长度可达16个字符(每个字符8位),可以保证加密的安全性较高
在将"qemu-img convert"命令转化为qcow2格式时,加上"-o encryption",即可对镜像文件设置密码,而在使用镜像启动客户机时需要在QEMU monitor中输入"cont""c"(continue的意思)命令来唤醒客户机输入密码后继续执行(否则客户机将不会真正启动)

命令行如下:

 

( 4 ) qcow

较旧的QEMU镜像格式,现在已经很少使用了,一般用于兼容比较老版本的QEMU。它支持backing_file(后端镜像)和encryption (加密)两个选项

(5) cow

用户模式Linux(User-Mode Linux)Copy-On-Write的镜像文件格式。

(6) vdi

兼容Oracle ( Sun ) Virtual Box 1.1的镜像文件格式( Virtual Disk Image)。

(7) vmdk

兼容VMware 4版本以上的镜像文件格式(Virtual Machine Disk Format )。

(8) vpc

兼容Microsoft 的Virtual PC的镜像文件格式(Virtual Hard Disk format )。

(9) sheepdog

Sheepdog项目是由日本NTT实验室发起的,为QEMU/KVM做的一个开源的分布式存储系统,为KVM虚拟化提供块存储。它无单点故障(无类似千元数据服务器的中央节点),方便扩展(已经支持上千的节点数量),其配置简单、运维成本较低,总的来说,具有高可用性、易扩展性、易管理性等优势。

posted on 2018-09-07 09:21  苦咖啡~~  阅读(12670)  评论(1编辑  收藏  举报