qemu-img是一个功能强大磁盘镜像管理工具。
qemu-img --help 包括以下功能:

  • check:检查完整性
  • create:创建镜像
  • commit:提交更改
  • compare:比较
  • convert:转换
  • info:获取信息
  • map:映射
  • snapshot:快照管理
  • rebase:在已有的的基础上创建新的镜像
  • resize:调整大小
  • amend:修订镜像格式选项

示例:

create创建磁盘:

[root@desktop example]# ls
[root@desktop example]# qemu-img create t1.img 1g    # 创建一个1G的磁盘文件
Formatting 't1.img', fmt=raw size=1073741824
[root@desktop example]# ls
t1.img
[root@desktop example]# qemu-img info t1.img         # 查看指定磁盘文件的信息
image: t1.img
file format: raw
virtual size: 1.0G (1073741824 bytes)
disk size: 0
[root@desktop example]#

磁盘镜像qcow2格式选项:

  1. backing_file:指定后端镜像文件
  2. backing_fmt:设置后端镜像的镜像格式。
  3. cluster_size:设置镜像中的簇大小,取值在512到2M之间,默认值为64K。
  4. preallocation:设置镜像文件空间的预分配模式
  5. encryption:用于设置密码。

预分配策略:

  • off:缺省策略,即不使用预分配策略
  • metadata:分配元数据,预分配后的虚拟磁盘仍然属于稀疏映像类型
  • full:分配所有磁盘空间并置零,预分配后的虚拟磁盘属于非稀疏映像类型
  • falloc:分配文件的块并标示它们的状态的未初始化,相对full模式来说,创建虚拟磁盘的速度要快得多
# 每种预分配格式创建的磁盘镜像文件初始占用的磁盘空间 -f qcow2指定创建所使用的格式
[root@desktop example] qemu-img create -f qcow2 test1.qcow2 1g
[root@desktop example] qemu-img create -f qcow2 test2.qcow2 1g  -o preallocation=off
[root@desktop example] qemu-img create -f qcow2 test3.qcow2 1g  -o preallocation=metadata
[root@desktop example] qemu-img create -f qcow2 test4.qcow2 1g  -o preallocation=falloc
[root@desktop example] qemu-img create -f qcow2 test5.qcow2 1g  -o preallocation=full
[root@desktop example]# ls -lh
total 2.1G
-rw-r--r--. 1 root root 1.0G Mar 18 09:11 t1.img
-rw-r--r--. 1 root root 193K Mar 18 09:30 test1.qcow2
-rw-r--r--. 1 root root 193K Mar 18 09:32 test2.qcow2
-rw-r--r--. 1 root root 1.1G Mar 18 09:32 test3.qcow2
-rw-r--r--. 1 root root 1.1G Mar 18 10:01 test4.qcow2
-rw-r--r--. 1 root root 1.1G Mar 18 10:01 test5.qcow2
[root@desktop example]# du -h *
0       t1.img
196K    test1.qcow2
196K    test2.qcow2
516K    test3.qcow2
1.1G    test4.qcow2
1.1G    test5.qcow2
[root@desktop example]#

backing_file指定后端镜像盘:指定后端镜像盘来创建新的镜像盘

  • -f指定创建的磁盘镜像文件格式
  • backing_file指定所用的后端磁盘镜像文件
[root@desktop example]# qemu-img create -f qcow2 -o backing_file=test3.qcow2 new_disk.qcow2
Formatting 'new_disk.qcow2', fmt=qcow2 size=1073741824 backing_file='test3.qcow2' encryption=off cluster_size=65536 lazy_refcounts=off
[root@desktop example]# qemu-img info new_disk.qcow2
image: new_disk.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 196K
cluster_size: 65536
backing file: test3.qcow2
Format specific information:compat: 1.1lazy refcounts: false

虚拟磁盘格式转换,把raw格式的镜像文件转成qcow2的磁盘镜像文件

  • -O 指定输出格式
[root@desktop example]# qemu-img convert -O qcow2 t1.img t1.qcow2
[root@desktop example]# qemu-img info t1.qcow2
image: t1.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false
[root@desktop example]#

调整虚拟磁盘大小:
语法格式:resize filename [+|-] size
操作之前,一定要做好数据备份
增加文件大小后,需要在客户机使用fdisk,parted等分区工具进行相应的操作才能真正让客户机使用到增加后的镜像空间。
缩小镜像之前,要在客户机中保证里面的文件系统有空余空间,否则会数据丢失。
qcow2不支持缩小镜像的操作。

[root@desktop example]# qemu-img info test5.qcow2
image: test5.qcow2
file format: qcow2
virtual size: 1.0G (1073741824 bytes)
disk size: 1.0G
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false
[root@desktop example]# qemu-img resize test5.qcow2 +2G
Image resized.
[root@desktop example]# qemu-img info test5.qcow2
image: test5.qcow2
file format: qcow2
virtual size: 3.0G (3221225472 bytes)
disk size: 1.0G
cluster_size: 65536
Format specific information:compat: 1.1lazy refcounts: false

qemu-img命令详解相关推荐

  1. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  2. oracle home 命令,$ORACLE_HOMEbin目录下所有命令的使用方法及命令详解

    求$ORACLE_HOME/bin目录下所有命令的使用方法及命令详解 如题. $ORACLE_HOME/bin目录下有很多命令,那我们平时用到的也不是太多,即使用到的那部分可能用法也不是完全能掌握,所 ...

  3. 【FFmpeg】ffmpeg命令详解(三)高级选项

    ffmpeg命令详解(三)高级选项 1.-map 2.-ignore_unknown 3.-copy_unknown 4.-map_channel 5.-map_metadata 6.-map_cha ...

  4. 【FFmpeg】ffmpeg命令详解(二)

    ffmpeg命令详解(二) 4.流选择 4.1 自动选择流 4.2 手动选择流 5.命令行选择详解 5.1 命令行选项的值说明: 5.2 流说明符 5.3 通用选项 5.4 主选项 5.5 视频相关选 ...

  5. 【FFmpeg】ffmpeg命令详解(一)

    ffmpeg命令详解(一) 1.命令格式 2.简述 3.详细说明 3.1 过滤器 3.1.1 简单的过滤器图 3.1.2 复杂的过滤器图 3.2 流拷贝 1.命令格式 ffmpeg [global_o ...

  6. head和tail命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/amosli/p/3496027.html 当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相 ...

  7. 常用memcached命令详解

    常用memcached命令详解: Memcached作为缓存服务器,对其操作的命令主要分为三类: 1.  服务器状态命令:可以查看memcahced服务的当前状态 2.  数据存储命令:如何存储数据到 ...

  8. linux yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RP ...

  9. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解

    在上一篇:Linux Shell系列教程之(七)Shell输出这篇文章中,已经对Shell printf命令有了一个简略的介绍,本篇给大家详细介绍下Shell中的printf命令. 一.Shell p ...

  10. 超级干货:3个性能监控和优化命令详解

    小编为大家整理出了三个有关性能监控和优化命令详细讲解,别看只有三个,但不影响他噎啊,本篇文章很长,涉及top命令.free命令和vmstat命令,真的是很详细的讲解,希望能帮到大家,另外还有两条相关的 ...

最新文章

  1. 打上花火中文谐音歌词_【1分钟学会闽南语歌】茄子蛋-《浪子回头》-闽南语音译歌词视频...
  2. pandas中drop用法_如何使用drop方法对数据进行删减处理
  3. 使用HTML5、CSS3和jQuery增强网站用户体验
  4. 第十二届 蓝桥杯青少年 C++组 10月比赛 第2题 统计字符
  5. 20172310《程序设计与数据结构》(上)课程总结
  6. 第一个go程序: HTTP 服务示例
  7. 现在该去外企吗?入职微软三个月的我告诉你!
  8. java上传音频的方法_将音频文件从文档目录上传到 iCloud
  9. centos6.0 LAMP源码安装
  10. Windows11系统中便签小工具在哪 便签使用方法简单图解
  11. 云控微信开发SDK使用教程--手机微信群二维码上传给服务端
  12. QChart修改标题颜色,修改X轴Y轴字体颜色
  13. flutter A problem occurred configuring project ‘:shared_preferences_linux‘.
  14. python矩阵运算函数_Numpy 常用矩阵计算函数
  15. 二次函数图像如何用计算机绘制,如何快速画二次函数图像
  16. 基于Linux用C语言实现TCP半双工通信和UDP半双工通信
  17. selenium+python设置爬虫代理IP
  18. 字典树原理详解及其Python实现
  19. 图像处理之水彩画特效生成算法
  20. python数据可视化案例销售数据_3-5 用python进行数据可视化 朝阳医院销售案例

热门文章

  1. 输入法半角和全角的快捷转换_华宇拼音输入法 一款完全免费的国产输入法 - IT业界_CIO时代网...
  2. 【华为】职级、薪酬、绩效全认知
  3. 一键报警(IP对讲)
  4. Docker之nginx集群
  5. 6个裂变获客增长方法
  6. photoshop--抽出滤镜
  7. 边界值法中的上点、内点和离点分析
  8. 本地跟单EA安装教程详解
  9. 测试用例管理系统 TestRail测试用例
  10. 【Qt】 使用QMovie加载Gif动画