LVM与磁盘配额
逻辑卷管理
- 能够在保持现有数据不变的情况下动态(弹性伸缩)调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能基于LVM创建
LVM机制的基本概念
PV (物理卷)
- 由一小块一小块的PE所组成
- PE是物理卷的基础单元(每个PE的大小是4M)
VG (卷组)
- 由一个或者多个物理卷组成
LV (逻辑卷)
- 从卷组中分割出一部分空间为逻辑卷,所占用的空间可能是一整块硬盘的大小,也有可能是一块硬盘的部分空间提供的
LVM 的管理命令
功能 | PV管理命令 | VG管理命令 | LV管理命令 | |
---|---|---|---|---|
Scan | 扫描 | pvscan | vgscan | lvscan |
Create | 建立 | pvcreate | vgcreate | lvcreate |
Display | 显示 | pvdisplay | vgdisplay | lvdisplay |
Remove | 删除 | pvremove | vgremove | lvremove |
Extend | 扩展 | vgextend | lvextend | |
Reduce | 减少 | vgreduce | lvreduche |
LVM 操作主要命令步骤
①准备两块新硬盘
关闭主机,添加两块新硬盘,重启主机
fdisk -l
②创建设置新分区
先使用 fdisk 工具将磁盘设备 /dev/sdb、 /dev/sdc划分出主分区sdb1、sdc1,并且把分区类型的 ID 标记号改为"8e"
*千万不要忘记输入w保存哦
fdisk /dev/sdb
fdisk /dev/sdc
n p Enterx3 t 8e w
③创建物理卷
pvcreate /dev/sdb1 /dev/sdc1
④创建卷组
举例:卷组名为cat
vgcreate cat /dev/sdb1 /dev/sdc1
或
vgcreate cat /dev/sdb[a,b]1
⑤创建逻辑卷
举例:逻辑卷名为cathome,容量为 30 GB,生成的文件路径为/dev/cat/cathome
lvcreate -L 30G -n cathome cat
⑥对逻辑卷进行格式化
mkdir /data
mkfs -t xfs /dev/cat/cathome
mount /dev/cat/cathome /data
df -hT
⑦再次扩容
lvextend -L +5G /dev/cat/cathome
#如果不打+号,则代表磁盘的空间最终会变成这个大小
xfs_growfs /dev/cat/cathome
#刷新文件系统容量
磁盘配额概述
限制磁盘的使用空间,创建文件的数量
实现磁盘限额的条件
- 需要Linux内核支持
- 安装xfsprogs与quota软件包
Linux 磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制都西昂:用户账号、组账号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
- 硬限制:用户在磁盘文件系统当中所能够创建文件的上限
以支持配额功能的方式挂载文件系统[默认不支持]
↓
编辑用户和组账号的配额设置
↓
验证磁盘配额的功能
↓
查看磁盘配额的使用情况
当Linux根分区的磁盘空间耗尽时,Linux操作系统将无法再建立新的文件,同时也可能会出现服务程序崩溃、系统无法启动等故障。
为了避免再服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户所在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具
例如:
- XFS文件系统通过xfs_quota工具进行管理
- EXT3/4文件系统通过quota工具进行管理
[使用脚本定时检查]
CentOS7中设置磁盘配额步骤
①检查是否已安装xfsprogs和xfs_quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota
[如果查不到可以配合管道工具]
②以支持配额功能的方式挂载文件系统
umount /dev/cat/cathome
mount -o defaults,usrquota,grpquota /dev/cat/cathome /data
# mount -o可以指定你的挂载参数
或者
vim /etc/fstab
/dev/cat/cathome /data xfs defaults,usrquota,grpquota 0 0
umount /dev/cat/cathome
mount -a
#-a将/etc/fstab的所有内容重新加载
③编辑用户和组账号的配额设置
useradd sans
passwd sans
xfs_quota -x -c 'limit -u bosoft=80M bhard=100M isoft=40 ihard=50 sans' /data/
常用选项
- -x 表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
- -c 表示直接调用管理命令
- -u 指定用户账号对象
- -g 指定组账号对象
- bsoft 设置磁盘容量的软限制 默认单位为KB
- bhard 设置磁盘容量的硬限制 默认单位为KB
- isoft 设置磁盘文件数的软限制数值
- ihard 设置磁盘文件数的硬限制数值
④验证磁盘配额功能
chmod 777 /data
su sans
cd /data
#验证磁盘容量超限
dd if=/dev/zero of=/data/badtime bs=10M count=20
#从一个文件当中取数据到目标目录当中
#取10M的文件取12次,存到ddtest.txt,在opt里生成,大小为200M
#验证磁盘文件数超限
touch {
aa,bb,cc,dd,ee,ff}.txt
- dd 命令是一个设备转换和连续复制命令
- if= 指定输入设备(或文件)
- of= 指定输出设备(或文件)
- bs= 指定读取数据块的大小
- count= 指定读取数据块的数量
- /dev/zero 零设备文件,可以无限的提供空字符#常用于生成一个特定大小的文件
⑤查看配额使用情况
查看所有可用分区的磁盘容量配额使用情况
xfs_quota -x -c 'report -a'
查看磁盘容量和文件数的报告
xfs_quota -x -c 'report -abih'