KVM虚拟机磁盘、快照、克隆

文章目录

  • 一、KVM虚拟磁盘
    • (一)虚拟磁盘格式
    • (二)虚拟磁盘管理工具 qemu-img
  • 二、KVM虚拟机快照管理
  • 三、KVM虚拟机克隆
    • (一)完整克隆
    • (二)链接克隆

一、KVM虚拟磁盘

(一)虚拟磁盘格式

  1. raw:裸格式,指定多大就创建多大,直接占用指定大小的空间,性能较好,不方便传输。目前来看,是KVM和XEN默认的格式。

    因为其原始,有很多原生的特性,例如直接挂载也是一件简单的事情。裸的好处还有就是简单,支持转换成其它格式的虚拟机镜像,(如果其它格式需要转换,有时候还是需要它做为中间格式)。空间使用来看,类似于磁盘,使用多少就是多少(du -h看到的大小就是使用大小)。扩容简单方便,可以在原来的盘上追加空间(可以直接使用dd命令创建该格式的磁盘镜像)

  2. cow:曾经qemu的写时拷贝的镜像格式,目前由于历史遗留原因不支持窗口模式。从某种意义上来说是个弃婴,还没得它成熟就死在腹中,后来被qcow格式所取代。

  3. qcow (qemu copy on write):一代的qemu的cow格式,刚刚出现的时候有比较好的特性,但其性能和raw格式对比还是有很大的差距,目前已经被新版本的qcow2取代。

  4. qcow2:写时复制特性,用多大占多大,但不能超过创建时指定的大小,只能扩容不能缩容。是openstack默认也是比较推荐的格式,将差异保存在一个文件,文件比较小而且做快照也比较小,便于传输且空间是动态增长的,是现在比较主流的一种虚拟化镜像格式。经过一代的优化,目前qcow2的性能上接近raw裸格式的性能。qcow2的snapshot(快照),可以在镜像上做N多个快照:更小的存储空间,即使是不支持holes的文件系统也可以(这下du -h和ls -lh看到的就一样了),支持多个snapshot,对历史snapshot进行管理,支持zlib的磁盘压缩,支持AES的加密

  5. vmdk VMware的格式。从性能和功能上来说,vmdk应该算最出色的,由于vmdk结合了VMware的很多能力,目前来看,KVM和XEN使用这种格式的情况不是太多。但就VMware的Esxi来看,它的稳定性和各方面的能力还是可圈可点。

  6. vdi 单纯从能力上来说vdi在VirtualBox上的表现不错。也是不错的workstation级别的产品。

KVM虚拟机的磁盘常用格式为 raw 和 qcow2 ,对比:

特点/类型 RAW QCOW2
KVM默认
I/O效率 较高
占用空间
压缩 不支持 支持
增量备份 不支持 支持
快照 不支持 支持

KVM虚拟机的磁盘文件:默认位于/var/lib/libvirt/images/虚拟机名.img(或者由管理员提前准备,手动指定)

(二)虚拟磁盘管理工具 qemu-img

qemu-img(磁盘镜像文件格式转换工具)是QEMU的磁盘管理工具,能够帮助用户轻松创建、转换、修改虚拟磁盘,为磁盘的管理提供了帮助。软件支持vmdk、vhdx、qcow2等格式,满足用户的各种镜像文件格式转换需求。

查看虚拟磁盘信息

qemu-img info /path/to/磁盘文件名

[root@kvm ~]# qemu-img info /var/lib/libvirt/images/template.qcow2 
image: /var/lib/libvirt/images/template.qcow2
file format: qcow2   # 格式
virtual size: 10G (10737418240 bytes)  # 磁盘大小
disk size: 1.2G			# 已使用大小
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true

创建虚拟磁盘

qemu-img create -f 格式(qcow2或raw) 磁盘文件名 容量    # 如果不指定磁盘格式,那么默认为raw。容量单位:K/M/G/T/P/E

[root@kvm ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/test1.qcow2 1G 
Formatting '/var/lib/libvirt/images/test1.qcow2', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off 
[root@kvm ~]# qemu-img create  /var/lib/libvirt/images/test2.raw 1G 
Formatting '/var/lib/libvirt/images/test2.raw', fmt=raw size=1073741824 
[root@kvm ~]# cd /var/lib/libvirt/images/
[root@kvm images]# ll -h
total 2.8G
-rw-------. 1 qemu qemu  11G May 12 17:04 template.qcow2
-rw-r--r--. 1 root root 193K May 

你可能感兴趣的:(KVM,kvm)