nfs – 确定极大数据集的磁盘空间使用和文件数(任何技巧?)

长时间读者,第一次问问:

我是一名初级Linux管理员,他越来越多地支持本地和中国的大型数据集/商店. NFS存储.数据通常是大量文件夹和数据的形式.文件树具有任意名称.举一个挑战的例子,我正在使用包含数十万个嵌套目录和数千万个文件的20 TB分区.

由于这些分区/导出是共享资源,我通常必须在他们开始耗尽空间或inode时扮演侦探,以确定哪些文件夹是最大的违规者.

我发现’du -s’太慢而且手动无法完成这项工作,并希望看到其他人使用什么技巧来确定最大或最多的文件数目dirs是非常大的分区.

我唯一关心进行这些搜索的操作系统是RHEL 5/6,因此任何标准CLI Linux工具的组合都可以.

谢谢!

解决方法

如果完全可行的话,我建议将数据分成多个分区.无论您使用什么工具,扫描这么多文件都需要时间.如果它位于不同的分区上,您至少可以将问题缩小到单个分区.但这可能不是你正在做的选择.

du可能是您寻找的最佳工具.这是我如何使用它:

如果您的目录结构如下所示:

/mount/1/abc/123/456/789,/mount/1/def/stuff/morestuff/evenmorestuff
/mount/2/qwer/wer/erty

我会跑:

du -s /mount/*/* | sort -n

这将为您提供每个二级目录的总使用量,按大小排序.如果需要很长时间才能运行,请将其指向文件并在一夜之间运行.

您的输出将如下所示:

10000 /mount/1/abc
20000 /mount/1/def
23452 /mount/2/qwer

那么你只希望将它分解得足以看出问题点在哪里.

如果这是一个常见问题,您可以让它在系统不忙的时候每晚运行该命令,并将输出保存到文件中.然后,当您发现问题时,您会立即查看一些最新数据.

您可能希望查看的另一个选项是配额 – 如果这是共享存储并且它们都使用不同的用户帐户,则设置非常高的配额可能有助于防止失控进程使用大量存储空间.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...