You are here: Foswiki>ATLAS Web>ScrubbingTests (28 Jan 2008, Shaltev)Edit Attach

Steps performed

  • Power off data server
  • Take one drive out of the data server and put it into powered-off compute node
  • power on compute node
  • choose a LBA which should be "corrupted", e.g. 59511
  • save the data around this block:
 dd if=/dev/sdb of=precorruption.data bs=512 skip=59500 count=100
  • corrupt data
 make_bad_sector /dev/sdb 59511
  • The output should read:
 /dev/sdb: readback test LBA=59511
 /dev/sdb: success
 /dev/sdb: writing LBA=59511
 /dev/sdb: readback test LBA=59511 (this should fail)
 /dev/sdb: readback failed
  • check if it worked
 smartctl -data -t long /dev/sdb
  • This should fail (after a very short time) with the LBA chosen. The error message at the end of the output of
 smartctl -data -a /dev/sdb
should read:
 # 1 Extended offline Completed: read failure 90% 1339 59511
(of course some numbers will vary for you).
  • NOTE: if you happen to have a very recent version of smartmontools (at the time of writing this is a CVS-only feature), try using -d sat to enable you to run a selctive test. This won't take as long.
  • now power down compute node
  • remount the disk into the data server
  • power up the data server
  • start scrubbing with (cli64-172 is Areca's command line tool version 1.72):
 ./cli64-172 vsf check vol=1
(if no error is detected and there is another volume, please check this also!)
  • to watch the progress:
 watch -n 30 ./cli64-172 vsf info
  • and after the check:
 ./cli64-172 event info
This one should read like:
 2008-01-26 16:21:11 IDE Channel # 5 Reading Error
  • wait until check is done - it should be found and corrected
  • power down the data server
  • remount disk into compute node (powered off again)
  • power on the compute node
  • run dd again to see of the data is still the same
  • further check:
 make_bad_sector --readback /dev/sdb 59511
This should not fail.

And it does not fail (also, smartctl does not fail) smile

Conclusion: Areca 1261ML DOES do a proper job with scrubbing.

ToDo: Length of test

Helper scripts

do_bad.sh with example configuration

 #!/bin/bash
 # configure the script here THINK TWICE
 # Damage sectors between 201GB - 209GB
 LBA_LIST="421528000 421569110 421597920 421629030 421729440 421892850 425342760 429423403 431324854 436924732"
 LBA_FIRST=419430400
 LBA_LAST=440401900
 BYTE_SIZE=512
 HARD_DRIVE=/dev/sdb
 OUT_PRE_FILE=precorruption.data
 # DO NOT TOUCH THE LINES BELOW
 let FILE_SIZE=$LBA_LAST-$LBA_FIRST
 echo Calculated size: $FILE_SIZE
 echo Create $OUT_PRE_FILE
 dd if=$HARD_DRIVE of=$OUT_PRE_FILE bs=$BYTE_SIZE skip=$LBA_FIRST count=$FILE_SIZE
 echo Corrupt drive
 for i in $LBA_LIST; do
 echo make_bad_sector $HARD_DRIVE $i
 done
Topic revision: r1 - 28 Jan 2008, Shaltev
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback