Linux磁盘配额教程,Linux教程之磁盘配额(Quota)

1.什么是quota

简单的说就是限制用户对磁盘空间的使用量。

因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现。

2.quota的用途

显示磁盘使用情况和配额

3.quota的一般作用对象

(1)针对WWW server

(2)针对mail server

(3)针对file server

4.quota的限制

(1)仅能针对整个文件系统

(2)需要kernel的支持

(3)只对一般用户有效

5.quota的使用

测试环境

RHEL6.6(默认kernel已经支持quota功能)

/dev/sdb1  供测试的文件系统

用户组   myquota

用户   quota1,quota2

具体操作如下

(1)重新挂/dev/sdb1文件系统,并添加usrquota,grpquota参数

[root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb1

重新挂载后,/dev/sdb1这个分区就支持quota功能了

[root@localhost ~]# mount | grep /dev/sdb1

/dev/sdb1 on /mnt/test type ext4 (rw,usrquota,grpquota)

(2)添加用户组和用户

[root@localhost ~]# groupadd myquota

[root@localhost ~]# useradd -g myquota quota1

[root@localhost ~]# useradd -g myquota quota2

(3)生成quota配置文件

[root@localhost ~]# cd /mnt/test/

[root@localhost test]# quotacheck -ug .

[root@localhost test]# ls

aquota.group  aquota.user  lost+found  生成quota配置文件

(4)启动quota功能

[root@localhost test]# quotaon /dev/sdb1

若要关闭 使用quotaoff命令

(5)修改quota配置文件

配置文件内容如下

Filesystem                  blocks      soft      hard    inodes    soft    hard

/dev/sdb1                        0              0          0            0          0          0

需要修改的是soft/hard的值,单位是KB,soft为警告值,hard为最大值,当磁盘使用量在soft-hard之间,就会发出警告(默认倒计时7天),若超过警告时间,磁盘使用量依然在soft-hard 之间,则会禁止使用磁盘空间。

若修改blocks的soft/hard表示规定用户可以使用的磁盘空间大小(一般都是规定磁盘使用量)

若修改的是inodes的 soft/hard值,表示规定用户可以创建的文件个数.

[root@localhost test]# edquota -u quota1    -->修改针对quota1用户的配置

Disk quotas for user quota1 (uid 500):

Filesystem                  blocks          soft            hard        inodes      soft    hard

/dev/sdb1                        0          100000      200000          0            0          0

[root@localhost test]# edquota -u quota2    -->修改针对quota2用户的配置

Disk quotas for user quota2 (uid 501):

Filesystem                  blocks      soft              hard        inodes    soft    hard

/dev/sdb1                    0            100000        200000          0            0        0

[root@localhost test]# edquota -g myquota  -->修改针对myquota组的配置

Disk quotas for group myquota (gid 500):

Filesystem                  blocks      soft      hard    inodes    soft    hard

/dev/sdb1                    251200    100000    300000          3        0        0

这样配置表示quota1,quota2用户最多使用200M的磁盘空间,超过100M就发出警告并进入倒计时,而myquota组最多使用300M的磁盘空间。

也就是说,虽然quota1,quota2都有200M的最大磁盘空间能使用权限,但他们都属于myquota组,他们的总量不得超过300M

修改权限

[root@localhost test]# chmod 777 .

[root@localhost test]# ll -d

drwxrwxrwx. 3 root root 4096 8月  23 09:36 .

切换quota1用户,进行测试

[root@localhost test]# su quota1

[quota1@localhost test]$ dd if=/dev/zero of=bigfile1 bs=1M count=150

sdb1: warning, user block quota exceeded.  -->警告

记录了150+0 的读入

记录了150+0 的写出

157286400字节(157 MB)已复制,1.02545 秒,153 MB/秒

再写入一个大文件

[quota1@localhost test]$ dd if=/dev/zero of=bigfile2 bs=1M count=150

sdb1: write failed, user block limit reached.

dd: 正在写入"bigfile2": 超出磁盘限额  -->超过200M的部分就无法写入了

记录了46+0 的读入

记录了45+0 的写出

47513600字节(48 MB)已复制,0.381467 秒,125 MB/秒

切换quota2用户

[root@localhost test]# su quota2

[quota2@localhost test]$ ls

aquota.group  aquota.user  bigfile1  bigfile2  lost+found

[quota2@localhost test]$ dd if=/dev/zero of=bigfile3 bs=1M count 50

记录了50+0 的读入

记录了50+0 的写出

52428800字节(52 MB)已复制,0.410838 秒,128 MB/秒

修改警告时间

[root@localhost test]$ edquota -t

Grace period before enforcing soft limits for users:

Time units may be: days, hours, minutes, or seconds

Filesystem            Block grace period    Inode grace period

/dev/sdb1                    7days                          7days

查看quota1的quota信息

[quota1@localhost test]$ quota -u quota1

Disk quotas for user quota1 (uid 500):

Filesystem  blocks  quota  limit  grace  files  quota  limit  grace

/dev/sdb1  200000* 100000  200000  6days      2      0      0          -->已经进入警告的倒计时了

查询quota2的quota信息

[root@localhost test]# quota -u quota2

Disk quotas for user quota2 (uid 501):

Filesystem  blocks  quota  limit  grace  files  quota  limit  grace

/dev/sdb1  51200  100000  200000              1      0      0

查询myquota组的quota信息

[root@localhost test]# quota -g myquota

Disk quotas for group myquota (gid 500):

Filesystem  blocks  quota  limit  grace  files  quota  limit  grace

/dev/sdb1  251200* 100000  300000  6days      3      0      0

总结:

quotacheck [ -gubcfinvdMmR ] [ -F quota-format ] -a | filesystem

-a   检查所有/etc/mtab中挂在的文件系统

-u  只检查用户的quota

-g  只检查用户组的quota

quota

不使用任何参数,查询当前用户的quota信息

-u  username  查询某用户的quota信息

-g  groupname  查询某用户组的quota信息

edquota

-u username   编辑某用户的quota配置

-g groupname  编辑某用户组的quota配置

-t        编辑警告时间的配置

还有一个综合查询命令是

repquota

-a  报告所有支持quota的文件系统

-u 报告针对user的quota信息

-g 包裹针对group的quota信息

一般三个参数一起使用

[root@localhost test]# repquota -aug

*** Report for user quotas on device /dev/sdb1

Block grace time: 7days; Inode grace time: 7days

Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

----------------------------------------------------------------------

root      --      20      0      0              2    0    0

quota1    +-  200000  100000  200000  6days      2    0    0

quota2    --  51200      0      0              1    0    0

*** Report for group quotas on device /dev/sdb1

Block grace time: 7days; Inode grace time: 7days

Block limits                File limits

Group          used    soft    hard  grace    used  soft  hard  grace

----------------------------------------------------------------------

root      --      20      0      0              2    0    0

myquota  +-  251200  100000  300000  7days      3    0    0

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值