KVM学习笔记(虚拟磁盘)

 1、KVM支持的虚拟磁盘类型

raw
并不是真正的磁盘格式,代表虚拟机所使用的原始镜像。
并不存储元数据,不支持高级特性,如快照及压缩等。
需要文件系统支持才能支持磁盘精简配置。
qcow2
按需进行磁盘空间分配,不管文件系统是否支持。
支持快照
支持zlib的磁盘压缩
支持AES加密
vmdk
VMware默认的磁盘文件格式
vhd\vhdx
微软默认采用的文件格式
vdi
VirtualBox

2、qemu-img

创建虚拟机磁盘
qemu-img create [-q] [-f fmt] [-o options] filename [size]
参数解释
-q 静默模式,没有屏显
-f 虚拟磁盘格式,默认是raw
查询虚拟磁盘文件信息
qemu-img info filename
使用qemu-img直接在ext4上创建raw格式磁盘是精简配置的
使用dd命令创建的文件也是raw格式,但是默认是非精简配置的
在使用dd命令时,使用count=0,seek=块个数的方式可以创建精简磁盘。
cp命令在拷贝文件时,可以改变虚拟磁盘文件的类型使用--sparse参数
--sparse=always表示拷贝成精简模式
--sparse=never表示拷贝成普通模式
--sparse=auto保持原来的磁盘模式

3、qemu-img预分配策略

qemu-img create -f qcow2 -o options filename [size]
参数-o preallocation 代表磁盘预分配策略
preallocation=off 关闭预分配,精简模式
preallocation=metadata 预分配元数据,磁盘数据不预分配
preallocation=full 预分配并置零,普通模式
preallocation=falloc 预分配不置零,普通延迟置零模式

4、链接克隆

差分盘的母盘可以是raw和qcow2模式,生成的差分磁盘必须是qcow2格式。
qemu-img create -f qcow2 \
-o backing_file=Base_CentOS7.qcow2 \
oa-disk0.qcow2
参数-o backing_file 表示母盘信息

5、使用链接克隆创建虚拟机

创建虚拟机时,使用--import选项可以由差分盘创建虚拟机
virsh-install --name oa \
--import \
--network network=default \
--disk /vm/erp_disk0.qcow2 \
--vcpus 1 --memory 512 \
--graphics vnc,listen=0.0.0.0 

6、转换磁盘格式

qemu-img convert [-f fmt][-O output_fmt] [-o options] [-s snapshot_name] [-S sparse_size] filename [filename2 [...]] output_filename
如果-O output_fmt不写,默认是raw模式
qemu-img convert my-vmware.vmdk my-kvm-img
可以输入-O qcow2,转为qcow2g格式
qemu-img convert -O qcow2 rhel6u3.img rhel6u3-a.img 

7、调整虚拟磁盘大小

qemu-img resize [-q] filename [+ | -]size
操作之前需要做好文件的备份。
增加虚拟磁盘大小后,需要在Guest OS中使用fdisk、parted等工具才能使用增加的磁盘空间
缩小磁盘前,要保证Guest OS中文件系统有空余空间,否则数据会丢失
qcow2无法进行磁盘缩小
为链接克隆的磁盘增加5G
qemu-img info oa_disk0.qcow2 +5G 

8、查看Guset OS的虚拟磁盘

virsh domblklist  <domain>

评论

热门博文