磁碟配额 (Quota)

 一、什么是 Quota

Linux 系统中,由于是多人多工的环境,所以会有多人共同使用一个磁盘空间的情况发生, 如果其中有少数几个使用者大量的占掉了磁盘空间的话,那势必压缩其他使用者的使用权力。 因此管理员应该适当的限制硬盘的容量给使用者,以妥善的分配系统资源

 

二、Quota 的一般用途

1.

针对 WWW server ,例如:每个人的网页空间的容量限制。

针对 mail server,例如:每个人的邮件空间限制。

针对 file server,例如:每个人最大的可用网络磁盘空间

2.

针对 Linux 系统主机上面的配置使用:

 

限制某一群组所能使用的最大磁碟配额 (使用群组限制)

你可以将你的主机上的使用者分门别类,你比较喜好的那一群的使用配额就可以给高一些

限制某一使用者的最大磁碟配额 (使用使用者限制)

在限制了群组之后,你也可以再继续针对个人来进行限制,使得同一群组之下还可以有更公平的分配。

 

三、 Quota 的使用限制

虽然 quota 很好用,但是使用上还是有些限制要先了解的:

 

仅能针对整个 filesystem

quota 实际在运行的时候,是针对整个 filesystem进行限制的, 例如:如果你的 /dev/sda5 是挂载在 /home 底下,那么在 /home 底下的所有目录都会受到限制。

 

核心必须支持 quota

Linux 核心必须有支持 quota 这个功能才行

 

只对一般身份使用者有效:

并不是所有在 Linux 上面的帐号都可以配置 quota ,例如 root 就不能配置 quota 因为整个系统所有的数据几乎都是root的。

 

 

 

实例:

文件系统支持:

查看home是个否是独立的filesystem.

[root@www ~]# df -h /home

Filesystem     Size  Used Avail Use% Mounted on

/dev/hda3      4.8G  740M  3.8G  17% /home

[root@www ~]# mount | grep home

/dev/hda3 on /home type ext3 (rw)

 

手动加入quota

[root@www ~]# mount -o remount,usrquota,grpquota /home

(此做法在下次重启后会失效,若要永久生效,最好写入配置档中)

[root@www ~]# vim /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)

 

 

quotacheck :扫瞄文件系统并创建 Quota 的记录档

[root@www ~]# quotacheck [-acvugfm] [/mount_point]

选项与参数:

-a  :扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数后,

      /mount_point 可不必写,因为扫瞄所有的 filesystem

-c  :创建,不读取原有数据库。

-u  :针对使用者扫瞄文件与目录的使用情况,会创建 aquota.user

-g  :针对群组扫瞄文件与目录的使用情况,会创建 aquota.group

-v  :显示扫瞄过程的资讯;

-f  :强制扫瞄文件系统,并写入新的 quota 配置档

-m  :防止以只读方式挂载此系统

 

 

Quota 启动、 关闭与限制值配置

1. quotaon :启动 quota 的服务

[root@www ~]# quotaon [-avug]

[root@www ~]# quotaon [-vug] [/mount_point]

选项与参数:

-u  :针对使用者启动 quota (aquota.user)

-g  :针对群组启动 quota (aquota.group)

-v  :显示启动过程的相关信息;

-a  :根据 /etc/mtab 内的 filesystem 配置启动有关的 quota ,若不加 -a 的话,

      则后面就需要加上特定的那个 filesystem

 

 

2.quotaoff :关闭 quota 的服务

[root@www ~]# quotaoff [-a]

[root@www ~]# quotaoff [-ug] [/mount_point]

选项与参数:

-a  :全部的 filesystem quota 都关闭 (永久关闭则编辑 /etc/mtab   删除usrquota,grpquota)

-u  :仅针对后面接的那个 /mount_point 关闭 user quota

-g  :仅针对后面接的那个 /mount_point 关闭 group quota

3. edquota :编辑帐号/群组的限值与宽限时间

[root@www ~]# edquota [-u username] [-g groupname]

[root@www ~]# edquota -t  修改宽限时间

[root@www ~]# edquota -p 范本帐号 -u 新帐号

选项与参数:

-u  :后面接帐号名称。可以进入 quota 的编辑画面 (vim) 去配置 username 的限制值;

-g  :后面接群组名称。可以进入 quota 的编辑画面 (vim) 去配置 groupname 的限制值;

-t  :可以修改宽限时间。

-p  :复制范本。那个 范本帐号 为已经存在并且已配置好 quota 的使用者,

      意义为『将 范本帐号 这个人的 quota 限制值复制给 新帐号

范例:

[root@www ~]# edquota -u centos

Filesystem          blocks  soft   hard   inodes  soft  hard

  /dev/hda3         80     0      0      10     0     0

soft/hard 0 时,表示没有限制.

 

setquota :直接在命令中配置 quota 限额(非交互式的)

[root@www ~]# setquota

选项与参数

-u  指定user用户

-g  指定group

-t  限定用户的宽限时间

-a  设置所有文件系统

范例:

[root@www ~]# setquota -u redhat 100000 200000 0 0 /home

 

 

#repquota: 显示磁盘的摘要信息。

 

#warnquota :对超过限额者发出警告信

它可以依据 /etc/warnquota.conf 的配置,然后找出目前系统上面 quota 用量超过 soft (就是有 grace time 出现的那些家伙) 的帐号,透过 email 的功能将警告信件发送到使用者的电子邮件信箱。 warnquota 并不会自动运行,所以需要手动去运行它。单纯运行warnquota 之后,他会发送两封信出去, 一封给 用户,一封给 root

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章