1. LVM概述
2. LVM机制
3. LVM 管理命令
4. 盘配额概述
5. 磁盘配额设置步骤
1. LVM概述
LVM(Logical Volume Manager)逻辑卷管理
- 能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能基于LVM创建
2. LVM机制
- PV(物理卷):物理卷是LVM机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录LVM的属性并把存储空间分隔成默认大小为4MB的基本单元(PE),从而构成物理卷。
- VG(卷组):由一个或多个物理卷组成一个整体,即成为卷组,在卷组中可以动态的添加或移动物理卷。
- LV(逻辑卷):从卷组中分隔出的一块空间,形成逻辑卷。使用mkfs等工具可在逻辑卷上创建文件系统。
3. LVM 管理命令
pvcreate 设备名1 [设备名2 .....] #创建物理卷
vgcreate 卷组名 物理卷名1 物理卷名2 #创建卷组
lvcreate -L 容量大小 -n 逻辑卷名 卷组名 #从卷组中创建逻辑卷 # -l 小写l 表示pe个数
lvextend -L +容量大小 逻辑卷 卷组名 #将逻辑卷扩容
mkfs -t 文件系统 逻辑卷 #格式化逻辑卷
vgextend 卷组名 逻辑卷 #添加新设备到卷组
lvextend -L +容量大小 逻辑卷 卷组名 #逻辑卷扩容
xfs_growfs 逻辑卷 #刷新xfs文件系统容量
resize2fs 逻辑卷 #刷新ext4类型文件系统容量
功能 | 物理卷管理 | 卷组管理 | 逻辑卷管理 |
Scan 扫描 | pvscan | vgscan | lvscan |
Creat 建立 | pvcreate | vgcreate | lvcreate |
Display 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove 删除 | pvremove | vgremove | lvremove |
Extend扩展 | ———— | vgextend | lvextend |
Reduce减少 | ———— | vgextend | lvextend |
4. 盘配额概述
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障章。
为了避免在服务器中出现类似磁盘空间不足的问题, 可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。在CentoS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs quota工具进行管理;EXT3/4 文件系统通过 quota 工具进行管理。
实现磁盘限额的条件(需要Linux内核支持,安装xfsprogs与quota软件包)
Linux磁盘限额的特点:
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户账号、组账号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
- 软限制、硬限制(达到软限制系统会发出一定的预警提示,硬限制直接中断执行)
5. 磁盘配额设置步骤
检查是否已安装xfsprogs和xfs_quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota 没有安装使用命令进行安装
以支持配额功能的方式挂载文件系统
umount /dev/卷组名/逻辑卷名 (若之前已挂载先卸载)
mount -o usrquota,grpquota /dev/卷组名/逻辑卷名 /挂载的目录 #添加挂载参数“usrquota,grpquota”用于增加对用户、组配额功能的支持
或者
vim /etc/fstab
/dev/卷组名/逻辑卷名 /挂载的目录 xfs defaults,usrquota,grpquota 0 0
umount /dev/卷组名/逻辑卷名
mount -a -a选项,将/etc/fstab的所有内容重新加载
编辑用户和组账号的配额设置
useradd xycc
passwd xycc
常用选项:
-x∶ 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
-c∶ 表示直接调用管理命令
-u∶ 指定用户账号对象
-g∶ 指定组账号对象
bsoft∶ 设置磁盘容量的软限制数值(默认单位为 KB)
bhard∶ 设置磁盘容量的硬限制数值 (默认单位为 KB)
isoft∶设置磁盘文件数的软限制数值
ihard∶设置磁盘文件数的硬限制数值
xfs_quota -x-c 'limit -u bsoft=80M bhard=100M isoft=8 ihard=10 xycc' /data/
设置xycc的用户磁盘容量软限制数为80M,硬限制数为100M,文件数软限制数为8,硬限制数为10,挂载到data目录中。
xfs_quota -c 'quota -uv xycc' /data/ 查看磁盘容量限制
xfs_quota -c 'quota -iuv xycc' /data/ 查看磁盘文件数量限制
验证磁盘配额功能
chmod 777 /opt
su xycc
cd /opt
dd if=/dev/zero of=/data/1.txt bs=10M count=12 验证磁盘容量超限(超过限制软限制会提示,超过硬限制则不生效)
设备转换和连续复制命令-dd
"if=" 指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs="指定读取数据块的大小,一次输出多大
"count=" 指定读取数据块的数量,输出多少次
/dev/zero"零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
查看磁盘配额使用情况
xfs_quota -x -c 'report 选项'
常用选项:
-a:所有用户和组账号
-b:代表容量
-i:代表文件数量
-h:代表人性化显示
xfs_quota -x -c 'report -a' 查看所有可用分区的磁盘容量配额使用情况
touch {1..12}.txt 验证磁盘文件数超限(超过硬限制则不生效)
xfs_quota -x -c 'report -abin' 查看磁盘容量和文件数量的报告