How to cause file system corruption for test purposes?
Solution 1
For the improper shutdown, you should be able to test using virtual machines. Write a script to load up all your applications and services. Then use an API to kill the VM and then boot it back up. Repeat... let your script run and see how long it takes to die.
For kernel errors: find an old beta kernel, eg from early Reiser or XFS or EXT4 days. Look through the bug lists and changes to find a reproducible bug.
Solution 2
The voice coil mechanism that positions hard drive heads uses rare earth magnets and I've gotten some pretty large, very strong magnets out of dead hard drives.
You can create disk errors on a working hard drive by taking a strong enough magnet and holding it against the top of a hard drive. Note, however, that this is not a reversible process, if it works at all it'll damage the servo tracks on the drive platters making the disk unusable.
Related videos on Youtube
grs
Updated on September 18, 2022Comments
-
grs over 1 year
AFAIK the reasons for file system corruption are as follows:
- improper shutdown (hard reset);
- hardware failures (bad block on disk, bad disk controller);
- improper startup (mounting damaged file system);
- kernel errors (really like to test this one).
Questions:
- Is there some other reason for file system corruption, which I missed?
- How to artificially cause file system corruption - I know about
dd
, but is there something more than this?
I am curious about Linux, but probably this will apply to Windows as well.
-
mdpc about 13 yearsYou have not mentioned human/operator error....like using fdisk to improperly resize a file. Also, writing to the disk raw or block device as though it were a standard file as the root user.
-
Anon about 5 years
-
grs about 13 yearsThe reason I am asking about kernel errors is because lately I came across this one:
kernel BUG at /build/buildd/linux-2.6.31/fs/ext4/inode.c:1853!
. This occurs randomly on kernel 2.6.31-22.70. I have many machines with this kernel, but only one shows it. I can't catch it so far, but I really would love to. Thanks!