what to do?
manually check filesystem:
I recommend you to run this in a
screen -S FileSystemCheck
session, so it will keep running if you get disconnected.
1. determine the name of your raid device (usually md0)
cat /etc/mdadm.conf
ARRAY /dev/md0 devices=/dev/sda3,/dev/sdb3
script filename: FilesystemCheck.sh
/etc/init.d/services.sh stop; # stop all services umount /dev/md0; # umount the filesystem -> if you get a device is busy lsof|grep MD0; # check what is using the device (killall rsync could help ;) e2fsck -p -f -v -C 0 /dev/md0; # check filesystem reboot; # reboot afterwards
# someone here recommends this: e2fsck -cDfty -v -C 0 /dev/md0; # check filesystem and check for badblocks as well /etc/init.d/services.sh stop; umount /dev/md0; lsof|grep MD0; e2fsck -cDfty -C 0 /dev/md0; # reboot; # if you want it all in one go # i got a lot of: answer=1 Inode 214107758 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214107759 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214107760 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214107763 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214500366 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214500570 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214696217 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214696265 has INDEX_FL flag set on filesystem without htree support. answer=1 Inode 214892669 has INDEX_FL flag set on filesystem without htree support. answer=1 # and on another system: answer=1 Inode 183304491 has INDEX_FL flag set but is not a directory. answer=1 Inode 183304491, i_blocks is 16, should be 0. answer=1 Inode 183304492 is in use, but has dtime set. answer=1 Inode 183304492 has an invalid extent (logical block 0, invalid physical block 2833810231, len 1) answer=1 Inode 183304492, i_size is 18446743528248703138, should be 0. answer=1 Inode 183304492, i_blocks is 4294967248, should be 8. answer=1 Extended attribute in inode 183304493 has a value size (4294966328) which is invalid answer=1 Error while reading over extent tree in inode 183304493: Corrupt extent header answer=1 Inode 183304493, i_blocks is 4294967184, should be 8. answer=1 Inode 183304494, i_size is 18428729675200071329, should be 4096. answer=1 Inode 183304494, i_blocks is 16, should be 8. answer=1 Error while reading over extent tree in inode 183304496: Corrupt extent header answer=1 Inode 183304496 is a zero-length directory. answer=1 Error while reading over extent tree in inode 183304497: Corrupt extent header answer=1 Inode 183304497, i_size is 18446735277616531115, should be 0. answer=1 Inode 183304497, i_blocks is 16, should be 8. answer=1 Extended attribute in inode 183304498 has a value size (0) which is invalid answer=1 Inode 183304498, i_blocks is 16, should be 8. answer=1 Extended attribute in inode 183304500 has a value block (4292870144) which is invalid (must be 0) answer=1 Inode 183304500, i_size is 4294837903, should be 17583596113920. answer=1 Inode 183304500, i_blocks is 4294967278, should be 16. answer=1 Inode 183304501 is in use, but has dtime set. answer=1 Error while reading over extent tree in inode 183304501: Corrupt extent header answer=1 Inode 183304501, i_size is 4292874240, should be 0. answer=1 Inode 183304501, i_blocks is 16, should be 8. answer=1 Inode 183304504 is in use, but has dtime set. answer=1 Segmentation fault
if it ran successfully you should see something like:
/dev/md0: ***** FILE SYSTEM WAS MODIFIED *****
1625545 inodes used (0.44%)
7420 non-contiguous files (0.5%)
869 non-contiguous directories (0.1%)
# of inodes with ind/dind/tind blocks: 0/0/0
Extent depth histogram: 1619143/1853/14
2487926347 blocks used (84.94%)
0 bad blocks
352 large files
1466916 regular files
153991 directories
0 character device files
0 block device files
2 fifos
0 links
4623 symbolic links (4519 fast symbolic links)
4 sockets
--------
1625536 files