分类: LINUX
2010-03-03 14:02:54
转:
Jul 2 10:22:04 pptp kernel: EXT3-fs warning (device sda2): ext3_dx_add_entry: Directory index full!
Jul 2 10:22:04 pptp kernel:
Jul 2 10:22:04 pptp kernel: EXT3-fs warning (device sda2): ext3_dx_add_entry: Directory index full!
Jul 2 10:22:04 pptp kernel:
Jul 2 10:22:05 pptp kernel: EXT3-fs warning (device sda2): ext3_dx_add_entry: Directory index full!
//
df -i
See if you have any free inodes left on that mounted partition.
If you need to unmount /var normally fuser -m /var will let you know whats running on it, course you fuser -k as you've mentioned too.
Running in single user mode if practical might be most beneficial. If you get desperate you can of course comment out /var in fstab and run in single user mode to the fsck the drive and/or resize2fs it.
Also bear in mind that running fsck on a filesystem with a directory containing an overwhelming number of files might end up just making your machine run out of ram, forcing you to reboot and/or corrupting the filesystem your trying to grow.
此问题为inodes(索引节点)已满,引用"inode译成中文就是索引节点,每个存储设备(例如硬盘)或存储设备的分区被格式化为文件系统后,应该有两部份,一部份是inode,另一部份是Block,Block是用来存储数据用的。而inode呢,就是用来存储这些数据的信息,这些信息包括文件大小、属主、归属的用户组、读写权限等。inode为每个文件进行信息索引,所以就有了inode的数值。操作系统根据指令,能通过inode值最快的找到相对应的文件。"
通过几台的情分析判断,每一G的空间,有120000左右的inodes
可以在格式化分区时指定inodes的大小,加个 -N参数,如
mkfs.ext3 -N 2500000 /dev/sda6 #2500000 为inodes的大小
实际应用需要要根据分区的大小来定估算
造成此问题,通常是产生了大量的小文件