Wenn es um Softwareraids geht kommt man kaum um mdadm rum.
Also habe ich einmal den Weg zum RAID mit 4 HDDs beleuchtet.
Also fix eine VM gebaut, ein schnelles Debian installiert und der 8gb Systemplatte ncoh vier 100MB große HDDs für die Raidspielereien gespendet.

Am gängigsten sind wohl RAID5 und RAID 1+0.
Ich habe mich hier einfach mal für ein RAID 1+0 entschieden, da mehr Performance und eine im Idealfall höhere Ausfallsicherheit mir sympatischer sind.
root@debian:/dev# ls -la sd*
brw-rw—- 1 root disk 8, 0 Oct 16 11:57 sda
brw-rw—- 1 root disk 8, 1 Oct 16 11:57 sda1
brw-rw—- 1 root disk 8, 2 Oct 16 11:57 sda2
brw-rw—- 1 root disk 8, 5 Oct 16 11:57 sda5
brw-rw—- 1 root disk 8, 16 Oct 16 11:57 sdb
brw-rw—- 1 root disk 8, 32 Oct 16 11:57 sdc
brw-rw—- 1 root disk 8, 48 Oct 16 11:57 sdd
brw-rw—- 1 root disk 8, 64 Oct 16 11:57 sde
root@debian:/dev#
So – auf der sda haben wir nun unser System in ein paar lustigen Partitionen.
Zu unserem RAID werden die Platten
also fdisk /dev/sdb
(n) new
(p) primary
Partition Number (1)
first cylinder (1)
last cylinder (whatever)
(t) partition type
Selected Partition (1)
Hex Code (fd) ——> Linux Raid Auto
(w)
Und schon haben wir ein /dev/sdb1 erstellt.
Fdisk findet nun auch die Partition, die wir eben angelegt haben:
root@debian:/dev# fdisk -l /dev/sdb
Disk /dev/sdb: 104 MB, 104857600 bytes
255 heads, 63 sectors/track, 12 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x515c3841
Device Boot Start End Blocks Id System
/dev/sdb1 1 12 96358+ fd Linux raid autodetect
root@debian:/dev#
Jetzt machen wir das noch dreimal und schon kanns weitergehen.
Aus den jetzt erstellten Partitionen sdb1, sdc1, sdd1 und sde1 bauen wir uns jetzt ein RAID 1+0.
root@debian:/dev# mdadm -v –create /dev/md0 –level=raid10 –raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
Da wir ja nun wieder ein Blockdevice /dev/md0 haben, werfen wir erneut fdisk an und bauen uns eine Partition. Diesmal allerdings mit dem HexCode 83 für eine default Linuxpartition.
Jetzt werfen wir da noch ein XFS Filesystem rein und mounten den Spaß.
root@debian:/dev# mkfs.xfs /dev/md0p1
Der Eintrag in der /etc/fstab wäre zumindest dieser hier ;)
/dev/md0p1 /STORAGE xfs defaults 0 0
TROUBLESHOOTING
Ein kurzer Healthcheck wäre
root@debian:/# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sdb1[0] sde1[3] sdd1[2] sdc1[1]
192512 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
unused devices: <none>
Sollte zum Beispiel die /dev/sdb1 ausgefallen sein müssen wir diese zuerst aus dem RAID auskonfigurieren und nutzen hierzu die „–manage“ Option von mdadm. Zuerst faul „failed“ setzen und dann entfernen.
mdadm –manage /dev/md0 –fail /dev/sdb1
mdadm –manage /dev/md0 –remove /dev/sdb1
Jetzt ist Zeit die neue Platte einzubauen.
Diese erfährt die gleiche Behandlung wie im obigen Beispiel.
Partition anlegen und „FD“ als Type setzen.
Dann kann die Platte mit „add“ wieder dem RAID zugefügt werden.
mdadm –manage /dev/md0 –add /dev/sdb1
Jetzt startet ein Sync des RAIDs und alles ist wieder fein.
Zwischendrin könnt Ihr euch den Status des RAIDs immer wieder ansehen um rauszufinden ob das was Ihr getan habt auch Wirkung zeigte.