设置配额·

1.配额是针对分区的

  当Linux根分区的磁盘空间耗尽时,Linux系统将无法再建立新的文件,从而出现服务程序崩溃、系统
无法启动等故障现象,为了避免此问题,我么可以设置磁盘配额功能,对用户在指定文件系统中使用
磁盘空间、文件数量进行限制,防止用户占用大量的磁盘空间,从而保持我们的系统存储空间可以稳
定使用。

2.磁盘配额术语介绍

磁盘配额对象式硬盘分区,并且要求Linux内核支持磁盘配额技术。
磁盘配额只对一般用户有效,对管理员来说是没有任何作用效果的。

软限制(soft):最低限制容量,可以被超过,但会有警告信息,超过的部分会保存到宽限时期到期。
硬限制(hard):不能被超过限制条件。
宽限时间:当用户使用的空间超过了软限制但还没达到硬限制,在这个宽限的时间到期前必须将超过的数据降低到软限制以下,(默认是7天),当宽限时间到期,系统将自动清除超过的数据。

quata   # 用户查看配额
repquota # 超级用户查看所有人的配额

[root@server ~]# cat /proc/partitions 
major minor  #blocks  name  253        0   10485760 
vda 253        1   10484142 
vda1 253       16   10485760 
vdb 253       17      51200 
vdb1 253       18     102400 
vdb2 253       19     102400 
vdb3 253       20          1 
vdb4 253       21     102400 
vdb5  11        0    3655680 sr0
[root@server ~]# mkfs.xfs /dev/vdb2   # 确保自己格式化的分区存在
[root@server ~]# mkdir /pub
[root@server ~]# ll -d /pub/
drwxr-xr-x 2 root root 6 Nov  5 06:14 /pub/
[root@server ~]# chmod 777 /pub/
[root@server ~]# ll -d /pub/
drwxrwxrwx 2 root root 6 Nov  5 06:14 /pub/
[root@server ~]# mount /dev/vdb2 /pub/   #将分区挂载到/pub目录下方便使用 
[root@server ~]# mount    # 可以看到/dev/vdb2是noquota类型的,表示不支持quota 

在这里插入图片描述

[root@server ~]# umount /pub/
[root@server ~]# mount -o  usrquota  /dev/vdb2  /pub   # 激活配额功能
[root@server pub]# ll -d /pub/    # 查看/pub权限发现有变化,这是因为/pub上挂载的是/dev/vdb2设备,查看到的权限也是设备的,并不是目录本身的权限
drwxr-xr-x 2 root root 6 Nov  5 06:14 /pub/
[root@server ~]# chmod 777 /pub/  # 改变目录的权限方便后面我们写入测试 
[root@server pub]# ll -d /pub/
drwxrwxrwx 2 root root 6 Nov  5 06:14 /pub/
[root@server ~]# df

设置配额·_第1张图片

[root@server ~]# mount  # usrquota表示支持quota 

在这里插入图片描述

[root@server ~]# cd /pub/
[root@server pub]# edquota -u student   # 设置用户student的配额

在这里插入图片描述

[student@server ~]$ dd if=/dev/zero  of=/pub/file bs=1M count=10  # 写入10M的数据时候正常被写入了,没有任何报错 
dd               # 截取命令
if=inputfile     # 输入文件 
/dev/zero        # 无限零设备 
of=outputfile    # 输出文件 
bs=blocksize     # 一个块的大小 
count=20         # 块的个数
[student@server pub]$ du -sh file # 查看文件大小
10M	file
[student@server pub]$ dd if=/dev/zero  of=/pub/file bs=1M count=21
[student@server pub]$ du -sh file 
20M	file

设置配额·_第2张图片

注:写入数据大小小于设定配额的大小时,文件的大小就是自己写入的大小,大于设定的配额大小时,文件的大小是自己设定的最大配额的大小

[root@server pub]# vim /etc/fstab                # 设置开机时自动激活额度
10 /dev/vdb2   /pub  xfs   defaults,usrquota  0   0
[student@server pub]$ quota  # 普通用户查看具体配额情况
Disk quotas for user student (uid 1000):      
Filesystem  blocks   quota   limit   grace   files   quota   limit   
grace    /dev/vdb2   20480*    0   20480       2       0       0        
[root@server pub]# quotaoff /pub/  # 关闭单个磁盘的磁盘配额
[root@server pub]# quotaoff -a     # 关闭系统所有已经开启的配额
[root@server pub]# vim /etc/fstab  # 删除/etc/fstab中的自动挂载即可 	

你可能感兴趣的:(linux,运维基础)