本文系统 centos 6.5 x64

KVM平台以存储池的形式对存储进行统一管理,所谓存储池可以理解为本地目录、通过远端磁盘阵列(iSCSI、NFS)分配过来磁盘或目录,当然也支持各类分布式文件系统。

通过virsh中pool命令能够查看、创建、激活、注册、删除存储池。

注1:KVM存储池主要是体现一种管理方式,可以通过挂载存储目录,lvm逻辑卷的方式创建存储池,虚拟机存储卷创建完成后,剩下的操作与无存储卷的方式无任何区别了。
注2:KVM存储池也要用于虚拟机迁移任务。


此例使用本地目录创建存储池

1、创建目录、用于创建存储池

[root@Aries /]# mkdir /data/vmdisk

2、定义存储池

[root@Aries /]# virsh pool-define-as vmStoragePool --type dir --target /data/vmdisk/
定义池 vmStoragePool

3、生成存储池

[root@Aries /]# virsh pool-build vmStoragePool
构建池 vmStoragePool

wKiom1XevfSQghHJAADg3ItYVXU891.jpg

4、激活存储池并设置自动启动

[root@Aries /]# virsh pool-start vmStoragePool

[root@Aries /]# virsh pool-autostart vmStoragePool

kvm(十)虚拟机存储池_第1张图片

5、在存储池中创建虚拟磁盘空间 (存储卷)

[root@Aries vmdisk]# virsh vol-create-as vmStoragePool vmtest.qcow2 6G --format qcow2


kvm(十)虚拟机存储池_第2张图片

6、创建虚拟机,将存储空间指向上面的磁盘空间 (存储卷)

virt-install --name=vmtest --os-variant=RHEL6  --ram 512 --vcpus=1 --disk path=/data/vmdisk/vmtest.qcow2,format=qcow2,size=6,bus=virtio --accelerate --cdrom=/iso/CentOS-6.5-x86_64-bin-DVD1.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole

wKioL1XgCijz9e81AAGS8aW5SUc827.jpg

7、存储池的其他管理命令

      在存储池中删除存储空间 (存储卷)

[root@Aries vmdisk]# virsh vol-delete --pool vmStoragePool vmtest.qcow2

kvm(十)虚拟机存储池_第3张图片

    取消激活存储池 

[root@Aries vmdisk]# virsh pool-destroy vmStoragePool

kvm(十)虚拟机存储池_第4张图片

   删除存储池使用的定义目录

[root@Aries vmdisk]# virsh pool-delete vmStoragePool

kvm(十)虚拟机存储池_第5张图片

重点是 vmdisk 目录不见了  

取消定义存储池

[root@Aries data]# virsh pool-undefine vmStoragePool

kvm(十)虚拟机存储池_第6张图片