磁盘配额启动的前期准备(设置挂载参数usrquota和grpquota)

前面我们已经谈到,使用磁盘配额的前提,是必须要内核以及文件系统支持才行,这里假设大家使用的就是支持磁盘配额的内核,那么接下来就是要配置文件系统,使其支持配额限制。

由于 Quota 仅针对文件系统进行限制,因此我们有必要查一下,/home 是否是独立的文件系统,执行命令如下:

[root@localhost ~]# df -h /home
Filesystem     Size  Used Avail Use% Mounted on
/dev/hda3      4.8G  740M  3.8G  17% /home  <-- /home 确实是独立的!

可以看到,/home 确实是独立的文件系统,因此可以直接对其进行限制。但如果读者所用系统中,/home 不是独立的文件系统,则可能就要针对根目录做磁盘配额了,但不建议大家这样做。

另外,由于 VFAT 文件系统并不支持磁盘配额功能,因此,这里需要查看 /home 的文件系统,执行命令如下:

[root@localhost ~]# mount | grep home
/dev/hda3 on /home type ext3 (rw)

显然,/home 的文件系统为 ext3,是支持磁盘配额的。

在此基础上,如果想要获得文件系统的支持,还需要为执行的文件系统添加挂载参数,分别是 usrquota(启用用户限额)和 grpquota(启动用户组限额),添加的方式有以下 2 种:
  1. 如果只是想在本次启动中试验磁盘配额,则只需使用如下的方式手动添加挂载参数:

    [root@localhost ~]# mount -o remount,usrquota,grpquota /home
    [root@localhost ~]# mount | grep home
    /dev/hda3 on /home type ext3 (rw,usrquota,grpquota)

  2. 手动添加的方式,会在下次重新挂载时消失,因此我们可以直接修改 /etc/fstab 文件,将挂载参数写入到配置文件中,这样,即便重新挂载也不会消失,执行命令如下:

    [root@www ~]# vi /etc/fstab
    ......
    LABEL=/home   /home  ext3   defaults,usrquota,grpquota  1 2
    [root@www ~]# umount /home
    [root@www ~]# mount -a
    [root@www ~]# mount | grep home
    /dev/hda3 on /home type ext3 (rw,usrquota,grpquota)

    注意,修改完 /etc/fatab 文件后,务必要亲自测试一下,有问题赶紧处理,因为此文件修改错误,将直接导致系统无法启动。

由此,我们就成功启用了文件系统对磁盘配额的支持,但此时还是不能立即使用磁盘配额,还需进一步检测相应的文件系统,并建立磁盘配额文件,这就需要使用 quotacheck 命令。