Archiv für März, 2011
RAID5: erst zwei dann drei dann vier, dann ist das Raid OK
Verfasst von Dietrich Heise unter Linux am 23. März 2011
Aufbau eines RAID5 mit anfangs zwei Platten LVM und Cryptfilesystem.
Tests
Um zu testen kann man sich kleine “virtuelle” Platten anlegen:
- dd if=/dev/zero of=/opt/platte_1 bs=1024 count=10000
- dd if=/dev/zero of=/opt/platte_2 bs=1024 count=10000
- dd if=/dev/zero of=/opt/platte_3 bs=1024 count=10000
- dd if=/dev/zero of=/opt/platte_4 bs=1024 count=10000
Diese “virtuellen” Platten kann man mittels loop1..4 einhängen.
- losetup /dev/loop0 /opt/platte_1
- losetup /dev/loop1 /opt/platte_2
- losetup /dev/loop2 /opt/platte_3
- losetup /dev/loop3 /opt/platte_4
Testen wir, ob alles funktioniert hat:
- losetup -a
hier sollte etwas in der folgenden Art zu sehen sein:
- /dev/loop0: [0801]:134352 (/opt/platte_1)
- /dev/loop1: [0801]:134540 (/opt/platte_2)
- /dev/loop2: [0801]:189589 (/opt/platte_3)
- /dev/loop3: [0801]:197763 (/opt/platte_4)
Das RAID5 wird nun mit zwei Platten eingerichtet, also zu diesem Zeitpunkt darf keine der Platten ausfallen, da das RAID5 erst mit drei Platten redundant ist. Wir legen also mit dem folgenden Befehl ein RAID5 an und tun so, als wäre die dritte Patte ausgebaut:
- mdadm --create /dev/md0 -l 5 -n 3 -x 0 /dev/loop0 /dev/loop1 missing
Prüfen mittels:
- mdadm --detail /dev/md0
Ausgabe:
- /dev/md0:
- Version : 00.90
- Creation Time : Sat Mar 12 10:50:36 2011
- Raid Level : raid5
- Array Size : 19840 (19.38 MiB 20.32 MB)
- Used Dev Size : 9920 (9.69 MiB 10.16 MB)
- Raid Devices : 3
- Total Devices : 2
- Preferred Minor : 0
- Persistence : Superblock is persistent
- Update Time : Sat Mar 12 10:50:36 2011
- State : clean, degraded
- Active Devices : 2
- Working Devices : 2
- Failed Devices : 0
- Spare Devices : 0
- Layout : left-symmetric
- Chunk Size : 64K
- UUID : c3c06f4b:99c5788a:d25d07bf:3cebe68e (local to host dh-VirtualBox)
- Events : 0.1
- Number Major Minor RaidDevice State
- 0 7 0 0 active sync /dev/loop0
- 1 7 1 1 active sync /dev/loop1
- 2 0 0 2 removed
Einrichtung des LVM auf dem erstelltem RAID Device
- pvcreate /dev/md0
- vgcreate test_vg /dev/md0
- lvcreate -L19M -n test_logical test_vg
Erstellen dey Crypto Filesystem:
- cryptsetup -y create secret /dev/test_vg/test_logical
- mkfs.ext3 /dev/mapper/secret
- mount /dev/mapper/secret /mnt/secret
Hinzufühgen der dritten Platte
- mdadm --add /dev/md0 /dev/loop2
Dieser Schritt kann bei einer wirklichen Platte > 1TB mehrere Stunden bis zu Tagen beanspruchen.
- mdadm --grow /dev/md0 -n 4 --backup-file=/root/growfile
Dieser Schritt wird bei einer wirklichen Platte > 1TB mehrere Tage beanspruchen. Der Platz der für die Datei /root/growfile benötigt wird liegt im einstelligen MB Bereich.
- pvresize /dev/md0
- lvresize -L 28MB /dev/test_vg/test_logical
Die Größe 28MB wurde weiter oben ermittelt “mdadm –detail /dev/md0″ zeigt die zur Verfühgung stehende “Array Size” an.
- cryptsetup resize secret
- resize2fs /dev/mapper/secret
Hinzufühgen der vierten Platte
- mdadm --add /dev/md0 /dev/loop3
Auch dieser Schritt wird wieder eine oder mehrere Stunden bis hin zu Tagen benötigen.