存储池
存储池是一个由libvirt管理的文件、目录或存储设备,提供给虚拟机使用。存储池被
分为存储卷,这些存储卷保存虚拟镜像或连接到虚拟机作为附加存储。libvirt通过存储池
的形式对存储进行统一管理、简化操作
1.dir:基于目录创建存储池
创建目录:/kvm-vm/dirpool
进入vish
创建基于目录存储池
命令格式:pool-define-as 池名称 池格式 目标路径
pool-define-as dirpool dir --target /kvm-vm/dirpool/
构建池:
pool-build dirpool
启动池:
pool-start dirpool
开机自启动:
pool-autostart dirpool
pool-list --all
Name State Autostart
-------------------------------------------
default active yes
dirpool active yes
iso active yes
vm active yes
2.logical:创建基于分区的池
##创建分区:
pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.
vgcreate dirpool /dev/sdb
Volume group "dirpool" successfully created
##创建池
命令格式: pool-define-as 池名称 池类型 lvs源 目标路径
pool-define-as vgpool logical --source-name dirpool --target /dev/dirpoolPool vgpool defined
##启动(不需要构建)
pool-start vgpool
Pool vgpool started
pool-autostart vgpool
Pool vgpool marked as autostarted
3.netfs:基于nfs
##准备一台机子做nfs服务器
##kvm与nfs安装所需包
yum install rpcbind nfs-utils -y
##关闭防火墙
##kvm与nfs启动rpcbind
systemctl start rpcbind
##nfs创建分区
pvcreate /dev/sdb
vgcreate nfsvg /dev/sdb
lvcreate -n nfslv1 -l 5119 nfsvg
mkfs.xfs /dev/nfsvg/nfslv1
mkdir /mnt/nfs
mount /dev/nfsvg/nfslv1 /mnt/nfs/
vim /etc/exports
/mnt/nfs * (rw,sync,no_root_squash)
systemctl restart rpcbind
systemctl start nfs-server
创建池
命令格式:pool-define-as 池名称 池类型 源主机 源路径 目标路径
pool-define-as nfspool netfs --source-host 192.168.1.20 --source-path /mnt/nfs --target /kvm-vm/nfspool/
pool-build nfspool
pool-start nfspool
pool-autostart nfspool
##注:自动挂载
存储卷
1.创建基于目录池的卷
pool-autostart nfspool
vol-list dirpool
Name Path
------------------------------------------------------------------------------
dirvm1.qcow2 /kvm-vm/dirpool/dirvm1.qcow2
cd /kvm-vm/dirpool/
ls
dirvm1.qcow2
2.基于lvm
vol-create-as vgpool vgvm1 8G
lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root cl -wi-ao---- <26.00g
swap cl -wi-ao---- 3.00g
vgvm1 dirpool -wi-a----- 8.00g
3.创建基于nfs的卷
vol-create-as nfspool nfsvm1.qcow2 8G --format qcow2
Vol nfsvm1.qcow2 created
##nfs服务器
ls /mnt/nfs/
nfsvm1.qcow2