PS:在创建虚拟机之前,需要先创建一个存储池.存储池(Storage pools)是在宿主机上放置虚拟机的存储位置,可以是本地的,也可以是网络存储,具体的虚拟机实例放置在卷(Volume)上
-
存储池
存储池(Storage pools)是在宿主机上放置虚拟机虚拟磁盘的存储位置,默认的存储是在/var/lib/libvirt/images目录下,由于对硬盘和虚拟磁盘大小的空间规划,一般在/home/kvm/images目录或规划的目录下集中存放虚拟机的虚拟磁盘方便管理,操作存储卷的命令行是virsh
-
建立存储池目录
#创建目录 [root@local ~]# mkdir -p /home/kvm/images; #更改目录的所有者,并设置权限 [root@local ~]# chown root:root /home/kvm/images; [root@local ~]# chmod 755 /home/kvm/images; #命令合并 mkdir -p /home/kvm/images;chown root:root /home/kvm/images;chmod 755 /home/kvm/images;
-
创建存储池
#定义一个存储池绑定目录 [root@local ~]# virsh pool-define-as StoragePool --type dir --target /home/kvm/images; #建立基于文件夹的存储池 [root@local ~]# virsh pool-build StoragePool; #激活StoragePool [root@local ~]# virsh pool-start StoragePool; #存储池开机自动运行,使用virsh pool-autostart [root@local ~]# virsh pool-autostart StoragePool; #命令合并 virsh pool-define-as StoragePool --type dir --target /home/kvm/images;virsh pool-build StoragePool;virsh pool-start StoragePool;virsh pool-autostart StoragePool;
virsh pool-create-as –name vmware_pool –type dir –target /virhost/vmware
创建存储池vmware_pool,类型为文件目录,/virhost/vmware,与pool-define-as结果一样 -
验证查看存储池信息
[root@local ~]# virsh pool-info StoragePool; [root@local images]# virsh pool-info StoragePool; Name: StoragePool UUID: c4ec5344-7b45-397d-e4ce-c11687160498 State: running #激活状态 Persistent: yes Autostart: yes Capacity: 166.92 GiB #容量 Allocation: 59.39 MiB #分配 Available: 166.86 GiB #可用
-
查看创建的所有存储池
[root@local images]# virsh pool-list Name State Autostart ----------------------------------------- boot-scratch active yes default active yes StoragePool active yes
-
StoragePool存储池中创建一个卷,这个卷是用来做虚拟机的硬盘
[root@local ~]# virsh vol-create-as --pool StoragePool --name node6.img --capacity 10G --allocation 1G --format qcow2 #创建卷 node6.img,所在存储池为vmware_pool,容量10G,初始分配1G,文件格式类型qcow2 [root@local ~]# virsh vol-info /home/kvm/images/node6.img #查看卷信息名称: node6.img类型: 文件容量: 10.00 GB分配: 136.00 KB