KVM实战系列之qemu-img

简介

QEMU提供qemu-img工具管理磁盘,创建虚拟磁盘,磁盘大小调整,磁盘格式转换,创建快照等等操作都需要使用qemu-img
qemu-img基本用法如下:

qemu-img [standard options] command [command options]
  • info
qemu-img info ubuntu.qcow2
  • check
qemu-img check [-f fmt] filename

对磁盘镜像文件进行一致性检查,查找镜像文件中的错误,目前仅支持 对“qcow2”“qed”“vdi”格式文件的检查。其中,qcow2是目前使用最广泛的格式。qed[1] (QEMU enhanced disk)是从QEMU 0.14版开始加入的增强磁盘文件格式,它可以在不支 持空洞(hole)的文件系统和存储媒介上压缩image,避免了qcow2格式的一些缺点,也提 高了性能。而vdi(Virtual Disk Image)是Oracle的VirtualBox虚拟机中的存储格式。参数-f fmt是指定文件的格式,如果不指定格式,qemu-img会自动检测。filename是磁盘镜像文件 的名称(包括路径)。

qemu-img check ubuntu.qcow2
No errors were found on the image.
31332/327680 = 9.56% allocated, 5.70% fragmented, 0.00% compressed clusters
Image end offset: 2055208960
  • create
qemu-img create[-f fmt][-o options]filename[size]

创建一个格式为fmt,大小为size,文件名为filename的镜像文件。根据文件格式fmt的 不同,还可以添加一个或多个选项(options)来附加对该文件的各种功能设置。可以使 用“-o?”来查询某种格式文件支持哪些选项,在“-o”选项中各个选项用逗号来分隔。
如果在“-o”选项中使用了backing_file这个选项来指定其后端镜像文件,那么这个创建 的镜像文件仅记录与后端镜像文件的差异部分。后端镜像文件不会被修改,除非在QEMU monitor中使用“commit”命令或使用“qemu-img commit”命令去手动提交这些改动。
在这种 情况下,size参数不是必需的,其值默认为后端镜像文件的大小。另外,直接使用“-b backfile”参数效果也与“-o backing_file=backfile”相同。 size选项用于指定镜像文件的大小,其默认单位是字节(bytes),也可以支持k(即 K)、M、G、T来分别表示kB、MB、GB、TB大小。另外,镜像文件的大小(size)也并 非必须写在命令的最后,也可以写在“-o”选项中作为其中一个选项。

qemu-img create -f qcow2 -b ubuntu16.04.iso  new_ubuntu.qcow2
  • commit
 qemu-img commit[-f fmt]filename

提交filename文件中的更改到后端支持镜像文件(创建时通过backing_file指定的) 中。

  • convert
convert[-c][-f fmt][-O output_fmt][-o options]filename[filename2[...]]output_filename

将fmt格式的filename镜像文件根据options选项转换为格式为output_fmt的、名为 output_filename的镜像文件。这个命令支持不同格式的镜像文件之间的转换,比如可以用 VMware使用的vmdk格式文件转换为qcow2文件,这对从其他虚拟化方案转移到KVM上的 用户非常有用。一般来说,输入文件格式fmt由qemu-img工具自动检测到,而输出文件格 式output_fmt根据自己需要来指定,默认会被转换为raw文件格式(且默认使用稀疏文件的 方式存储,以节省存储空间)。
其中,“-c”参数表示对输出的镜像文件进行压缩,不过只有qcow2和qcow格式的镜像 文件才支持压缩,并且这种压缩是只读的,如果压缩的扇区被重写,则会被重写为未压缩 的数据。同样,可以使用“-o options”来指定各种选项,如后端镜像、文件大小、是否加密 等。使用backing_file选项来指定后端镜像,使生成的文件成为copy-on-write的增量文件, 这时必须让在转换命令中指定的后端镜像与输入文件的后端镜像的内容相同,尽管它们各 自后端镜像的目录和格式可能不同。
如果使用qcow2、qcow等作为输出文件格式来转换raw格式的镜像文件(非稀疏文件 格式),镜像转换还可以将镜像文件转化为更小的镜像,因为它可以将空的扇区删除,使 之在生成的输出文件中不存在。

qemu-img convert -O qcow2 test.img test.qcow2
  • snapshot
qemu-img snapshot[-l|-a snapshot|-c snapshot|-d snapshot]filename

“-l”选项表示查询并列出镜像文件中的所有快照,“-a snapshot”表示让镜像文件使用某 个快照,“-c snapshot”表示创建一个快照,“-d”表示删除一个快照。

qemu-img snapshot -l ubuntu.qcow2
qemu-img snapshot -c shot1 ubuntu.qcow2
qemu-img snapshot -a shot1 ubuntu.qcow2
qemu-img snapshot -d shot1 ubuntu.qcow2
  • rebase
rebase[-f fmt][-t cache][-p][-u]-b backing_file[-F backing_fmt]filename

改变镜像文件的后端镜像文件,只有qcow2和qed格式支持rebase命令。使用“-b backing_file”中指定的文件作为后端镜像,后端镜像也被转化为“-F backing_fmt”中指定的 后端镜像格式。
这个命令可以工作于两种模式之下,一种是安全模式(Safe Mode),这是默认的模 式,qemu-img会根据比较原来的后端镜像与现在的后端镜像的不同进行合理的处理;另 一种是非安全模式(Unsafe Mode),是通过“-u”参数来指定的,这种模式主要用于将后 端镜像重命名或移动位置后对前端镜像文件的修复处理,由用户去保证后端镜像的一致性。

  • resize
resize filename[+|-]size

改变镜像文件的大小,使其不同于创建之时的大小。“+”和“-”分别表示增加和减少镜 像文件的大小,size也支持K、M、G、T等单位的使用。
缩小镜像的大小之前,需要在客户机中保证其中的文件系统有空余空间,否则数据会丢失。另外,qcow2格式文件不支持 缩小镜像的操作。
在增加了镜像文件大小后,也需启动客户机在其中应 用“fdisk”“parted”等分区工具进行相应的操作,才能真正让客户机使用到增加后的镜像空 间。不过使用resize命令时需要小心(做好备份),如果失败,可能会导致镜像文件无法 正常使用,而造成数据丢失。

qemu-img resize ubuntu.qcow2 +1G
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,539评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,911评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,337评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,723评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,795评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,762评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,742评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,508评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,954评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,247评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,404评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,104评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,736评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,352评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,557评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,371评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,292评论 2 352

推荐阅读更多精彩内容