返回列表 发帖

磁盘分区管理(磁盘配额)

笺注:这是在 磁盘分区管理 的基础上进行的。

在linux中我们只能使用超级管理员root用户进行磁盘配额的设置,并且磁盘配额是基于文件系统(挂载分区)的,也就是必须在文件系统上配置磁盘配额。

可以对用户或组的所能使用的空间大小或是创建的文件、文件夹个数进行限制。限制可以分为两种:      
    1,软限制:当用户或组所分配的空间占满以后,在一定的宽限期内可以超出容量但是系统会给处警告,并在宽限期过后强制收回空间。   
    2,硬限制:当用户或组所分配的空间占满以后,就不能再添加数据。


关闭SELinux:
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config


创建组、用户:
[root@centos8 ~]# groupadd team1
[root@centos8 ~]# useradd -g team1 zhuohua
[root@centos8 ~]# echo '888' |passwd --stdin zhuohua
更改用户 zhuohua 的密码 。
passwd:所有的身份验证令牌已经成功更新。



安装quota软件:
yum -y install quota


给文件系统设置磁盘配额功能,并且每次开机都自动挂载:
[root@localhost ~]# vi /etc/fstab
/dev/sdb1    /office   ext4 defaults,usrquota,grpquota 0 0


重启服务器前:
[root@localhost ~]# mount |grep /dev/sdb
/dev/sdb1 on /office type ext4 (rw)


重启服务器后:
[root@localhost ~]# mount |grep /dev/sdb
/dev/sdb1 on /office type ext4 (rw,usrquota,grpquota)





检测磁盘配额并生成配置文件:
[root@localhost ~]# quotacheck -cugv /office


启动文件系统的磁盘配置功能:
[root@localhost ~]# quotaon -ugv /office
/dev/sdb1 [/office]: group quotas turned on
/dev/sdb1 [/office]: user quotas turned on


设置开机自动启动文件系统的磁盘配置功能:
echo 'quotaon -ugv /office' >> /etc/rc.d/rc.local


挂载分区上会多了以下两个文件:
[root@localhost ~]# ll /office
总用量 44
-rw-r--r-- 1 root root     4 2月  27 13:13 1.txt
-rw-r--r-- 1 root root     4 2月  27 13:15 2.txt
-rw-r--r-- 1 root root     5 2月  27 13:23 3.txt
-rw------- 1 root root  6144 2月  27 13:35 aquota.group
-rw------- 1 root root  6144 2月  27 13:35 aquota.user
drwx------ 2 root root 16384 2月  27 13:09 lost+found




#####
编辑某个组的配额设置:
[root@localhost ~]# edquota -g team1
假设,team1对目录 /office 的配额为:磁盘容量软限制20M(单位为KB),硬限制为30M
图片1.png


###
编辑某个用户的配额设置: (用户的配额必须少于该组的配额)
[root@localhost ~]# edquota -u zhuohua
假设,用户zhuohua对目录 /office 的配额:磁盘容量软限制8M,硬限制为10M
图片2.png




磁盘容量的配额大小测试的方法:
假设,用户zhuohua向目录 /office/ 下写入一个名为ddtest1的测试文件,大小为8M(分8次写入,每次1MB),复制来源为设备文件/dev/zero
dd if=/dev/zero of=/office/ddtest1 bs=1M count=8

图片3.png


超出磁盘限额的效果:
图片4.png


备注:测试的目录要有权限写入
[root@localhost ~]# chmod -R 777 /office/






#####

查看某个组的配额使用情况:(blocks为此组已经使用的空间大小)
quota -g team1
图片5.png



查看某个用户的配额使用情况:(blocks为此用户已经使用的空间大小)
quota -u zhuohua
图片6.png

返回列表