linux磁盘配额和LVM

241 阅读5分钟

一、LVM概述

■ Logical Volume Manager 逻辑卷管理

能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性

/boot分区用于存放引导文件,不能基于LVM创建

二.LVM机制的基本概念

PV (Physical Volume, 物理卷)

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

VG (Volume Group, 卷组)

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

LV (Logical Volume, 逻辑卷)

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

image

三、LVM的管理命令

1、主要命令

功能物理卷管理卷组管理逻辑卷管理
Scan扫描pvscanvgscanlvscan
Create建立pvcreatevgcreatelvcreate
Display显示pvdisplayvgdisplaylvdisplay
Remove删除pvremovevgremovelvremove
Extend扩展vgextendlvextend
Reduce减少vgreducelvreduce

2、LVM逻辑卷操作流程

① 关闭主机,添加两块新硬盘,重启主机 ② 先使用fdisk工具将磁盘设备/dev/sdb、 /dev/sdc划分出主分区sdb1、sdc1, 并且把分区类型的ID标记号改为“8e" fdisk /dev/ sdb fdisk /dev/ sdc

③ 创建物理卷 pvcreate /dev/sd[bc]1

④ 创建卷组,卷组名为vgname1 vgcreate abc /dev/sd[bc]1

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

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

⑦ 再扩容 vgextend abc /dev/sdc2

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

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

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

四、磁盘配额概述

1、实现磁盘限额的条件

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

2、Linux磁盘限额的特点

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

image

3、磁盘配额流程

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

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

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

五、CentOS7中设置磁盘配额步骤:

1、检查是否已安装xfsprogs和xfs_quota软件包

rpm -q xfsprogs quota
yum install -y xfsprogs quota

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

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

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

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 bsoft=80M bhard=100M zhangsan' /opt/
​
#仅限制文件数
xfs_ quota -x -c 'limit -u isoft=4 ihard=5 zhangsan' /opt/
​
#查看zhangsan磁盘容量限制
xfs_ quota -C 'quota -uv zhangsan' /opt/
​
#查看zhangsan文件数限制
xfs quota -C 'quota -i -uv zhangsan' /opt/

-x: 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用 -c: 表示直接调用管理命令 -u: 指定用户账号对象 -g: 指定组账号对象 -p: 指定某目录

bsoft: 设置磁盘容量的软限制数值(默认单位为KB) bhard: 设置磁盘容量的硬限制数值(默认单位为KB) isoft: 设置磁盘文件数的软限制数值 ihard: 设置磁盘文件数的硬限制数值

4、验证磁盘配额功能

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

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

“if=" 指定输入设备(或文件) "of=” 指定输出设备(或文件) “bs=” 指定读取数据块的大小 “count=” 指定读取数据块的数量 /dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一-个特定大小的文件

5、查看磁盘配额使用情况

#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -X -C 'report -a'#查看磁盘容量和文件数的报告
xfs_quota-X -C  'report -abih'

课后练习