Linux系统的磁盘配额功能用于限制用户所使用的磁盘空间,并且在用户使用了过多的磁盘空间或分区的空闲过少时,系统管理员会接到警告。
磁盘配额可以针对单独用户进行配置,也可以针对用户组进行配置,配置的策略也比较灵活,既可以限制占用磁盘空间,也可以限制文件的数量。
设置磁盘配额的步骤
(1)、磁盘配额只能在ext2 或ext3文件系统上配置,将dev下的sdb1分区格式化成ext3文件系统命令 mkfs.ext3 /dev/sdb1
(2)、挂载sdb1到mnt下的windows目录 并添加选项usrquota和grpquota 命令mount /dev/sdb1 /mnt/windows –o usrquota,grpquota
Usrquota 挂载选项意思是使sdb1支持用户的磁盘配额
Grpquota挂载选项意思是使sdb1支持用户组的磁盘配额
磁盘配额只支持在分区上
(3)、使用mount 命令查看挂载情况
[root@new-host-2 ~]# mount /dev/sdb1 /mnt/windows/ -o usrquota,grpquota
[root@new-host-2 ~]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt/windows type ext3 (rw,usrquota,grpquota)
(4)、quotacheck命令建立磁盘配额数据库文件
-a 扫描在/etc/fstab文件里,有加入quota设置的分区。
-d 详细显示指令执行过程,便于排错或了解程序执行的情形。
-g 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。
-R 排除根目录所在的分区。
-u 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。
-v 显示指令执行过程。
-a参数表示扫描所有分区如果要制定某一个分区不需要添加-a如
Quotacheck –cvug /dev/vg0/data
系统会自动建立两个文件aquota.group aquota.use 这两个是数据库文件用来保存每个用户和组的配额情况
[root@new-host-2 ~]# ls /mnt/windows/
aquota.group aquota.user lost+found
[root@new-host-2 ~]#
此时需要重新启动计算机才能生效或使用quotaon命令加一个-a参数激活所有分区,quotaoff 关闭用户的磁盘配额。
(5)、使用edquota编辑用户的配额情况,参数-u为用户配额,-g为用户组配额
[root@localhost ~]# edquota -u dai
Disk quotas for user dai (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/vg0-data 0 0 0 0 0 0
Blocks、数据块
Inodes、节点节点数量(及文件数量)
意思是,(user dai) 用户dai在 (fileyserm /dev/sdb3) dev/sdb3分区上能够使用(blocks)数据库的数量和(inodes)节点的数量
Blocks、数据块有两个限制soft和hard 软限制和硬限制
nodes、节点也有两个限制soft和hard 软限制和硬限制
soft(软限制是可以超过的但是不能超过一定的天数)(以字节为单位)
head(硬限制是任何时候都不能超过的,如果达到硬限制设置的数值就再也不能写数据了)
Inodes、节点节点数量(及文件数量)就是定义该用户在这个分区上能建立几个文件
现在对dai用户进行磁盘配额只允许用户使用 4M 大小的磁盘空间只能建立6个文件
Disk quotas for user dai (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 2048 4096 0 4 6
~
~
(6)、现在已经配置完成测试一下
[root@new-host-2 ~]# cd /mnt/windows/ 进入windows目录
[root@new-host-2 windows]# mkdir dai 建立一个文件夹dai
[root@new-host-2 windows]# chown dai dai 将文件夹dai的所有者赋予用户dai
[root@new-host-2 windows]# ll 查看目录
-rw------- 1 root root 6144 05-27 17:52 aquota.group
-rw------- 1 root root 7168 05-27 17:55 aquota.user
drwxr-xr-x 2 dai root 4096 05-27 17:56 dai
drwx------ 2 root root 16384 05-27 17:49 lost+found
[root@new-host-2 windows]# cd dai/ 进入目录dai
[root@new-host-2 dai]# su dai 使用dai用户登录
[dai@new-host-2 dai]$ ls
file1 file2 file3 file4 file6
[dai@new-host-2 dai]$ mkdir ddd
mkdir: 无法创建目录 “ddd”: 超出磁盘限额
[dai@new-host-2 dai]$
我们可以看出我们的dai目录有5个文件在建立一个就提示超出磁盘配额,对用户的磁盘控制已经成功。