linux – 搞清楚为什么我要超过硬盘配额

我很擅长系统管理,所以如果我遇到了一些基本错误,请告诉我.

这是让我疯狂的东西.在工作中,我们有一个大型NFS服务器,为我们公司的所有员工提供服务.每个人都有一定数量的GB,他们可以写入它.我经常遇到“超出配额”错误,因为我运行了一些生成大量临时文件然后删除它们的程序,但在删除它们之前它们就达到了配额.

在与我们的系统管理员交谈后,我了解到我的配额已经增加到远远超出我对这些测试所需的配额,但似乎我将这个配额花在我的主文件夹以外的地方.系统管理员向我解释说,NFS服务器中我的用户名为所有者的每个文件都会计入我的配额.

我想得到这些文件的列表,这样我就可以删除很多我不再需要的文件了.但他告诉我,唯一的办法就是搜索整个公司的整个文件系统,浏览每个人的主文件夹.即一个耗时的过程.他现在正在做这个搜索.

对我来说听起来很奇怪的是:当Linux给我一个“超出配额”错误时,它似乎能够立即知道我正在超过我的配额.这不是一个耗时的过程.那么为什么我不能在不进行长时间搜索的情况下获取计入我的配额的文件列表呢?

解决方法

我可以想到可能导致配额问题的两件事.

首先,您应该知道通过在文件系统上创建一个小型数据库来实现配额,每次创建,修改或删除文件时都会更新. (实际上有两个,一个用于用户配额,一个用于组配额.)首次启用配额时,通过检查文件系统上每个文件的使用情况并记录每个用户和/或每个结果,该数据库为initialized这些文件中的组.因为每次有活动时文件系统驱动程序都会保持最新状态,所以查找用户当前的配额使用情况很快.

这儿存在一个问题.如果文件系统没有干净地卸载,则配额数据库可能会损坏,例如,如果硬断电.发生这种情况时,管理员应该在重新启动系统时验证并重建数据库,但这可能不会发生.或宇宙射线或硬盘驱动器故障可能会破坏它们.

但是,Running quotacheck要求卸载文件系统,或者至少以只读方式挂载,因此在重建配额数据库时无法使用它.这可能需要很长时间,所以很遗憾很少这样做. NFS服务器管理员应该安排停机时间来检查文件系统配额,并应考虑更改过程,以便在崩溃后重新启动时始终运行quotacheck.

其次,根据您的描述,您可能已达到inode配额.除了限制磁盘空间量之外,配额还可以限制可以创建的文件数.如果您创建了大量临时文件,那么这可能就是正在发生的事情.您(或NFS服务器管理员)也应该check this.运行quota -s以查看数据库认为您使用的限制与您的限制相比.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...