LVM概述

Logical Volume Manager,逻辑卷管理:能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性。/boot分区用于存放引导文件,不能基于LVM创建。

LVM机制的基本概念

PV(物理卷): 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留分区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。
VG(卷组): 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移动物理卷。
LV(逻辑卷): 从卷组中分割出的一块空间,形成逻辑卷。使用mkfs等工具可在逻辑卷上创建文件系统。

LVM的管理命令

主要命令

pvcreate 设备名1 [设备名2] ...

vgcreate 卷组名 物理卷名1 物理卷名2

lvcreate -L 容量大小 -n 逻辑卷名 卷组名

lvextend -L +大小 /dev/卷组名/逻辑卷名

功能 PV管理 卷组管理 逻辑卷管理
Scan扫描 pvscan vgscan lvscan
Create建立 pvcreate vgcraeate lvcreate
Display显示 pvdisplay vgdisplay lvdisplay
Remove删除 pvremove vgremove lvremove
Extend扩展 -------- vgextend lvextend
Reduce减少 ------- vgreduce lvreduce

LVM操作主要命令步骤

1、关闭主机,添加两块新硬盘,重启主机。
2、先使用fdisk工具将磁盘设备/dev/sdb、/dev/sdc划分出主要分区sdb1、sdc1,并且把分区类型的id标记号改为"8e"。
3、创建物理卷
pvcreate /dev/sdb1 /dev/sdc1
4、创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/sdb1 /dev/sdc1
5、创建逻辑卷,逻辑卷名为vname1,容量为20GB,生成的文件路径 为/dev/vgname1/lvname1
lvcreate -L 20G -n lvname1 vgname1
6、对逻辑卷进行格式化,创建XFS文件系统,并挂载到/opt目录下
mkfs /dev/vgname1/lvname1 /opt
7再扩容
vgextend vgname1 /dev/sdc2
lvextend -L +10G /dev/vgname1/lvname1
xfs_growfs /dev/vgname1/lvname1 //刷新xfs文件系统容量
resize2fs /dev/vgname


配置步骤:

在虚拟机中添加三块新的大小为20G的硬盘然后实现下面的步骤,如图所示:
查看新加3块硬盘.jpg


三个新磁盘都改为LVM:
创建LVM.jpg


查看所有LVM.jpg


创建物理卷.jpg


创建逻辑卷.jpg


格式化逻辑卷.jpg


挂载逻辑卷.jpg


增加逻辑卷.jpg


刷新.jpg


容量扩展了之前的文件目录都在.jpg


磁盘配额概述

当LINUX根分区的磁盘空间耗尽时,LINUX操作系统将无法再建立新的文件,同时也可能会出现服务器程序崩溃、系统无法启动等故障。

为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。

在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_quota工具进行管理。EXT3/4文件系统通过quota工具进行管理。

实现磁盘限额的条件

1、需要LINUX内核支持
2、安装xfsprogs与quota软件包

LINUX磁盘限额的特点

1、作用范围:针对指定的文件系统(分区)
2、限制对象:用户账户、组账号
3、限制类型:磁盘容量、文件数量
4、限制方法:软限制(预警)、硬限制(使用的容量大小)

CentOS中设置磁盘配额步骤

1、检查是否已安装xfsprogs与quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota ==//yum安装工具包==
2、以支持配额功能的方式挂载文件系统
umount /dev/vgname1/lvname1
mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt ==//添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持==
或者
vim /etc/fstab ==//在fstab中设置下面命令,永久挂载==
/dev/vgname1/lvname1 /opt xfs defaults,usrquota,grpquota 0 0
umount /dev/vgname1/lvname1
mount -a ==//-a选项,将/etc/fstab的所有内容重新加载==
3、编辑用户和组账号的配额设置
useradd zhangsan /==/添加一个普通用户并激活==
passwd zhangsan
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=10 ihard=15 zhangsan' /opt/
==//设置限制条件并指定目录和账户名称==

常用选项的注释:
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账户对象
-g:指定组账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。

仅限制磁盘容量的命令
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M zhangsan' /opt/
仅限制文件数的命令
xfs_quoua -c 'quota -u isoft=4 ihard=5 zhangsan' /opt
查看zhangsan磁盘容量限制的命令
xfs_quota -c 'quota -uv zhangsan' /opt/
查看zhangsan 文件数限制
xfs_quota -c 'quota -i -uv zhangsan' /opt/
4、验证磁盘配额功能
chmod 777 /opt
su zhangsan
cd /opt
验证磁盘容量限超限
dd if=/dev/zero of=/opt/ddest.txt bs=10M count=12
dd命令时一个设备转换和连续复制命令、"if="指定输入设备(或文件)、"of="指定输出设备(或文件)、"bs="指定读取数据的大小、"count="指定读取数据块的数量、/dev/zero“零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
验证磁盘文件数超限
touch {aa,bb,cc,dd,ee,ff}.txt
5、查看配额使用情况
查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -a'
查看磁盘容量和文件数的报告
xfs_quota -x -c 'report -abih'
以支持配额功能的方式挂载文件系统
编辑用户和组账号的配额设置
验证磁盘配额功能
查看磁盘配额使用情况
//检测磁盘是否损坏
badblocks -sv /dev/sda1

磁盘容量的使用情况

iostat ==//系统自带的查询工具==
%iowait CPU等待输入输出完成时间的百分比,值过高代表硬盘的IO不够用了,出现了瓶颈。
%idle:CPU空闲时间百分比,值高的话,表示cpu很空闲,值高但是系统响应慢,可能是CPU在等待分配内存可能是此时的内存不够用,需要加大内存容量或者释放缓存。值持续低于10,可能是cpu的处理能力变低了,需要加大CPU性能,或者排查有无大量占用CPU使用率的进程。
内存的使用率情况
free [-m] 查看
查看系统中哪个磁盘或分区最繁忙
iostat -d -k -p /dev/sda
-d 仅显示磁盘统计信息
-k 以 K 为单位显示每秒的磁盘请求数,默认单位块
-p device | ALL 用于显示块设备及系统分区的统计信息


用moun查看磁盘限额.jpg


设置永久挂载.jpg


验证前的准备.jpg


验证上限.jpg