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. 安装elasticsearch-head

    直接安装chrome插件,用npm老出错,shit 再说吧 使用插件连接的时候反而没有出错,后续如果出错 , 可以配置 elasticsearch下config下的y 在新的电脑上使用发现格式不对,比 ...

  2. docker系列(一):docker基础与安装笔记

    1 什么是docker docker是基于GO语言编写的开源容器项目,诞生于2013年初,到目前为止,已经经历了6年的发展演变.现如今,docker已经非常火爆,特别是在一线IT企业,部署.运维等工作 ...

  3. hdu1325 Is It A Tree? 基础并查集

    #include <stdio.h> #include <string.h> ], g[]; int find(int x) //并查集的查找,找到共同的父亲 { if (f[ ...

  4. c++模板专门化

    #include <iostream> #include<cstring> using namespace std; template <typename T> T ...

  5. Codeforces Round #322 (Div. 2)

    水 A - Vasya the Hipster /************************************************ * Author :Running_Time * C ...

  6. Python Selenium设计模式 - PO设计模式

    整理一下python selenium自动化测试实践中使用较多的po设计模式. 为什么要用PO 基于python selenium2开始开始ui自动化测试脚本的编写不是多么艰巨的任务.只需要定位到元素 ...

  7. DNS练习之正向解析

    配置正向解析: 主机名:sishen63 主机IP:192.168.1.63 操作系统:Red Hat Enterprise Linux Server release 6.5 (Santiago) 安 ...

  8. asp.net MVC 错误信息“没有为该对象定义无参数的构造函数”请求各位大神帮忙!

    在做一个登录的功能,没有用MVC自己生成的identity代码,仿照别人的代码写出了以后出现错误. 错误信息如下: 代码如下: 求各位asp.net大神支招,网上找了资料最终也没解决这个问题.

  9. log4go折腾

    导包 go get -u github.com/alecthomas/log4go log4go.xml配置 <logging> <filter enabled="true ...

  10. Java-注解(不包含元注解)

    @SuppressWarnings:抑制警告 package java.lang; import java.lang.annotation.*; import static java.lang.ann ...