RHEL5.4配置磁盘配额
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RHEL5.4配置磁盘配额
下面是关于在linux下面关于磁盘配额的讨论,
磁盘配额介绍
目前的磁盘配额只可以针对单一的文件系统来进行操作,也就是每一个分区来做磁盘配额。在linux下面可以针对ext2和ext3的文件系统来做磁盘配额,磁盘配额可以对用户和组来做,可以针对文件的大小和数量做磁盘配置,还可以对用户进行软限制和硬限制。
在linux下面怎么配置磁盘配额呢?
第一步,在分区挂载选项上添加参数。
在磁盘配额的开始,我们要对需要做磁盘配额的分区在挂载选项上面添加两个参数,usrquota和grpquota这个两个参数,
Usrquota 代表可以对用户做磁盘配额
Grpquota 代表可以对组来做磁盘配额
下面开始编辑/etc/fstab这个文件添加参数。
/dev/sda8 /mnt ext3 defaults,usrquota,grpquota 0 0
~
已经在/etc/fstab这个文件里面添加了参数,但是并不可以立即生效,敲入一条命令让其立即生效。
[root@localhost ~]#
[root@localhost ~]# mount -o remount /dev/sda8
[root@localhost ~]#
[root@localhost ~]# mount |grep /dev/sda8
/dev/sda8 on /mnt type ext3 (rw,usrquota,grpquota)
[root@localhost ~]#
通过mount命令我们也可以看到,usrquota和grpqouta这两个磁盘配额参数也已经添加成功了。
第二步,生成磁盘配额数据库。
[root@localhost ~]#
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 3.9G 2.6G 1.2G 70% /
/dev/sda6 494M 11M 458M 3% /home
/dev/sda2 9.5G 2.9G 6.2G 32% /var
/dev/sda1 99M 14M 81M 15% /boot tmpfs 188M 0 188M
0% /dev/shm
/dev/hdc 2.8G 2.8G 0 100% /media/RHEL_5.4 i386 DVD
/dev/sda8 471M 11M 437M 3% /mnt
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ls
lost+found
[root@localhost mnt]#
通过df –h命令可以查看到我们的/dev/sda8这个分区是被挂载到/mnt下面的,我们进入了/mnt,现在里面什么东西也没有。
现在开始生成磁盘配额数据库
#quotacheck -cumg /dev/sda7
[root@localhost ~]# quotacheck -cumg /dev/sda8
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# ll
total 24
-rw------- 1 root root 6144 Feb 25 21:52 aquota.group
-rw------- 1 root root 6144 Feb 25 21:52 er
drwx------ 2 root root 12288 Feb 25 21:39 lost+found
现在可以看到,生成磁盘配额数据库后,在/mnt下面就自动的产生了两个文件,er和aquota.group这个两个文件。这两个文件就是用来存放所有磁盘配额的信息。
第三步,启用磁盘配额。
#quotaon /dev/sda8
启动磁盘配额功能,
[root@localhost ~]# quotaon /dev/sda8
[root@localhost ~]#
当然我们也可以关闭磁盘配额的功能。
[root@localhost ~]#
[root@localhost ~]# quotaoff /dev/sda8
第四步,编辑磁盘配额。
# edquota user1
现在我们系统中有个用户user1,我们就针对这个用户来做磁盘配额。
[root@localhost ~]#
[root@localhost ~]# edquota user1
Disk quotas for user user1 (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda8 0 0 0 0
0 0
~
解析下每个参数的意思,
Filesystem 代表为那个分区在做磁盘配额
Blocks 文件的大小
Soft 软限制文件大小
Hard 硬限制文件大小
Inodes 文件的数量
Soft 软限制文件数量
Hard 硬限制文件数量
有一点需要注意的是,如果在blocks这项里面已经默认就有了文件大小,那么我们在做文件大小磁盘配额限制的时候,一定要加上这个默认的文件大小,比如说在blocks这项里面已经有了20K大小的文件,那么我们在做磁盘配额限制用户只可以写如50K的数据,那么就必须加上那个默认的文件大小,也就是70K。inodes的选项也一样,在做限制的时候也需要加上默认的inodes的文件数量。
关于软限制和硬限制
软限制代表当用户写入的数据达到软限制的规定,就进行警告,但是还是可以写入数据的。
硬限制代表当用户写入的数据达到硬限制的规定,那么用户就不可以在磁盘写入数据了,强制性的。
现在我们来做一个试验,允许user1在/dev/sda8里面只可以写入100K的数据,当user1在/dev/sda8中写入的数据到达80K就进行警告。
[root@localhost ~]#
[root@localhost ~]# edquota user1
Disk quotas for user user1 (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda8 0 80 100 0 0
~
我们将user1的软限制设为80K,硬限制设为100K了。
现在我们来测试一下,磁盘配额有没有生效。可以看到idoes这项都是0,如果是0就表示这项不生效。
为了试验效果,首先将/mnt的权限全部开放。
[root@localhost ~]# chmod 777 /mnt/
[root@localhost ~]#
现在我们切换到user1用户,然后使用dd工具创建一个80K的文件。
[root@localhost ~]# su - user1
[user1@localhost ~]$
[user1@localhost ~]$ cd /mnt/
[user1@localhost mnt]$ ls
aquota.group er lost+found
[user1@localhost mnt]$ dd if=/dev/zero of=file bs=1K count=80
sda8: warning, user block quota exceeded.
80+0 records in
80+0 records out
81920 bytes (82 kB) copied, 0.00277285 seconds, 29.5 MB/s
[user1@localhost mnt]$ ls
aquota.group er file lost+found
[user1@localhost mnt]$
可以看到,我们通过dd工具创建了一个文件名为file的80K文件,但是给了我们一个警告,是因为user1达到了软限制,所以系统给了一个警告。