磁盘配额

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 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]$

相关文档
最新文档