设置磁盘配额
一 开启磁盘配额功能
1 编辑/etc/fstab文件 vim/etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jun 8 06:02:20 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=2c1949d3-5cd8-4b71-b60d-8885bfc326e0 /boot xfs defaults,uquota 0 0 \\在此处加上,uquota
/dev/mapper/rhel-swap swap swap defaults 0 0
~
在挂载点/dev/sda1行的defaults后面加上,uquota
2 重启系统 reboot
[root@linuxprobe ~]# reboot
3 查看是否开启磁盘配额功能 mount | grep quota
[root@linuxprobe ~]# mount | grep quota
/dev/mapper/rhel-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,usrquota)
发现挂载点/dev/sda1已经开启配额
二 设置磁盘配额
设置单个用户的磁盘配额
xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 linuxprobe' /boot
[root@linuxprobe ~]# xfs_quota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 linuxprobe' /boot
\\对linuxprobe用户进行限制,软限制文件大小为3m,硬限制文件大小为6m,软限制文件数量为3个,硬限制文件数量为6个,作用目录为boot目录
三 测试配额是否生效
1 为了实验成功,首先提升boot目录的基本权限 chmod -Rf 777 /boot
[root@linuxprobe ~]# chmod -Rf 777 /boot
2 切换用户 su - linuxprobe
[root@linuxprobe ~]# su -linuxprobe
3 测试文件个数限制 mkdir -p /boot/a/b/c/d/e/f/g
[linuxprobe@linuxprobe ~]$ mkdir -p /boot/a/b/c/d/e/f/g
mkdir: cannot create directory ‘/boot/a/b/c/d/e/f/g’: Disk quota exceeded
测试成功,这里提示操作配额限制!
为了进行下一步测试,首先删除刚才创建的文件夹 rm -r /boot/a
[linuxprobe@linuxprobe ~]$ rm -r /boot/a
4 测试文件大小限制 dd if=/dev/zero of=/boot/haha bs=1M count=10
[linuxprobe@linuxprobe ~]$ dd if=/dev/zero of=/boot/haha bs=1M count=10
dd: error writing '/boot/haha': Disk quota exceeded
7+0 records in
6+0 records out
6291456 bytes (6.3 MB, 6.0 MiB) copied, 0.00464062 s, 1.4 GB/s
测试成功,这里提示操作配额限制!可以看出当复制到6m大小后,后面的4m就没有复制成功
四 编辑配额
1 退回到root用户 exit
[linuxprobe@linuxprobe ~]$ exit
logout
2 编辑用户linuxprobe的配额 edquota -u linuxprobe
[root@linuxprobe ~]# edquota -u linuxprobe
Disk quotas for user linuxprobe (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 6144 3072 8192 1 3 6
~
把硬限制大小改为8M
3 切换用户后,删除原测试文件,再次使用大小限制测试
[root@linuxprobe ~]# su - linuxprobe
[linuxprobe@linuxprobe ~]$ rm -f /boot/haha
[linuxprobe@linuxprobe ~]$ dd if=/dev/zero of=/boot/haha bs=1M count=10
dd: error writing '/boot/haha': Disk quota exceeded
9+0 records in
8+0 records out
8388608 bytes (8.4 MB, 8.0 MiB) copied, 0.00575694 s, 1.5 GB/s
测试成功,这里提示操作配额限制!可以看出当复制到8m大小后,后面的2m就没有复制成功
五 关闭磁盘配额
1 在开始之前别忘了删除测试文件,回到root用户,改回boot目录权限
[linuxprobe@linuxprobe ~]$ rm -f /boot/haha
[linuxprobe@linuxprobe ~]$ exit
logout
[root@linuxprobe ~]# chmod -Rf 744 /boot
2 编辑/etc/fstab文件 vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jun 8 06:02:20 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=2c1949d3-5cd8-4b71-b60d-8885bfc326e0 /boot xfs defaults 0 0
/dev/mapper/rhel-swap swap swap defaults 0 0
~
删除挂载点/dev/sda1行的,uquota
3 重启系统 reboot
[root@linuxprobe ~]# reboot
4 查看是否关闭磁盘配额功能 mount | grep quota
[root@linuxprobe ~]# mount | grep quota
/dev/mapper/rhel-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
可以看出挂载点/dev/sda1行后的配额功能已关闭,实验完美结束!