Posted by
ryuzaki0
on from the the-tortoise-and-the-tortoise dept.
Thom writes "NerdPerfect is holding a contest to find the NT server with the slowest reboot time. The best (worst?) time so far is 49 minutes, 13 seconds. Go check it out."
6x8.5gb drives: fsck time 60 seconds.
by
Convergence
·
· Score: 5
You'd be surprised.. I have a system that fsck's 6 8.5 gig drives in parallel in under 60 seconds. (I think it is about that timeframe, it has been 65 days of uptime since it last booted.) Running a single fsck, on one drive (95% full) takes 35 seconds real time (as just measured)
But lets put it this way, that system takes less time to boot up with an fsck than my personal machine which has one 90% full 5gb partitian formatted with the defaults among its drives.
Those 6 drives are intended for big datafiles, so I make the blocksize 4kb as compared to the default 1kb. This means 1/4 the number if indirect blocks. Also, since its big files, there aren't a lot of directories so it doesn't have to scan through them. Those directories that there are only require 1/4 the time to read because they are 1/4 the number of blocks. (I assume that sequential reads are relatively free because seek time should be the main cost.)
Then, I formatted it at one inode per 128kb, as compared to the default of one inode for every 4kb. This drops the number of inodes fsck has to read off the disk by a factor of 30 to only 69632 (compared to >2 million in the default format). (FSCK *has* to read off each inode, to check if the file is orphaned.) I think that this here is the main speed improvement. It also frees an extra 120mb of drivespace. (drivespace that an fsck would have to read in.)
Remember, since you can never create new inodes, so the default format always starts you with a large amount of them, usually an insane number of extra ones.
What I'm saying is to format your drives appropriately for their planned usage. FSCK's don't always have to be that painful.
If you need that huge quantity of extra inodes and also have to save the data, than you are screwed. If you don't need all the inodes, then formatting a filesystem without them is a lot more effecient. And if you don't need to save the data (say, a cache server), then it may be faster to just reformat it upon each boot.
If none of the above apply, then yes, with the current version of ext2, it is very painful to fsck a 20gb filesystem that has 3 million files on it.:)
You'd be surprised.. I have a system that fsck's 6 8.5 gig drives in parallel in under 60 seconds. (I think it is about that timeframe, it has been 65 days of uptime since it last booted.) Running a single fsck, on one drive (95% full) takes 35 seconds real time (as just measured)
:)
But lets put it this way, that system takes less time to boot up with an fsck than my personal machine which has one 90% full 5gb partitian formatted with the defaults among its drives.
Those 6 drives are intended for big datafiles, so I make the blocksize 4kb as compared to the default 1kb. This means 1/4 the number if indirect blocks. Also, since its big files, there aren't a lot of directories so it doesn't have to scan through them. Those directories that there are only require 1/4 the time to read because they are 1/4 the number of blocks. (I assume that sequential reads are relatively free because seek time should be the main cost.)
Then, I formatted it at one inode per 128kb, as compared to the default of one inode for every 4kb. This drops the number of inodes fsck has to read off the disk by a factor of 30 to only 69632 (compared to >2 million in the default format). (FSCK *has* to read off each inode, to check if the file is orphaned.) I think that this here is the main speed improvement. It also frees an extra 120mb of drivespace. (drivespace that an fsck would have to read in.)
Remember, since you can never create new inodes, so the default format always starts you with a large amount of them, usually an insane number of extra ones.
What I'm saying is to format your drives appropriately for their planned usage. FSCK's don't always have to be that painful.
If you need that huge quantity of extra inodes and also have to save the data, than you are screwed. If you don't need all the inodes, then formatting a filesystem without them is a lot more effecient. And if you don't need to save the data (say, a cache server), then it may be faster to just reformat it upon each boot.
If none of the above apply, then yes, with the current version of ext2, it is very painful to fsck a 20gb filesystem that has 3 million files on it.