LVM与磁盘配额

目录

  • LVM概述
  • 管理LVM
  • LVM应用推荐步骤
  • 设置磁盘配额
  • CentOS7中设置磁盘配额详细步骤

LVM概述

PV(Physical Volume,物理卷)

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

VG (Volume Group,卷组)

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

LV(Logical Volume,逻辑卷)

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

 

管理LVM

常用的LVM管理命令

 

LVM应用推荐步骤

首先创建相应的磁盘分区,将其ID设置为8e,(8e为Linux LVM),保存退出即可

 

第一步:将某个磁盘或多个磁盘设置为物理卷

格式:pvcreate 设备名1[设备名2 ..........](可以使用通配符加入多个设备)

可以使用‘pvdisplay’查看一下

例如:pvcreate /dev/sd[bc]1

 

第二步:创建卷组,将设置的物理卷添加进去

格式:vgcreate 卷组名 物理卷名1 物理卷名2

例如:vgcreate abc /dev/sd[bc]1

 

配置完之后可以检查一下vgdisplay 卷组名

 

第三步:从卷组中创建逻辑卷

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

例如: lvcreate -L 20G -n abc001 abc

检查一下是否生效 lvdispkay

 

*再扩容

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

例如:lvextend -L +10G /dev/abc/abc001

*如果不加‘+’号就是指定容量大小

选项:-l 指定PE个数

           -L 指定容量

 

如果未生效可以使用刷新命令

命令:xfs_growfs /dev/卷组名/逻辑卷名——刷新xfs文件系统容量

           resize2fs /dev/卷组名/逻辑卷名——刷新ext4文件系统容量

*必须全部设置完之后再格式化磁盘,最后按照挂载命令到相应目录进行查看读写执行

 

设置磁盘配额

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

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

 

实现磁盘限额的条件

需要Linux内核支持

安装xfsprogs与quota软件包

 

Linux 磁盘限额的特点

作用范围∶ 针对指定的文件系统(分区)

限制对象∶ 用户帐号、组帐号

限制类型∶ 磁盘容量、文件数量

限制方法∶ 软限制、硬限制(达到软限制系统会发出一定的预警提示,硬限制直接中断执行)

 

配置思路:

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

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

验证磁盘配额功能

查看磁盘配额使用情况

 

CentOS7中设置磁盘配额详细步骤

1.检查是否已安装xfsprogs和xfs_quota软件包,如果没有可使用一下两者方法安装一下

安装:rpm -q xfsprogs quota

           yum install -y xfsprogs quota

 

 

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

格式:mount -o usrquotagrpquota 存储设备 挂载点目录

例如: mount -o usrquota,grpquota /dev/mapper/abc-abc001 /opt

添加挂载参数“usrquota, grpquota”用于增加对用户、组配额功能的支持

或者添加到自动挂载

例如:vim /etc/fstab

/dev/mapper/abc-abc001 /opt xfs defaults,usrquota,grpquota 0 0

 

可以查看 到已经挂载完成

 

但是我们使用mount 直接查看所有挂载目录的参数,可以虽然挂载了但不支持配额,需要重启一下才能生效

 

 所以这里建议使用自动挂载,因为mount挂载是临时的重启就会失效

 

查看参数配置生效

 

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

例如:设置名为EEE的用户

xfs_quota -xc 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 EEE'/opt/

*/opt为指定磁盘配额的分区

常用选项

-x∶ 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用

-c∶ 表示直接调用管理命令

-u∶ 指定用户账号对象

-g∶ 指定组账号对象

bsoft∶ 设置磁盘容量的软限制数值(默认单位为 KB

bhard∶ 设置磁盘容量的硬限制数值 (默认单位为 KB

isoft∶设置磁盘文件数的软限制数值

ihard∶设置磁盘文件数的硬限制数值

 

仅限制磁盘容量

xfs_quota -x -c 'limit -u bsoft=80M bhard=100M EEE' /opt/

仅限制文件数

xfs_quota-x -c 'limit -u isoft=4 ihard=5 EEE' /opt/

查看 EEE 磁盘容量限制

xfs_quota -c 'quota -uv EEE' /opt/

查看EEE 文件数限制

xfs_quota -c 'quota -iuv EEE' /opt/

 

这里将磁盘容量限制和文件数限制都进行了配置,并且可以查看一下是否配置完成

 

 

4.验证磁盘配额功能

chmod 777 /opt  #要给目录相应普通用户的权限

Su EEE    #需要进入EEE限制配额的用户

cd /opt  #进入磁盘配额的目录

给予文件相应的权限准备进行测试

 

 

验证磁盘容量超限

例如:dd if=/dev/zero of=/opt/ddtest.txt bs=10M count=12

dd 命令是一个设备转换和连续复制命令

"if=" 指定输入设备(或文件)

"of="指定输出设备(或文件)

"bs="指定读取数据块的大小,一次输出多大

"count=" 指定读取数据块的数量,输出多少次

/dev/zero"零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。

 

可以看出写入120M的字符但是因为超出了限额只写进去了100M其余已经无法写入

 

 

验证磁盘文件数超限,要清空之前验证的磁盘容量,不然限制满了无法加载

例如:touch {a..z}.txt

 

因为限制了文件数量最多为10所以无法再创建第11和12文件

 

5、查看配额使用情况,在root用户下进行

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

查看磁盘容量和文件数的报告 xfs_quota -x -c 'report -abih'

 

磁盘容量限制后查看配额情况

 

 

文件数限制后查看配额情况

 

posted @ 2021-04-02 20:10  D-LXT  阅读(113)  评论(0编辑  收藏  举报