1、在创建虚拟机之前,需要先创建一个存储池,存储池(Storage pools)是放置虚拟机的存储位置,可以是本地的,也可以是网络存储,具体的虚拟机实例是放置在卷(Volume)上,操作存储卷的命令行是virsh。下面的过程为开始创建


1.1、创建一个文件夹,等会用来存储虚拟机用

#mkdir virtual_machine


1.2、定义一个存储池(注意:kvm_images这个名字是自定义的名称)

#virsh pool-define-as kvm_images --type dir --target /datapool/virtual_machine/


1.3、查看创建后的存储池,此时,刚创建的存储池属于未激活状态
#virsh pool-list --all


1.4、建立基于文件夹的存储池(也就是说激活刚才定义的存储池,名称为kvm_images,而且定义的的实际路径是/datapool/virtual_machine)
#virsh pool-build  kvm_images


1.5、使存储池生效(激活存储池)

#virsh pool-start kvm_images


1.6、这时候,存储池还不是自动运行,( 让它自动运行,才可以正常使用)

#virsh pool-autostart kvm_images


1.7、验证存储池

#virsh pool-info kvm_images
名称:       kvm_images
UUID:           c80b654a-79a6-4855-a937-acdaeb5abf50
状态:       running
持久:       是
自动启动: 是
容量:       189.96 GiB
分配:       6.35 GiB
可用:       183.61 GiB


2、创建了存储池后,就可以创建一个虚拟硬盘文件,这个虚拟硬盘文件就是是用来做虚拟机的硬盘

virsh vol-create-as  kvm_images vm01.qcow2 20G --format qcow2


3、创建完虚拟硬盘后,就可以创建一台虚拟机,并且修改虚拟机的配置文件,将磁盘指向创建好的qcow2磁盘格式的虚拟硬盘文件


4、需要注意的问题

1、如果是ubuntu环境,用apt-get安装的KVM环境,那么定义的存储池后,存储池的相关配置文件是在/etc/libvirt/storage 的路径

2、路径下的kvm_images.xml文件为存储的XML配置文件文件,千万可别误删除了

3、还有,路径下的autostart目录下也有一个kvm_images.xml配置文件,这个文件是在执行了virsh pool-autostart kvm_images命令之后产生的。