KVM存储池管理与磁盘格式
KVM必须配置一个目录作为存储磁盘镜像(存储卷)的目录,我们称这个目录为存储池
存储池管理
默认存储池
/var/lib/libvirt/images/
- 创建基于文件夹的存储池(目录)
mkdir -p /data/vmfs
- 定义存储池与其目录
[root@server-d ~]# virsh pool-define-as vmdisk --type dir --target /data/vmfs
定义池 vmdisk
将这个目录定义成名为vmdisk的存储池
- 创建已经定义的存储池
[root@server-d ~]# virsh pool-build vmdisk
构建池 vmdisk
查看存储池
[root@server-d ~]# virsh pool-list --all
名称 状态 自动开始
-------------------------------------------
default 活动 是
root 活动 是
vmdisk 不活跃 否
- 激活并自动启动已经定义的存储池
[root@server-d ~]# virsh pool-start vmdisk
池 vmdisk 已启动
[root@server-d ~]# virsh pool-autostart vmdisk
池 vmdisk 标记为自动启动
[root@server-d ~]# virsh pool-list --all
名称 状态 自动开始
-------------------------------------------
default 活动 是
root 活动 是
vmdisk 活动 是
- 在存储池中创建虚拟机存储卷
[root@server-d ~]# virsh vol-create-as vmdisk tmpfile.qcow2 3G --format qcow2
创建卷 tmpfile.qcow2
- 存储池相关命令
在存储池中删除存储卷
[root@server-d ~]# virsh vol-delete --pool vmdisk tmpfile.qcow2
卷 tmpfile.qcow2 被删除
取消激活存储卷
[root@server-d ~]# virsh pool-destroy vmdisk
销毁池 vmdisk
删除存储池定义的目录文件
[root@server-d ~]# virsh pool-delete vmdisk
池 vmdisk 被删除
取消定义存储池
[root@server-d ~]# virsh pool-undefine vmdisk
池 vmdisk 已经被取消定义
磁盘格式
磁盘镜像文件格式
-
raw 原始格式,性能最好
-
qcow2 性能上不如raw,但raw不支持快照,qcow2支持快照
-
默认安装好raw格式,做快照要变成qcow2格式
-
什么叫写时拷贝
raw立刻分配空间,不管你有没有用到那么多空间
qcow2只承诺给你分配空间,只有你需要用的时候,才会给你空间。最多给你承诺空间的大小,避免浪费
KVM架构:
创建磁盘文件
这里我创建了一个临时工作目录,用来测试命令
[root@server-d ~]# mkdir tmp-work
[root@server-d ~]# cd tmp-work
建立raw格式磁盘文件和qcow2文件并查看信息
创建qcow2文件
[root@server-d tmp-work]# qemu-img create -f qcow2 file1.qcow2 3G
Formatting 'file1.qcow2', fmt=qcow2 size=3221225472 encryption=off cluster_size=65536 lazy_refcounts=off
创建raw文件
[root@server-d tmp-work]# qemu-img create -f raw file2.raw 3G
Formatting 'file2.raw', fmt=raw size=3221225472
查看信息
[root@server-d tmp-work]# qemu-img info file1.qcow2
image: file1.qcow2
file format: qcow2
virtual size: 3.0G (3221225472 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
[root@server-d tmp-work]# qemu-img info file2.raw
image: file2.raw
file format: raw
virtual size: 3.0G (3221225472 bytes)
disk size: 0
- raw直接分配空间,大小3G,而qcow2并不是,只有196k