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. bzoj 3676: [Apio2014]回文串【回文自动机】

    回文自动机板子 或者是SAM+manacher+倍增,就是manacher求本质不同回文串(让f++的串),然后在SAM倍增查询对应点出现次数 #include<iostream> #in ...

  2. Codeforces732D Exams

    显然要二分答案,然后对于一个天数,我们来判断是否可以通过所有考试,这里就贪心来安排就好了. 首先我们希望每门课的考试时间越晚越好,然后就是先复习最早开始的考试. #include <bits/s ...

  3. EasyUI创建选项卡并判断是否打开

    //创建选项卡:判断选项卡是否打开,如果以打开则定位到选项卡,否则创建 function addPanel(title) { var bol = $('#main_tabs').tabs('exist ...

  4. Hibernate中表与表之间的关联多对多,级联保存,级联删除

    第一步:创建两个实体类:用户和角色实体类,多对多关系,并让两个实体类之间互相关联: 用户实体类: package com.yinfu.entity; import java.util.HashSet; ...

  5. centos7上使用locate命令-文件查找

    centos7上使用locate命令   小贴士:在centOS7以上的系统中使用“locate”文件查找命令,发现该命令不可用. 检查了下,原来是centos7默认没有安装该命令,在联网状态运行“y ...

  6. 【数据结构(C语言版)系列四】 串

    串类型的定义 串(或字符串)是由零个或多个字符组成的有限序列,一般记为 s = 'a1a2...an',s为串名.子串在主串中的位置以子串的第一个字符在主串中的位置来表示. 串和表示和实现——定长顺序 ...

  7. luogu P3371 & P4779 单源最短路径spfa & 最大堆优化Dijkstra算法

    P3371 [模板]单源最短路径(弱化版) 题目背景 本题测试数据为随机数据,在考试中可能会出现构造数据让SPFA不通过,如有需要请移步 P4779. 题目描述 如题,给出一个有向图,请输出从某一点出 ...

  8. 481 Magical String 魔力字符串

    详见:https://leetcode.com/problems/magical-string/description/ C++: 方法一: class Solution { public: int ...

  9. RHEL 6.5----SCSI存储

    主机名 IP master 192.168.30.130 node-1 192.168.30.131 node-2 192.168.30.132 安装并启动 [root@master ~]# ll / ...

  10. 浅析cookie

    基本概念:cookie是指web浏览器存储的少量数据,该数据会在每次请求一个相关的URL时自动传到服务器中. 以博客园为例,我们看看cookie有哪些属性:  1.Name:cookie的名称: 2. ...