存储池iSCSI的方式
1、查看存储池列表
virsh pool-list --all
2、创建一个iSCSI存储池
(1)预先创建好一个xml配置文件,假设文件名为/home/poolA,内容如下:(host为需要远程的物理机ip地址,device为iqn序列号)
<pool type='iscsi'>
<name>i_test</name>
<source>
<host name='192.168.0.71' port='3260'/>
<device path='iqn.2018-02.me.mibine:server.target1'/>
</source>
<target>
<path>/dev/disk/by-path</path>
</target>
</pool>
(2)在预配置好xml之后,执行如下命令:
virsh pool-define /home/poolA
3、启动存储池
virsh pool-start name(xml里面的name)(此时默认的状态是已经启动,但是并没有设置开机自启动)
4、是否要设置存储池开机自动启动
virsh pool-autostart name(设置开机自启动)
5、编辑存储池
virsh pool-edit name
6、删除存储池
virsh pool-delete name
注意:这里需要先将存储池状态改为inactive,执行virsh pool-destroy name即可。
存储池dir的方式
虚拟磁盘的存储位置,默认的存储是在/var/lib/libvirt/images,利用规划的目录下集中存放虚拟机的虚拟磁盘方便管理
1、创建基于文件夹的存储池
mkdir /home/data/kvm/vmfs
2、定义存储池于该目录
virsh pool-define-as vmdisk --type dir --target /home/data/kvm/vmfs/
3、创建已经创建的存储池
virsh pool-build vmdisk
4、查看存储池
virsh pool-list --all
5、查看池信息
virsh pool-info vmdisk
6、设置开机自启动并激活存储池
virsh pool-autostart vmdisk
virsh pool-start vmdisk
7、在这个存储池上,创建一个虚拟机存储卷
virsh vol-create-as vmdisk test.qcow2 20G --format qcow2
8、用创建好的磁盘装虚拟机
virt-install --name centos66 --ram 512 --disk path=/home/data/kvm/vmfs/test.qcow2 --vcpus 2 --os-type linux --os-variant rhel6 --network bridge=br0 --graphics none --console pty,target_type=serial --location 'ftp://192.168.0.244/cdrom' --extra-args 'console=ttyS0,115200n8 serial'(此处未验证过)
9、删除该存储池中的虚拟机存储卷
virsh pool-delete vmdisk test.qcow2
------------------------------------------------
vol卷 扩展(vmdisk == pool'name)
1、查看某个存储池下的所有卷
virsh vol-list vmdisk
2、删除某个存储池下的某个卷
virsh vol-delete test.qcow2 --pool vmdisk
3、查看某个存储池下的某个卷的xml信息
virsh vol-dumpxml test.qcow2 --pool vmdisk
4、查看某个存储池下的某个卷的详细信息
virsh vol-info test.qcow2 --pool vmdisk
小问题:
1、如果通过执行virsh pool-create xx.xml创建的存储池,创建完成之后,一些命令无法正常使用。(建议先define,再启动)
2、在删除存储池的时候,如果存储池里面有存储卷,需要先删除所有存储卷,才可以删除存储池。
3、在创建存储池和存储卷的时候均可以通过xml方式创建,具体xml格式创建一个demo进行模仿。