Emidio Planamente 's Homepage

Home GNU/Linux Programming Technology Sport Others Contact


  Google linux


  Debian Anatomy
  Debian Backports
  Debian Help
  Debian Planet
  Debian Swiss
  History of Debian
  Kernel 2.6
  Refcard for newbie
  Reference book
  SATA raid
  Weekly News

Official Docs

  Gimp Photo Archive
  Linuxdoc Reference
  Linux Focus
  Linux From Scratch
  Linux Hacks
  Linux Hardware
  Linux Printing
  Source Forge
  USB guide




  Linux on Laptops
  Linux Toshiba
  Tux Mobil


  Create it Your self
  Kororaa XGL 3





Linux based product


Free web service

  S5 presents

Against Micro$oft

  Combatti Micro$oft

HTML validator CSS validator


Software RAID micro howto

1. Software RAID with mdadm

2. Software RAID with raidtools2

1. Software RAID with mdadm

1.1. Installation

Just install mdadm package

  apt-get install mdadm

1.2. Documentation

Take a look in your directory


1.3. Creating partitions

I prefere to use RAID with partitions instead of disks. Therefore, before proceding, the partitions shall be created.

Use your prefered tools (e.g.: cfdisk) and set the partition type to "FD").

1.4. Autodetecting array

In order to autodetect your array at boot time, the following things are necessary:

- autodetection support in the kernel

- persistent superblocks shall be used (during creating)

- partition types set to FD

The autodetenction is the only way to boot the system from RAID.

1.5. Creating an array

To create a mirror with 2 harddisks (/dev/hda1 and /dev/hdc1):

  mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/hda1 /dev/hdc1

Note: Using "--create" will create superblocks. With "--build" the superblocks are not created.

1.6. Creating an array without all disks

This can be very helpfull when system or data shall be migrated from not RAID to RAID harddisk and you don't have a temporary place to store all.

  mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/hdc1

In this case, the system or data can be in /dev/hda1. Once the raid is working, the system or data can be copied to /dev/md0.

After that, /dev/hda1 can be added to the array with

  mdadm --add /dev/md0 /dev/hda1

1.7. Viewing array status

Very easily, the array status can be monitored with

  mdadm --detail /dev/md0

or if you prefere

  cat /pro/mdstat

1.8. Setting device to faulty

In order to test your array, you can simulate a break setting one device to faulty:

  mdadm --manage --set-faulty /dev/md0 /dev/hda1

1.9. Removing a device

When a device is broken, before removing it physically, it shall be removed from the array:

  mdadm /dev/md0 -r /dev/hda1

1.10. Adding a device

When a broken device has been replaced, it shall be added to the array:

  mdadm /dev/md0 -a /dev/sda1

1.11. Monitoring array

To monitor the array with a daemon:

  dpkg-reconfigure mdadm

dirty way:

  mdadm --monitor --mail=root@localhost --delay=1800 /dev/md0&

This will send a mail to root when something happen.

1.12. Assembling array

To assemble (syncronize) the array:

  mdadm --assemble


  mdadm --assemble --force

1.13. Configuration file

The configuration file is


but if you use autodetection, it is not necessary.

1.14. Stopping array

This stops the array, releasing all resources:

  mdadm -S /dev/md0

1.15. Destroying array

The array can't be really destroyed, because there is not a command providing such a feature.

Alternativelly, it is possible to make it not anymore visible to the system. This can be done with the following step.

Removing superblocks

  mdadm --zero-superblock /dev/xxx

where xxx is the device (e.g.: hda1, sda1, ...).

Now, the array will not be anymore automatically detected.

Note: This is enough to make the array invisible to the system, but the data are anyway there! If you want to safe erase them, give a look here: http://www.planamente.ch/emidio/pages/linux_tools_description.php (Secure data deletion).

2. Software RAID with raidtools2

2.1. Introduction

This tool is depracated. Use mdadm instead.

Emidio Planamente

Last modified on 2008-02-24