badblocks: Check your hard drive for bad sectors

lrg tango drive hard disk badblocks: Check your hard drive for bad sectors We are living in a time where the quality of hard drives has been drastically decreased. The Vendors are struggling to improve the the capacity what is leading to ECC-Errors. Also the vulnerability for bad blocks has increased. Its no wonder that in one of my PCs an old IDE Spinpoint F1 by Samsung is doing its work while i already had to replace 3 drives within 2 years in my NAS. Because of the dead sectors.

Such dead sectors are blocks on the surface of an hard drive which are not writable due to physical damages. Facing bad blocks can be the sentence of death  for a RAID Array.

But how can we be sure that an hard drive is healthy?

Continue reading

md: Check consistency of Raids

lrg tango drive hard disk md: Check consistency of RaidsIf you want to grow a raid array or perform other actions on it you should make sure that all files are consistent.

mdadm has a function that can ensure this even without having to rebuild the raid.

trans md: Check consistency of Raids

Before you can start you always have to make sure that everything is save for the present:

If everything looks just fine, as above, we would not have to be concerned, if there would not be the risk of bad blocks because they have the characteristic that they become conspicuous only if there are read or write actions performed to them. For ensuring that the array act correct we are going to perform a manual check:

Now we have to check that the “check” we have just sent to /sys/block/md42/md/sync_action produces an effect:

Alright! The action has been started. If the Raid does not show any errors:

and does not suddenly start to rebuild we can grant that it is stable and start with the proper work, without being concerned that one of the disk could be damaged any way.

If you want to you can cancel the procedure by sending ‘idle’ to  /sys/block/md42/md/sync_action:


auffallend

Benchmark: md_raid5 – comparing 4 hard drives versus 3

lrg tango drive hard disk Benchmark: md raid5   comparing 4 hard drives versus 3Recently i had to grow the capacity of my NAS. The NAS is running Debian and RAID is powered by md. I had attached 3 hard drives to it which were working as RAID5 array. Now i could write about how to grow a RAID, but you will be able to read that on more than enough other websites. I would rather share a benchmark i have created using Bonnie++. Let me show you the effects of changing the amount of hard drive on the read and write performance.

Continue reading

Hard Drive Benchmark using Linux

If you want to know how performing you hard drive is you have to install bonnie++ first.

Using Debian and it derivatives its just:

After the installation create an empty folder on the drive you want to test. Bonnie++ will create temporary random content there while the benchmark is running.

Because i am having just one drive in my notebook the decision wasn’t really hard. The Partition / is nearly full so i used /home.

Now we can let bonnie++ attack the directory icon smile Hard Drive Benchmark using Linux . For having the needed permissions i had to run bonnie++ as root.

Now this will take a bit time but you will get a lot of information. (much more then a Windows application can process). When the process is done you should get some output like that:

(Please do not rate my benchmark. It was done under load)

Well this might disturb you but: Don’t Panic!

  • Per Char 4G has been written with 620 K/sec and an CPU-Usage of 98%
  • Per Block 4G has been written with 67046 K/sec and an CPU-Usage of 11%
  • Per Rewrite 4G has been written with 36145 K/sec and an CPU-Usage of 7%
  • Sequentiell Input done with 2149 K/sec and an CPU-Usage of 9%
  • Random done with 187,5 K/sec and an CPU-Usage of 5%

Modify Clonezilla

At work i need to use an application that can store and restore images of an computer. I am using Clonezilla to do so. Clonezilla is an distribution of Debian(sid) which does all those jobs. The advantage is that it is very customizable. Because i am storing all the images at the same space and using the same network setup i has become contra productive to setup it again and again for every single image . Thank god Clonezilla can run a prerunscript which does this for me. If you want to do the same get the lastest version of clonezilla as .zip file and extract it. Changes need to be done in the /syslinux/syslinux.cfgfile which defines the menu is shown when booting clonezilla.

Here we have two menu entries, i replaced those i did not need. I will explain the meaning of the syntax now for you:

  • label – Defines the option just for the config an can be set with any value
  • MENU DEFAULT – This defines which option should be booted if the countdown is over (define only once in config, use # for the rest)
  • MENU HIDE - Hides the menu.
  • MENU LABEL – The Label that is shown in menu.
  • MENU PASSWD – You could ask for an password when choosing the option but it is not needed to me.
  • “kernel /live/vmlinuzappend initrd=/live/initrd.img boot=live config noswap nolocales edd=on nomodeset” – Starts clonezilla as it is.
  • ocs_prerun=”mount -t cifs -o user=administrator,domain=domain.net 172.28.64.141:/Images /home/partimag” ocs_live_run=”/opt/drbl/sbin/ocs-sr -u restoredisk ask_user sda” ocs_live_extra_param=”" ocs_live_keymap=”/usr/share/keymaps/i386/qwertz/de-latin1.kmap.gz” ocs_live_batch=”no” ocs_lang=”en_US.UTF-8″ vga=788 toram=filesystem.squashfs nosplash- Here it becomes very tricky. Do not worry i will explain it for you:
    • ocs_prerun= – Commands in this value will run before clonezilla starts.
    • mount -t cifs -o- mounts a samba share with parameters:
      • user =admin – Login as “admin”
      • domain=domain.net – name of the domain (if you don’t know leave it blank. Home spaces do not use domains icon wink Modify Clonezilla )
      • 172.28.64.141:/Images – Place where the Images are stored or should be placed
      • /home/partimag – Clonezilla mounts the images here which is the reason it does not ask for any other place to search for the images.
    • ocs_live_run=”/opt/drbl/sbin/ocs-sr -u restoredisk ask_user sda” - ocs_live_run is defined two times in my config. This one runs the restore function of Clonezilla.
    • ocs_live_run=”/opt/drbl/sbin/ocs-sr -u -q2 -z1p -i 2048 -p poweroff savedisk ask_user sda- This is the second entry which runs the store function:
      • -u - Asks the user for the image name (could be set in config too).
      • restoredisk or savedisk - Which mode to run ? store, restore, partition or hard-drive ?
      • ask_user - This would be the name of the image but “-u” requests it from user.
      • sda – Which hard-drive should be written or red.
      • -q2 – Use “partclone”. I am preferring this .
      • -z1p – Use gzip-Kompression (with multicore)
      • -i 2048 – Splitzise in megabyte (Split every 2GB a new file for the backup.)
      • -p poweroff - power off after successfully running the script.
    • toram=filesystem.squashfs – Extracts all files to a ramdisk. Therefore you can remove the stick when clonezilla is booted.

After we modified our script we can flash it to an flashdrive (e.g using UnetBootIn or something like that) and test it.

If you have any problems with this how-to feel free to ask me for help and more information.