KVM学习(七)存储池

存储池是一种可以简化kvm存储管理的方法,它可以把服务器本地的,或者远程nfs,分布式文件系统,硬盘等组织在一起,来方便对于kvm环境下存储的管理。
存储池可以把多块硬盘资源池化使用,Libvirt可以以存储池的形式对存储进行统一管理,简化操作。

对虚拟机操作来说,存储池和卷不是必须的,管理员保证配置正确和连接即可。
目前我的环境有三个存储池
在这里插入图片描述
找到它们的配置文档
在这里插入图片描述
里面有一些参数,但是不建议直接改动XML,通过virsh pool-edit iso改动不会出异常。
在这里插入图片描述

virsh pool-edit iso

发现就是打开了一个vi
在这里插入图片描述
过一下存储池的操作

pool-list

在这里插入图片描述

pool-info

在这里插入图片描述

基于目录的存储池

准备一个目录,设置目录权限,配置目录的SELinux上下文,隔离虚拟机与虚拟机的操作。
在这里插入图片描述

semanage fcontext -a -t virt_image_t '/guest_images(/.*)?'

因为/guest_images这个目录是手工建立的,并不是系统默认目录,所以并没有默认安全上下文,需要我们手工设定。
这条命令会给/guest_images目录及目录下的所有内容设定默认安全上下文类型是virt_image_t
创建存储池也有两种方法:

通过virt-manager创建存储池

在这里插入图片描述
目标路径选择刚才的/guest_images
在这里插入图片描述
删除池的时候必须先停止池,加号右边有圆点停止,然后最右边delete,删掉这个池。

通过virsh创建存储池
virsh pool-define as guest_images dir --target "/guest_images"

在这里插入图片描述
启动起来
在这里插入图片描述
设置自动启用

virsh pool-autostart guest_images

在这里插入图片描述
在这里插入图片描述
这就是通过virsh来创建存储池
同样,删除池需要先停止池

virsh pool-destroy guest_images
virsh pool-delete guest_images

在这里插入图片描述

但是配置文件依然存在,所有要用undefine来清除

virsh pool-undefine guest_images

在这里插入图片描述

基于分区的存储池

libvirtd会自动mount分区
首先先给KVM1添加一块40G新硬盘
在这里插入图片描述
打开kvm1,分区,文件系统

fdisk /dev/sdc
mkfs.ext4  /dev/sdc1

然后通过virt-manager创建一个新的存储池,选择fs类型
在这里插入图片描述
源路径就是刚才的分区,目标路径可以理解为mount点,我的目录下现在是没有/guest_images_fs在这里插入图片描述
但是可以看到已经自动给mount了,如果重启,也会自动mount
在这里插入图片描述

实验:
如果这时在/guest_images_fs下新建一个文件,关掉libvirtd服务,
然后umount /guest_images_fs,此时/guest_images_fs下的文件已经无法访问。
这时再开启libvirtd服务,/guest_images_fs又可以访问了。

清空实验环境,删除掉存储池guest_images_fs
virsh的操作
在这里插入图片描述
如果直接start会提示mount点不存在
在这里插入图片描述
解决方法是先build池

virsh pool-build guest_imagesfs

然后就可以用了,清除实验环境。destroy,delete,undefine。

基于磁盘的存储池

先删除刚才sdc1的分区,fdisk /dev/sdc ,d是删除命令

然后仿照生产环境使用2T以上的磁盘,fdisk已经没法处理2T以上的分区了,换parted更改类型,用mklabel改成gpt
在这里插入图片描述
然后新建一个sdc.xml文件,标注好参数
在这里插入图片描述

virsh pool-define /tmp/sdc.xml

创建池完成,删除的时候发现不支持删除池,undefine就好。
在这里插入图片描述

基于LVM的存储池

fdisk /dev/sdc

新建一个分区,格式改成LVM
因为有gpt盘,这里不太一样
在这里插入图片描述
原来编号是8e,现在改成31,w写入后完成分区
用现有的vg创建池

pvcreate /dev/sdc1
vgcreate guest_lvm /dev/sdc1

打开virt-manager
在这里插入图片描述
由于用的是现有的vg,这里不需要build池,把刚才创建的guest_lvm写上去
在这里插入图片描述
这样就建好了一个LVM的存储池
清除实验环境
删除池,vg,pv,分区

vgremove guest_lvm
pvremove /dev/sdc1
fdisk /dev/sdc
d
w

下面通过virt-manager来添加一个lvm池
在这里插入图片描述
在这里插入图片描述
出现报错
在这里插入图片描述
估计是gpt不太支持。这里卡住,以后再解决。
命令行无影响
在这里插入图片描述

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值