LVM与磁盘配额
Logical Volume Manager
LVM概述
LVM逻辑卷管理
许多 Linux 操作系统的使用者在安装操作系统时都会遇到这样的困境:如何精确评估和 分配各个硬盘分区的容量。如果当初估计不准确,一旦系统分区不够用就可能不得不备份、 删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要
动态调整磁盘容量,从而提高磁盘管理的灵活性
/boot分区用于存放引导文件,不能基于LVM创建
图形界面管理工具
system-config-lvm
LVM机制的基本概念
PV(Physical Volume,物理卷)
物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录 LVM 的属性,并把存储空间分割成默认大小为 4MB 的基本单元(PE),从而构成物理卷。
VG(Volume Group,卷组)
由一个或多个物理卷组成一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷。
LV(Logical Volume,逻辑卷)
从卷组中分割出的一块空间,形成逻辑卷。使用 mkfs 等工具可在逻辑卷上创建文件系统。
LVM管理命令
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
---|---|---|---|
Scan 扫描 | pvscan | vgscan | lvscan |
Create 建立 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Extend 扩展 | ———— | vgextend | lvextend |
Reduce 减少 | ———— | vgreduce | lvreduce |
备注:pvcreate 设备名1 [设备名2 … …]
vgcreate 卷组名 物理卷名1 物理卷名2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 /dev/卷组名/逻辑卷名
LVM的实机操作主要流程
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/sdb2
5、创建逻辑卷,逻辑卷名为lvname1,容量为 20GB,
生成的文件路径为/dev/vgname1/lvname1
vcreate -L 20G -n lvname1 vgname1
6、对逻辑卷进行格式化,创建 XFS 文件系统,并挂载到/opt目录下
mkfs -t xfs /dev/vgname1/lvname1
mount /dev/vgname1/lvname1 /opt
7、继续扩容(扩容)
vgextend vgname1 /dev/sdc2
lvextend -L +10G /dev/vgname1/lvname1
resize2fs /dev/vgname1/lvname1 #刷新文件系统容量
磁盘配额概述
当Linux根分区的磁盘空间耗尽时,Linux操
作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
实现磁盘限额的条件
需要Linux内核支持
安装xfsprogs与quota软件包
Linux 磁盘限额的特点
作用范围:针对指定的文件系统(分区)
限制对象:用户帐号、组帐号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制
磁盘配额的理论步骤
磁盘配额管理
验证磁盘配额功能
切换到设置配额的分区(挂载目录)
创建指定数量的文件:使用touch命令,或cp命令
创建指定容量的文件:使用dd命令,或cp命令
命令 | 说明 |
---|---|
dd | 是一个设备转换和连续复制的命令 |
if= | 指定输入设备(或文件) |
of= | 指定输出设备(或文件) |
bs= | 指定读取数据块的大小 |
count= | 指定读取数据块的数量 |
/dev/zero | ‘零’设备文件,可以无限的提供空字符,常用来生成一个特定大小的文件;用于测试 |
查看配额使用情况
xfs quota-x-c ‘report选项’
常用选项
选项 | 说明 |
---|---|
-a | 代表所有用户账号和组账号 |
-b | 代表容量 |
-i | 代表文件数量 |
-h | 代表人性化显示 |
磁盘配额的实机操作步骤
当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 -o usrquota,grpquota /dev/vgname1/lvname1 #添加挂载参数“usrquota,grpquota”用于增加对用户、组配额功能的支持
或者
vim /etc/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=40 ihard=50 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_quota -x -c 'limit -u isoft=40 ihard=50 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/ddtest.txt bs=10M count=12
#验证磁盘文件数超限
dd if=/dev/zero of=/opt/ddtest.txt bs=1k count=6
touch {
1,2,3,4,5}.txt
dd 命令是一个设备转换和连续复制命令
“if=” 指定输入设备(或文件)
“of=” 指定输出设备(或文件)
“bs=” 指定读取数据块的大小
“count=” 指定读取数据块的数量
/dev/zero “零”设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
5、查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -a'
#查看磁盘容量和文件数的报告
xfs_quota -x -c 'report -abih'
扩展LVM后刷新,要刷新xfs类型的文件系统,要用xfs_growfs 命令刷新
查看配额使用情况
quota -u 用户名
quota -g 组名
requota /yun01