引言
本章讲解了LVM的管理命令以及如何进行磁盘配额
一、LVM概述
LVM(Logical Volume Manager),逻辑卷管理
- 能够在保持现有数据不变的情况下动态调整磁盘容量,从而提高磁盘管理的灵活性
- /boot分区用于存放引导文件,不能LVM创建
LVM机制的基本概念
PV(物理卷)
VG(卷组)
LV(逻辑卷)
每个PE最小4M,最大64M,越小越好,4M利于磁盘利用
扩展:
LV从VG组中划分出来的,因此LV中的PE可能来自于多个PV。因此想LV存储数据时,主要有两种机制:
线性模式:先将数据存储在属于同一个PV的PE,然后再向下一个PV的PE
条带模式:将一份数据拆分为多份,分别写入该对应的每个PV中
二、LVM的管理命令
主要命令
pvcreate 设备名1 [设备名2 ....]
vgcreate 卷组名 物理卷1 物理卷2
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvextend -L +大小 -n 逻辑卷名 卷组名
2、LVM应用
步骤
示例:
首先创建两个20G的硬盘,alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan' ,查看硬盘
先使用fdisk工具将磁盘设备/dev/sdb、/dev/sdc、、dev/sdd划分主分区sdb1、sdc1,sdd1然后把分区类型的ID标记号改为“8e”
创建物理卷,然后扫描一下看是否创建成功
显示刚才新建的物理卷
pvdisplay
创建卷组,卷组名为zu1
显示卷组
vgdisplay
创建逻辑卷,大小为10G,逻辑卷名为luoji1。然后对逻辑卷luoji1进行格式化
在/opt里创建mount1,并挂载
扩展逻辑卷,+2G
刷新文件系统,查看是否添加进去
这里不需要进行手动刷新,在刚刚那条命令的最后加上了 -r 命令,可以自动进行刷新
卸载并删除
三、磁盘配额
1、实现磁盘限额的条件
- 需要Linux内核支持
- 安装xfsprogs与quota软件包
2、Linux磁盘限额的特点
- 作用范围:针对指定的文件系统(分区)
- 限制对象:用户账号、组账号
- 限制类型:磁盘容量、文件数量
- 限制方法:软限制、硬限制
软限制:制定一个软性的配额数值,在固定的宽限期内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指定一个硬性的配置数值,是绝对禁止用户超过的限制值,当达到硬限制值时系统也会给出警告并禁止继续写入数据。应限制的配额值应大于相应的软限制值,否则软限制将失效。
磁盘空间满了会导致所有软件瘫痪。为了避免在服务器中出现类似磁盘空间不足的问题,可以启用磁盘配额功能,对用户在指定文件系统(分区)中使用的磁盘空间、文件数量进行限制,以防止个别用户恶意或无意间占用大量磁盘空间,从而保持系统存储空间的稳定性和持续可用性。
在CentOS系统中,不同的文件系统使用不同磁盘配额配置管理工具。例如,XFS文件系统通过xfs_quota工具进行管理; EXT3/4 文件系统通过 quota 工具进行管理。
3、启动磁盘配额支持
(1)启用文件系统的配额支持
vim /etc/fstab
/dev/cxk/ky27 /opt/data xfs defaults,usrquota,grpquota 0 0
(2)编辑用户和组账号的配额设置
使用xfs_quota命令编辑配额设置
[zhangsan@192 data1]$ xfs_quota -x -c 'limit -u bsoft=80M bhard=100M isoft=40 ihard=50 zhangsan' /opt/wangyibo
常用选项
- -x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
- -c:表示直接调用管理命令
- -u:指定用户账号对象
- -g:指定组账号对象
限制字段
- bsoft:设置磁盘容量的软限制数值(默认单位为KB)
- bhard:设置磁盘容量的硬限制数值(默认单位为KB)
- isoft:设置磁盘文件数的软限制数值
- ihard:设置磁盘文件数的硬限制数值
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M lisi' /opt/ #仅限制磁盘容量
xfs_quota -x -c 'limit -u isoft=4 ihard=5 lisi' /opt/ #仅限制文件数
xfs_quota -c 'quota-uv lisi' /opt/ #查看lisi磁盘:容量限制
xfs_quota -c 'quota -i -uv lisi' /opt/ #查看lisi文件数限制
4、磁盘配额步骤
检查是否已安装xfsprogs和xfs_quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota
2.以支持配额功能的方式挂载文件系统
umount /dev/vgname1/lvname1
mount -o usrquota,grpquota /dev/vgname1/lvname1 /opt
#添加挂载参数”usrquota,grpquota"用于增加对用户、组配额功能的支持
或者
vim /etc/fstab
/dev/vgname1/lvname1 /opt xfs defults,usrquota,grpquota 0 0
umount /dev/vgname1/lvname1
mount -a #-a选项,将/etc/fstab的所有内容重新加载
3.编辑用户和组账号的配额设置
useradd lisi
passwd lisi (echo "123456" | passwd --stdin lisi)
xfs_quota -x -c "limit -u bsoft=80M bhard=100M isoft=8 ihard=10 lisi" /opt
-x:表示启动专家模式,在当前模式下允许配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令。
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘容量的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
isoft:设置磁盘文件数的软限制数值
ihard:设置磁盘文件数的硬限制数值
xfs_quota -x -c 'report -abih' /opt 查看所有分区配额使用情况
xfs_quota -x -c 'limit -u bsoft=80M bhard=100M lisi' /opt/ #仅限制磁盘容量
xfs_quota -x -c 'limit -u isoft=4 ihard=5 lisi' /opt/ #仅限制文件数
xfs_quota -c 'quota-uv lisi' /opt/ #查看lisi磁盘:容量限制
xfs_quota -c 'quota -i -uv lisi' /opt/ #查看lisi文件数限制
4、验证磁盘配额功能
chmod 777 /opt
su lisi
cd /opt
验证磁盘容量超限
dd if=/dev/zero of=/opt/kgc.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 - abih'
查看磁盘配额
report常用选项:
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数
5、磁盘配额实战
1、重复上面LVM应用示例的步骤:
首先创建两个60G的硬盘,然后重启,查看硬盘。使用fdisk工具将磁盘设备/dev/sdb、/dev/sdc划分主分区sdb1、sdc1,然后把分区类型的ID标记号改为“8e”。创建物理卷,卷组和逻辑卷。
2、先创建文件系统(格式化),然后创建lichen用户
3、在/home里添加LY
4、以支持配额功能的方式挂载文件系统,然后mount -a刷新一下
5、设置磁盘配额,并且设置权限
6、验证磁盘容量超限("if="指定输入设备或文件,"of="指定输出设备或文件,"bs="指定读取数据块的大小,"count="指定读取数据块的数量)
7、查看配额使用情况