在一个拥有数百万个文件的目录上
背景:大约两年前的物理服务器,连接到3Ware RAID卡的7200-RPM SATA驱动器,ext3 FS安装的noatime和data =命令,不是疯狂的加载,内核2.6.18-92.1.22.el5,正常运行时间545天。 目录不包含任何子目录,只有数百万个小(〜100字节)的文件,有一些大(几KB)的文件。 我们有一台服务器,在过去的几个月里,这个服务器已经变得有些杜鹃了,但是我们之前只注意到,由于它包含了太多的文件,无法写入目录。 具体来说,它开始在/ var / log / messages中抛出这个错误: ext3_dx_add_entry: Directory index full! 有问题的磁盘有大量的inode: Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sda3 60719104 3465660 57253444 6% / 所以我猜这意味着我们达到目录文件本身有多less条目的限制。 不知道会有多less文件,但不能多于三百万左右。 这不好,请介意! 但这是我的问题的一部分:究竟是什么上限? 它是可调的吗? 在我大喊之前 – 我想调整它; 这个巨大的目录造成了各种各样的问题。 无论如何,我们在生成所有这些文件的代码中跟踪了这个问题,并且我们已经纠正了这个问题。 现在我坚持删除目录。 这里有几个选项: rm -rf (dir) 我先试了一下。 运行了一天半,没有任何明显的影响,我放弃并杀了它。 在目录中取消链接(2):绝对值得考虑,但问题是通过fsck删除目录中的文件是否比通过取消链接(2)删除目录更快。 就是这样或那样,我必须把这些inode标记为未使用。 这当然假设我可以告诉fsck不要把条目放到/ lost + found中的文件中; 否则,我刚刚移动了我的问题。 […]