磁盘配额
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在生产或工作环境中,你可能会遇到这样的情况:在多人多任务的环境下,有多人共用一个磁盘空间,而有部分人可能向这个共同的空间上放很多或很大的文件,而导致磁盘空间极速减少。这样必然导致其他人的空间会迅速变小。为了让大家有个平等的使用磁盘空间的权限,我们就需要用到磁盘配额。我来限制用户对空间的使用情况。在Linux系统下,用quota来实现此功能。
除了上面的情况外,一般还用在下面的一些场景中
在一些提供web服务的空间中,每个人的网页空间的容量都是受限制的。
在邮件服务中,每个人的邮件空间也是受限制。
在公司的文件共享服务中,每个人使用的硬盘空间也是需要限制。
而针对Linux的主机,如果是多个用户的话,也是需要考虑到用户和用户组的限制。
注意事项:
1、磁盘配额加载于内核中
2、只适用于ETX2/EXT3/EXT4文件系统,对目录是不起作用的哦,这一点要特别注意,虽然挂载点是一个目录,但他实际上是文件系统设备。
3、只针对于户或用户组,但root除外
4、针对用户组的限额,是指某个用户组中的所有成员一起使用的限制而不是每个人所使用的限制
在开始操作前,我们来看看和quota配置相关的内容
inode:限制用户可以建立的文件数量
block:限制用户磁盘的容量,以KB为单位
soft:软限制。就是在超过这个值后,会提醒用户,但用户的权限还没有被限制。hard:硬限制。这是最高的限制,用户或组绝对不会超过这个限制值。如果超过了,就限制死了用户的使用权限了。
grace time:宽限时间。这个就是当达到soft限制时,还没有到达hard限制的时候,用来提醒用户的。如果在警告的天数之内,用户都不进行任何磁盘管理操作,那么soft限制值会即刻取代hard限值来作为quota的限制,就算你没有达到hard 限制,也用不了了。Edquota –t进行设置
下面开始我们的演示操作
[root@yufei ~]# df 作用查看用户家目录所在的磁盘分区
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 15118728 7242960 7107768 51% /
tmpfs 255784 0 255784 0% /dev/shm
我的RHEL6系统,因为是一个虚拟机,所以没有太多设置,只有一个根分区,没得选择,我们就对根分区来进行磁盘配额。还有要提醒一点,你的系统中要有至少两个用户,因为磁盘配额对ROOT用户不起作用。
第一步:重新挂载文件系统或者是修改/etc/fstab文件
因为重新挂载只针对当前有效果,如果想下次开机也起作用,就需要把配额的参数写入fstab文件中。
[root@yufei ~]# mount 作用查看用户/home目录所在磁盘分区是否设置有磁盘配额
/dev/sda1 on / type ext4 (rw)
若果有:/dev/sda1 on / type ext4 (rw,usrquota,grpquota)
Usrquota:用户磁盘配额
Grpquota:组磁盘配额
省略无用信息
我们看到/分区下没有配额参数,所以我们需要重新挂载。
[root@yufei ~]# mount -o usrquota,remount / 作用:设置磁盘配额
[root@yufei ~]# mount
/dev/sda1 on / type ext4 (rw,usrquota)
现在有了,启用了对用户的配额限制。
第二步:创建磁盘配额数据库
[root@yufei ~]# ls / |grep quota
[root@yufei ~]# quotacheck -cvugm /dev/sda1 会生成:er和aquota.group quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
quotacheck: Scanning /dev/sda1 [/] done
quotacheck: Cannot stat old user quota file: No such file or directory quotacheck: Old group file not found. Usage will not be substracted. quotacheck: Checked 12514 directories and 98071 files
quotacheck: Old file not found.
[root@yufei ~]# ls / |grep quota
er
看到er这个用户的配置文件后,那说明我们创建成功了
这里介绍一个几个参数的作用
-c:创建磁盘配额数据库文件
-v:查看创建的过程
-u:创建用户的磁盘配额数据库文件
-g:创建用户组的磁盘配额数据库文件
-a:创建所有磁盘的配额数据库文件,使用此参数的时候,后面就不用接设备了-m:把以前的磁盘配额信息清除,在对/分区创建的时候,必需用此参数
第三步:启动磁盘配额
[root@yufei ~]# quotaon /dev/sda1
第四步:编辑磁盘配额文件
[root@yufei ~]# edquota –u yufei //edquota –g group
Disk quotas for user yufei (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 1060 0 0 159 0 0
这主文件中的内容后面的限制作用是什么,我们在上面已经说了,这里就不啰嗦了,这里面已经有的blocks和inodes是指这个用户现在在已经存在的相关文件与大小,以K为单位哦!
上面显示的内容大概意思就是
用户yufei(uid 500)
在/dev/sda1上所占用的空间是1060K,没有任何的限制,文件数为159,也没有任何的限制。
其实上面的编辑方式是调用vi的,所以你可以自由编辑!
我们把限制全部加上。