LVM概述

逻辑卷管理 Logical Volume Manager

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

    LVM机制的基本概念

    PE(Physical Extend)

  • 卷的最小单位,默认4M大小,就像我们的数据是以页的形式存储一样,卷就是以PE的形式存储

    PV (Physical Volume, 物理卷)

  • 物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷

    VG (Volume Group, 卷组)

  • 由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷

    LV (Logical Volume, 逻辑卷)

  • 从卷组中分割出的一块空间,形成逻辑卷。使用mkfs 等工具可在逻辑卷上创建文件系统

LVM管理命令

::: hljs-center

功能 物理卷管理 卷组管理 逻辑卷管理
Scan扫描 pvscan vgscan lvscan
Create建立 pvcreate vgcreate 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"
fdisk /dev/ sdb
fdisk /dev/ sdc

3.创建物理卷
pvcreate /dev/ sdb1 /dev/ sdc1

4.创建卷组,卷组名为vgname1
vgcreate vgname1 /dev/ sdb1 /dev/ sdc1

5.创建逻辑卷,逻辑卷名为lvname1, 容量为20GB, 生成的文件路径为/dev/ vgnamel/ lvname1
lvcreate -L 20G -n 1 vname1 vgname1

6.对逻辑卷进行格式化,创建XFS文件系统,并挂载到/xxx目录下
mkfs -t xfs /dev/ vgname1/ lvname1
mount /dev/ vgname1/ lvname1 /xxx
df -hT

7.再扩容
vgextend vgname1 / dev/ sdc2

lvextend -L +10G /dev/vgname1/ lvname1

xfs growfs /dev/ vgname1 / lvname 1    刷新xfs文件系统容量

resize2fs / dev/vgname 1/ lvname1      刷新ext4类型文件系统容量

21.png

22.png

23.png

24.png

25.png

26.png

27.png

28.png

29.png

30.png


磁盘配额概述

实现磁盘配额的条件

  • 需要Linux内核支持
  • 安装xfsprogs与quota软件包

    Linux磁盘限额的特点

  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:用户账号、组账号
  • 限制类型:磁盘容量、文件数量
  • 限制方法:软限制、硬限制

1.硬限制:是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制

2.软限制:是指用户可以在一定时间范围内(默认时间为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间.如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源

磁盘配额流程

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

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

• 在Centos系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_ quota工具进行管理;EXT3/4文件系统通过quota工具进行管理
14.png🐱‍👤

CentOS7中设置磁盘配额步骤:

1.检查是否安装xfsprogs和xfs_quota

rpm -q xfsprogs quota
yum install -y xfsprogs quota

2.以支持配额功能的方式挂载文件系统

umount / dev/ vgname1/ lvname1
#有挂的先解挂
mount -o usrquota, grpquota /dev/vgname1/ lvname1  /opt
#添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持
或者
vim /etc/ fstab
/dev/vgname1/lvname1 /opt xfs defaults, usrquota, grpquota 0 0
umount /dev/vgname/lvname1
#自动挂载配置
mount- a       #-a选项,将/etc/ fstab的所有内容重新加载

3.编辑用户和组账号的配额设置

  • -x: 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
  • -c: 表示直接调用管理命令
  • -u: 指定用户账号对象
  • -g: 指定组账号对象
  • -p: 指定某目录
    🐱‍💻
  • bsoft: 设置磁盘容量的软限制数值(默认单位为KB)
  • bhard: 设置磁盘容量的硬限制数值(默认单位为KB)
  • isoft: 设置磁盘文件数的软限制数值
  • ihard: 设置磁盘文件数的硬限制数值
    
    useradd zhangsan 
    passwd zhangsan
    xfs_ quota -x -c ' limit -u bsoft=80M bhard=10QM isoft=40 ihard=50 zhangsan' /opt/
    #仅限制磁盘容量
    xfs quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /opt/
    #仅限制文件数

xfs_ quota -C ' quota -uv zhangsan' /opt/ #查看zhangsan磁盘容量限制
xfs quota -C 'quota -i -uv zhangsan' /opt/ #查看zhangsan文件数限制

### 4.验证磁盘配额功能
+ dd 命令是一个设备转换和连续复制命令
+ “if=" 指定输入设备(或文件)
+ “of=” 指定输出设备(或文件)
+ “bs=” 指定读取数据块的大小
+ “count=” 指定读取数据块的数量
+ /dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一-个特定大小的文件

chmod 777 /opt #给权限

su zhangsan
cd /opt
#验证磁盘容量超限
dd if=/dev/ zero of=/opt/ddtest. txt bs=10M count=12

#验证磁盘文件数超限
touch {aa,bb, cc,dd,ee, ff} . txt

### 5.查看磁盘配额使用情况

#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -X -C ' report -a'

#查看磁盘容量和文件数的报告
xfs_quota-X -C 'report -abih '

### 6.停止配额

xfs_quota -x -c 'off -u' /配额的目录
xfs_quota -x -c 'off -g' /配额的目录
xfs_quota -x -c 'off -p' /配额的目录

### 7.删除配额

xfs_quota -x -c 'remove -u' /配额目录
xfs_quota -x -c 'remove -g' /配额目录
xfs_quota -x -c 'remove -p' /配额目录

*****
补充

磁盘容量使用情况: df -h 或 df -i

磁盘的IO使用情况: iotop ; atop
%iowait:值过高,表示硬盘的IO不够用了,出现瓶颈
%idle: 值高的话,表示cpu比较空闲
值高但系统响应慢,可能是cpu在等待分配内存。可能此时内存不够用,需要加大内存容量或释放缓存。
值持续低于10,肯能cpu处理能力变低了,需加大cpu性能,或排查有无大量占用cpu使用率的进程。

内存使用情况: free [-m]


![41.png](https://s2.51cto.com/images/20211112/1636687193286153.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

![42.png](https://s2.51cto.com/images/20211112/1636687201306534.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

![43.png](https://s2.51cto.com/images/20211112/1636687209604373.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

![44.png](https://s2.51cto.com/images/20211112/1636687217556191.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

![45.png](https://s2.51cto.com/images/20211112/1636687224120589.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

![46.png](https://s2.51cto.com/images/20211112/1636687232486402.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

![47.png](https://s2.51cto.com/images/20211112/1636687240105303.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)