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虚拟化提供块存储。它无单点故障(无类似千元数据服务器的中央节点),方便扩展(已经支持上千的节点数量),其配置简单、运维成本较低,总的来说,具有高可用性、易扩展性、易管理性等优势。

QEMU支持的几种常见的镜像文件格式的更多相关文章

  1. Android颜色值(RGB)所支持的四种常见形式

    Android中颜色值是通过红(Red).绿(Green).蓝(Blue)三原色,以及一个透明度(Alpha)值来表示的,颜色值总是以井号(#)开头,接下来就是Alpha-Red-Green-Blue ...

  2. 我的Android进阶之旅------>Android颜色值(RGB)所支持的四种常见形式

    Android中颜色值是通过红(Red).绿(Green).蓝(Blue)三原色,以及一个透明度(Alpha)值来表示的,颜色值总是以井号(#)开头,接下来就是Alpha-Red-Green-Blue ...

  3. (转载)MySQL数据库的几种常见高可用方案

    转自: https://yq.aliyun.com/articles/74454   随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化. ...

  4. 【http】四种常见的 POST 提交数据方式

    来源:http://www.cnblogs.com/aaronjs/p/4165049.html HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT ...

  5. SQL Server 存储过程中处理多个查询条件的几种常见写法分析,我们该用那种写法

    本文出处: http://www.cnblogs.com/wy123/p/5958047.html 最近发现还有不少做开发的小伙伴,在写存储过程的时候,在参考已有的不同的写法时,往往很迷茫,不知道各种 ...

  6. JSP之WEB服务器:Apache与Tomcat的区别 ,几种常见的web/应用服务器

    注意:此为2009年的blog,注意时效性(针对常见服务器)     APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页 如(asp,php,cgi,jsp)等 ...

  7. 四种常见的 POST 提交数据方式

    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...

  8. 四种常见的 POST-------- content-type数据提交方式

    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...

  9. Web 四种常见的POST提交数据方式

    HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中 POST 一般用来向服务端提交数据,本文 ...

随机推荐

  1. VS2019+ASP.NETCore+图表

    原帖学习踩坑:https://www.cnblogs.com/fzqm-lwz/p/9704973.html,主要根据大佬原帖内容,实现尝试,进行一些修改: 实现方式一:通过标记帮助程序将JS代码传到 ...

  2. LuoguP2602 [ZJOI2010]数字计数【数位dp】By cellur925

    题目传送门 题目大意:给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. 继续数位dp=w=. 这一次我们不需要记录$pre$啦!(撒花). 因为这次我们需要的 ...

  3. 关于AFNetWorking 2.5.4之后版本编译报错问题解决方案

    最近升级了AFN框架到2.6版本然后编译却出错了 错误如下: 错误出现在 AFSecurityPolicy.h 这个类中 解决办法如下: 在项目的.pch文件里添加 #ifndef TARGET_OS ...

  4. 最小生成树Prim算法和Kruskal算法(转)

    (转自这位大佬的博客 http://www.cnblogs.com/biyeymyhjob/archive/2012/07/30/2615542.html ) Prim算法 1.概览 普里姆算法(Pr ...

  5. Painful Bases LightOJ - 1021

    Painful Bases LightOJ - 1021 题意:给出0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F中的一些字符(不重复)还有一个进制base,求这些字符的排列形成的ba ...

  6. HTML中div的悬浮标题

    <div title="我是鼠标悬停文字">我是一个DIV</div> <div class="diggao" title=&qu ...

  7. JDBC全部分析

    2.1.搭建实验环境 1.在mysql中创建一个库,并创建user表和插入表的数据. SQL脚本如下: 1 create database jdbcStudy character set utf8 c ...

  8. 【转载】(0, eval)(‘this’)

    var window = this || (0, eval)('this') 在avalon源码中有这么一行代码,var window = this很容易理解 这里复习一下Global Object: ...

  9. 牛客网Java刷题知识点之自动拆装箱

    不多说,直接上干货! https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=5 ...

  10. KMS算法

    解题:http://hihocoder.com/problemset/problem/1015 KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt同时 ...