Linux Lvm与磁盘配额
一、Lvm概述
- Lvm逻辑卷管理
-
能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
-
/boot分区用于存放引导文件,不能基于Lvm创建
- Lvm机制的基本概念
Lvm由三个部分组成:
- PV(物理卷)
- VG(卷组)
- LV(逻辑卷)
PV:物理卷是Lvm机制的基本存储设备,通常对应为一个普通分区或整个硬盘。创建物理卷时,会在分区或硬盘的头部创建一个保留区块,用于记录Lvm的属性,并把存储空间分割成默认大小为4MB的基本单元(PE),从而构成物理卷。
VG:由一个或多个物理卷组成的一个整体,即称为卷组,在卷组中可以动态地添加或移除物理卷
LV:从卷组中分割出的一块空间,形成逻辑卷。使用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操作步骤
-
关闭主机,添加两块新硬盘,重启
-
先使用fdisk工具将磁盘设备/dev/sdb、/dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的ID标记号改为“8e”
-
创建物理卷
-
创建卷组,设置卷组名
-
创建逻辑卷,设置逻辑卷名,容量为20G,生成的文件路径为/dev/卷组名/逻辑卷名lvcreate -L 20G -n lvname1 vgname1
-
对逻辑卷进行格式化,创建XFS文件系统,并挂载到/opt目录下
-
扩容
三、磁盘配额概述
- 实现磁盘限额的条件
- 需要Linux内核支持
- 安装xfsprogs与quota软件包
- Linux磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户账号、组账号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
设置磁盘配额:当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_quota工具进行管理; EXT3/4 文件系统通过 quota 工具进行管理。
- 常用命令及选项
说明 | |
---|---|
仅限制磁盘容量 | xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M zhangsan’ /data |
仅限制文件个数 | xfs_quota -x -c ‘limit -u isoft=4 ihard=5 zhangsan’ /data |
查看磁盘容量 | xfs_quota -x -c ‘quota -uv zhangsan’ /data |
-x | 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用 |
-c | 表示直接调用管理命令 |
-u | 指定用户账号对象 |
-g | 指定组账号对象 |
bsoft | 设置磁盘容量的软限制数值(默认单位为KB) |
bhard | 设置磁盘容量的硬限制数值(默认单位为KB) |
isoft | 设置磁盘文件数的软限制数值 |
ihard | 设置磁盘文件数的硬限制数值 |
四、磁盘配额管理
- 验证磁盘配额功能
- 切换到设置配额的分区(挂载目录)
- 创建指定数量的文件:使用touch命令,或cp命令
- 创建指定容量的文件:使用dd命令,或cp命令
命令 | 说明 |
---|---|
dd | 是一个设备转换和连续复制的命令 |
if= | 指定输入设备(或文件) |
of= | 指定输出设备(或文件) |
bs= | 指定读取数据块的大小 |
count= | 指定读取数据块的数量 |
/dev/zero | ‘零’设备文件,可以无限的提供空字符,常用来生成一个特定大小的文件。用于测试。 |
- 查看配额使用情况
xfs_quota -x -c ‘report’ 选项
- 常用选项
选项 | 说明 |
---|---|
-a | 代表所有用户账号和组账号 |
-b | 代表容量 |
-i | 代表文件数量 |
-h | 代表人性化显示 |
命令 | 说明 |
---|---|
xfs_quota -x -c ‘report -a’ | 查看配额使用情况 |
xfs_quota -x -c ‘report -abih’ | 查看磁盘容量和文件数的报告 |