linux查看用户磁盘配额,Linux磁盘配额的设置与检测(4)

配额报告

一次检查一个用户的配额很没有效率,所以您会想要使用 repquota 命令生成配额报告。清单 16 显示了如何查看 /quotatest/ext4/ 上所有用户和组的配额。

清单 16. 生成配额报告

[root@echidna ~]# repquota -ug /quotatest/ext4/

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

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

Block limits File limits

User used soft hard grace used soft hard grace

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

root -- 24 0 0 2 0 0

ian +- 11260 10240 11264 6days 3 50 55

gretchen -- 2080 10240 11264 44 50 55

tom -+ 660 10240 11264 55 50 55 6days

development -- 4 0 0 1 0 0

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

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

Block limits File limits

Group used soft hard grace used soft hard grace

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

root -- 24 0 0 2 0 0

development -+ 14004 25600 28160 103 100 110 7days

请注意,清单 16 中用户 ian、tom 和组 development 的加号,它表明现在每个都超出了配额。用户 ian 有过多的数据。用户 tom 有过多的文件。组 development 也有过多文件。

正如使用其他配额命令一样,-a 选项生成启用配额的已安装的文件系统的报告。-v 选项生成一个更详细的输出。-n 选项生成数字用户的编号,而不是将用户编号解析为名称。这个会对庞大的报告提供一个性能提升,但对读者并没有那么有用。

XFS 文件系统上的项目配额

XFS 配额系统还支持项目配额,它是组配额的替换。您不能在 XFS 文件系统上同时使用组和项目配额。项目配额要通过在 /etc/fstab 中添加 prjquota(或者 pquota)启用。

项目配额使用数字 id 的概念和更具描述性的项目名称。文件 /etc/projects 用于映射数字项目识别符到目录树,而文件 /etc/projid 映射数字项目识别符到项目名称。可以不使用 /etc 中的这两个文件进行操作,但是这样较为不方便。查看映射页面获取详细信息。

要设置项目配额,您必须在专家模式(-x 选项)使用 xfs_quota 命令。首先您必须使用 project 子命令和 -s 选项,通过标记所有受影响的索引节点作为项目一部分来设置项目配额。然后使用 limit 子命令来设置硬件或者软件限制。清单 17 显示了如何在 /quotatest/xfs/proj-dir1 下设置一个 15MB 项目硬件限制的项目树。我们还将设置一个没有限制的并行 /quotatest/xfs/proj-dir2 进行说明。

清单 17. 设置 xfs 项目配额

[root@echidna ~]# mkdir -m ag+w /quotatest/xfs/proj-dir{1,2}

[root@echidna ~]# chown development:development /quotatest/xfs/proj-dir*

[root@echidna ~]# echo "50:/quotatest/xfs/proj-dir1" >> /etc/projects

[root@echidna ~]# echo "dev-projects:50" >> /etc/projid

[root@echidna ~]# xfs_quota -x

xfs_quota> path

Filesystem Pathname

000 /quotatest/xfs /dev/sda8 (uquota, pquota)

[001] /quotatest/xfs/proj-dir1 /dev/sda8 (project 50, dev-projects)

xfs_quota> project -s dev-projects

Setting up project dev-projects (path /quotatest/xfs/proj-dir1)...

Processed 1 (/etc/projects and cmdline) paths for project dev-projects with recursion

depth infinite (-1).

xfs_quota> limit -p bhard=15m dev-projects

xfs_quota> q

我们将通过使用户 chris 创建几个文件来说明项目配额。用户 chris 不是 development 组的成员,也没有为自己和组设置配额。清单 18 显示了 chris 不能在 /quotatest/xfs/proj-dir1 创建大于 15MB 的数据,但在 /quotatest/xfs/proj-dir2 中没有限制。

清单 18. 行动中的项目配额

[chris@echidna xfs]$ id chris

uid=1010(chris) gid=1010(chris) groups=1010(chris)

[chris@echidna xfs]$ dd if=/dev/zero of=proj-dir1/chris1 bs=1024 count=10000

10000+0 records in

10000+0 records out

10240000 bytes (10 MB) copied, 0.0379557 s, 270 MB/s

[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir1/chris2

cp: writing `proj-dir1/chris2': No space left on device

[chris@echidna xfs]$ ls -l proj-dir1

total 15356

-rw-rw-r--. 1 chris chris 10240000 Nov 23 13:16 chris1

-rw-rw-r--. 1 chris chris 5484544 Nov 23 13:16 chris2

[chris@echidna xfs]$ # Note: second copy was truncated at hard limit

[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris1

[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris2

[chris@echidna xfs]$ cp proj-dir1/chris1 proj-dir2/chris3

[chris@echidna xfs]$ du -sh *

15M proj-dir1

30M proj-dir2

用户警告

warnquota 命令用于对超出配额的用户发出邮件警告。当组超出配额时,就会发邮件给 /etc/quotagrpadmins 中组的指定用户。邮件格式由文件 /etc/warnquota.conf 控制。文件 /etc/quotatab 用于映射名称,例如 /dev/sda7 映射为用户更容易理解的描述,如 “Shared EXT3 filesystem”。通常 warnquota 作为一个 cron 工作定期运行。查看用户手册页面,了解更多 cron 和 warnquota 的信息。

Linux 上的配额介绍就到此为止。

【编辑推荐】

【责任编辑:李晶 TEL:(010)68476606】

内容导航

第 1 页:概述 第 2 页:检查配额包

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值