前言
LVM是Linux系统中对磁盘分区进行管理的一种逻辑机制,他是建立在硬盘和分区之上,文件系统之下的一个逻辑层,在建立文件系统时屏蔽了下层磁盘分区布局,能够保持现有数据不变的情况下动态地调整磁盘容量,从而提高磁盘管理的灵活性。
Tips:“/boot”分区不能基于LVM创建,必须独立。
我们可以通过转换物理卷,创建卷组与逻辑卷来实现LVM逻辑卷管理磁盘空间的实际应用。
实验环境
VMware 14 pro ,CentOS 7操作系统。
实验步骤
1.关闭虚拟机,在设置中添加三块SCSI新硬盘,然后启动CentOS 7。
如图所示:
进入系统之后查看三块已经添加的磁盘:cd /dev; ls
如图所示:
2.对磁盘进行分区操作
创建分区:fisk /dev/sdb
按n创建一个新分区,再按主分区,后面一直按回车键。最后按p查看,sdb1建立完成
如图所示:
下面按t转换格式
参数设为:8e
如图所示
按p查看,已转换为LVM逻辑卷了
后面以此类推将sdc与sdd按此步骤操作即可完成第一步。
3.创建物理卷PV
创建物理卷:pvcreate /dev/sd{b..d}1
或pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
,创建完成之后用***pvscan***命令查看。
如图所示:
4.创建卷组VG
创建卷组:vgcreate Cauchy /dev/sd{b..d}1
。然后通过pvscan可以看到物理卷已经被应用,***vgdisplay***查看卷组信息。
如图所示:
Tips:此时其实并不能在/dev的目录下查看此卷组目录,因为现在并没有划分逻辑卷。
5.划分逻辑卷
划分逻辑卷:lvcreate -L(指定大小) -n(指定名称) mylv Cauchy(卷组名)
。此时再通过ls /dev
就可以看到卷组名了,并且在卷组目录中可以看到逻辑卷名字。
如图所示:
最后通过***lvdisplay***可以看到已经创建好的逻辑卷。
如图所示:
以此类推,我们可以创建多个逻辑卷。
6.扩展逻辑卷
那么问题来了,如果一个逻辑卷如果不够用如何扩展逻辑卷?可以使用***lvextend***进行扩展。具体方法如下:
lvextend -L +10G /dev/Cauchy/mylv
如图所示:
7.进行格式化
下面对已创建好的逻辑卷进行格式化:mkfs -t xfs /dev/Cauchy/mylv
如图所示:
8.创建挂载点与自动挂载
在/opt目录下创建挂载目录:mkdir /opt/mntCauchy
配置挂载文件,进行自动挂载:vim /etc/fstab
自动挂载:mount -a
实验结果
查看磁盘使用情况即可看到挂载成功:df -hT
如图所示:
实验成功!
实验总结及问题
通过本次实验我们基本学会了如何去实现LVM逻辑卷的创建与管理。但是现实环境中,我们可能会遇到如下问题,假设我们的逻辑卷已经装满,我们是否可以直接通过lvextend扩展呢?我们可以做如下这个小实验来验证。
进入目录:cd /opt/mntCauchy
通过shell创建若干个文件:
for i in `seq 1 100`
do echo $i >test$i.txt
done
假设已经装满,现在通过***lvextend***扩展:lvextend -L +5G /dev/Cauchy/mylv
添加是可以,但是并没有刷新。大小并没有发生变化。如果解挂再重新挂载也不会有变化:
umount /opt/mntCauchy
mount -a
此时我们需要用***xfs_growfs***来进行扩容:
xfs_growfs /dev/Cauchy/mylv
LVM扩容成功如图所示:
补充:LVM磁盘配额管理
1.查看虚拟机上有没有安装xfsprogs软件包:
rpm -qa | grep xfsprogs
rpm -ql xfsprogs | grep quota
安装成功如图所示:
2.关闭增强性安全功能(保证磁盘配置文件的写入):
setenforce 0
3.编辑 /etc/fstab文件添加usrquota和grpquota:
vim /dev/fstab
配置如图所示:
解挂:umount /opt/mntCauchy
重新挂载:mount -a
再用:mount查看
成功如图所示:
4.设置磁盘配额:
xfs_quota -x -c 'limit -u bsoft=50M bhard=80M isoft=4 ihard=7 chen' /opt/mntCauchy
5.修改chen对于opt/mntCauchy的权限:
chmod 777 /opt/mntCauchy
- 切换至chen用户,进行操作:
创建7个文件:
for i in `seq 1 7`
do echo $i >test$i.txt
done
如果再创建一个abc.txt,就会超出配额,结果如图所示:
配额硬数量限制实现成功
将/dev/zero中的文件写入到test1里(总共50M):
dd if=/dev/zero of=/opt/mntCauchy/test1.txt bs=1M count=50
再将/dev/zero中的文件写入到test2里(总共50M),就会超出配额,结果如图所示:
dd if=/dev/zero of=/opt/mntCauchy/test2.txt bs=1M count=50
Tips:虽然会超出配额,但是原本预设的80M还是会写入30M。
结论:数量和容量只要有一个超出,另外一个也没法操作。
7.查看配额使用情况:
xfs_quota -x -c 'report -aib' /opt/mntCauchy