Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

tux:software_raid [2012/12/25 18:06]
wikisysop [Software-RAID unter Debian Linux erstellen]
tux:software_raid [2013/01/03 08:45] (aktuell)
wikisysop
Zeile 3: Zeile 3:
 Ein RAID dient dazu aus mehreren physikalischen Festplatten oder Speichermedien ein logisches Volume aufzubauen. Das kann aus mehreren Motivationen heraus geschehen, zB um den Datendurchsatz des Volumes zu erhöhen (RAID 0) oder um eine Platte zu spiegeln, um die Ausfallsicherheit zu erhöhen (RAID 1) oder um beides zu kombinieren (RAID 10). Daraus ergeben sich mehrere Ableger, welche im Grunde eine dieser beiden Grundfunktionen bereitstellt (zB RAID 5 (single parity) oder RAID 6 (double parity)). Ein RAID dient dazu aus mehreren physikalischen Festplatten oder Speichermedien ein logisches Volume aufzubauen. Das kann aus mehreren Motivationen heraus geschehen, zB um den Datendurchsatz des Volumes zu erhöhen (RAID 0) oder um eine Platte zu spiegeln, um die Ausfallsicherheit zu erhöhen (RAID 1) oder um beides zu kombinieren (RAID 10). Daraus ergeben sich mehrere Ableger, welche im Grunde eine dieser beiden Grundfunktionen bereitstellt (zB RAID 5 (single parity) oder RAID 6 (double parity)).
  
-Es gibt auch mehrere Möglichkeiten ein RAID-System zu erstellen. Zum Einen das Hardware-RAID,​ welches idR durch einen eigenen RAID-Controller im System realisiert wird und zum Anderen durch ein Software-RAID,​ welches idR durch eine geeignete Software im Betriebssystem realisiert wird. Letzteres hat den Vorteil, dass es kostengünstig zu realisieren ist; hat aber auch den Nachteil, dass es Leistung bzw Ressourcen des Systems benötigt, etwa zum Errechnen ​der Parität.+Es gibt auch mehrere Möglichkeiten ein RAID-System zu erstellen. Zum Einen das Hardware-RAID,​ welches idR durch einen eigenen RAID-Controller im System realisiert wird und zum Anderen durch ein Software-RAID,​ welches idR durch eine geeignete Software im Betriebssystem realisiert wird. Letzteres hat den Vorteil, dass es kostengünstig zu realisieren ist; hat aber auch den Nachteil, dass es Leistung bzw Ressourcen des Systems benötigt, etwa zum Berechnen ​der Parität.
  
 Dieses Howto beschreibt das Anlegen eines zusätzlichen RAID 0, RAID 1; RAID 10 und RAID 5 als Software-RAID in Linux Debian Squeeze. Dieses Howto beschreibt das Anlegen eines zusätzlichen RAID 0, RAID 1; RAID 10 und RAID 5 als Software-RAID in Linux Debian Squeeze.
Zeile 25: Zeile 25:
 unused devices: <​none></​xterm>​ unused devices: <​none></​xterm>​
  
-Für die weitere Vorgehensweise benötigen Sie natürlich noch die mindestens geforderte Anzahl an Festplatten,​ welche an den jeweiligen RAID-Level gestellt werden (RAID 0 -> 2; RAID 1 -> 2; RAID 5 -> 3; RAID 6 und RAID 10 -> 4 Festplatten) ​Auf allen Festplatten muss sich mindesten eine Partition befinden:+Für die weitere Vorgehensweise benötigen Sie natürlich noch die mindestens geforderte Anzahl an Festplatten,​ welche an den jeweiligen RAID-Level gestellt werden (RAID 0 -> 2; RAID 1 -> 2; RAID 5 -> 3; RAID 6 und RAID 10 -> 4 Festplatten).
  
-<​xterm>#​ <fc #​008000>​fdisk -l</​fc>​+====RAID erstellen====
  
-Disk /dev/sda: 5368 MB, 5368709120 bytes +Um ein RAID zu erstellen verwenden Sie das Tool >><​fc #​008000>​mdadm<​/fc><<​ mit den passenden Parametern. zB:
-255 heads, 63 sectors/​track,​ 652 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 identifier0x00083a88+
  
-   ​Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System +<​xterm>#​ <fc #​008000>​mdadm --create --verbose ​/dev/md0 --auto=yes --level=--raid-devices=2 /dev/sdb /dev/sdc</fc></xterm>
-/dev/sda1   ​* ​                   ​43 ​     340992 ​  ​83 ​ Linux +
-Partition 1 does not end on cylinder boundary. +
-/​dev/​sda2 ​             43         ​653 ​    ​4898817 ​   5  Extended +
-Partition ​does not end on cylinder boundary. +
-/dev/sda5              43         ​268 ​    ​1807360 ​  ​83 ​ Linux +
-/dev/sda6             ​268 ​        ​382 ​     910336 ​  ​83 ​ Linux +
-/dev/​sda7 ​            ​382 ​        ​419 ​     297984 ​  ​82 ​ Linux swap / Solaris +
-/​dev/​sda8 ​            ​419 ​        ​437 ​     141312 ​  ​83 ​ Linux +
-/dev/sda9             ​437 ​        ​653 ​    ​1737728 ​  ​83 ​ Linux+
  
-Disk **/dev/sdc**: 1073 MB, 1073741824 bytes + >><​fc #​008000>​mdadm --create</​fc><<​ legt hier ein neues RAID an; das logische Device >><​fc #008000>/dev/md0</fc><<​ ist die dazugehörige Gerätedateiwelche später dann auch zB in der Datei >><​fc #008000>/etc/fstab</fc><<​ zum Mounten verwendet wird; >><​fc #​008000>​--level=1<​/fc><<​ gibt den zu verwendenden RAID-Level an (Hier RAID 1 == gespiegelte Platte); >><​fc #​008000>​--raid-devices=2<​/fc><<​ gibt die Anzahl der zu verwendenden Festplatten an und am Ende kommen noch die Festplatten,​ welche schließlich verwendet werden sollen.
-255 heads, 63 sectors/track130 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: 0x25cbd315+
  
-   ​Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System +Der Status des RAID >><​fc #008000>/dev/md0</​fc><<​ kann nun abgerufen werden:
-/dev/sdc1               ​1 ​        ​130 ​    ​1044193+ ​ 83  Linux+
  
-Disk **/dev/sdd**: 1073 MB, 1073741824 bytes +<​xterm>#​ <fc #​008000>​mdadm --detail ​/dev/md0</​fc>​ 
-255 heads, 63 sectors/track, 130 cylinders +/dev/md0: 
-Units = cylinders of 16065 * 512 = 8225280 bytes +        ​Version : 1.2 
-Sector size (logical/​physical): 512 bytes / 512 bytes +  ​Creation Time : Tue Dec 25 22:06:15 2012 
-I/O size (minimum/​optimal): 512 bytes / 512 bytes +     Raid Level : raid1 
-Disk identifier0x0acc8829+     Array Size : 1048564 ​(1024.16 MiB 1073.73 MB
 +  Used Dev Size : 1048564 ​(1024.16 MiB 1073.73 MB) 
 +   Raid Devices ​
 +  Total Devices : 2 
 +    ​Persistence ​Superblock is persistent
  
-   ​Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System +    ​Update Time : Tue Dec 25 22:06:15 2012 
-/​dev/​sdd1 ​              ​1 ​        ​130 ​    ​1044193+ ​ 83  Linux+          State : clean 
 + ​Active Devices : 2 
 +Working Devices : 2 
 + ​Failed Devices : 0 
 +  Spare Devices : 0
  
-Disk **/​dev/​sdb**1073 MB, 1073741824 bytes +           ​Name ​debian606x86RAID:​0  ​(local to host debian606x86RAID) 
-255 heads, 63 sectors/​track,​ 130 cylinders +           ​UUID ​3e50691c:​78972c58:​3901a5ad:d612dc98 
-Units = cylinders of 16065 * 512 = 8225280 bytes +         Events ​0
-Sector size (logical/​physical): 512 bytes / 512 bytes +
-I/O size (minimum/​optimal)512 bytes / 512 bytes +
-Disk identifier0xf9b75405+
  
-   ​Device Boot      Start         ​End ​     Blocks ​  ​Id  System +    Number ​  ​Major   ​Minor ​  ​RaidDevice State 
-/dev/sdb1                       130     ​1044193+ ​ 83  Linux+       0       ​8 ​      ​16 ​       0      active sync   /dev/sdb 
 +             8       ​32 ​       1      active sync   /​dev/​sdc</​xterm>​ 
 +        
 +Des Weiteren wird noch ein RAID 5 aus drei weiteren Platten angelegt:
  
-Disk **/dev/sde**: 1073 MB, 1073741824 bytes +<​xterm>#​ <fc #​008000>​mdadm --create --verbose ​/dev/md1 --auto=yes --level=5 --raid-devices=3 ​/dev/sdd /dev/sde /dev/sdf</fc></xterm>
-255 heads, 63 sectors/​track,​ 130 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: 0x57b7200f+
  
-   ​Device Boot      Start         ​End ​     Blocks ​  ​Id ​ System +<​xterm>#​ <fc #​008000>​mdadm --detail /​dev/​md1</​fc>​ 
-/dev/sde1                       130     ​1044193+ ​ 83  Linux+/dev/md1: 
 +        Version : 1.2 
 +  Creation Time : Tue Dec 25 23:39:04 2012 
 +     ​Raid Level : raid5 
 +     Array Size : 2096128 (2047.34 MiB 2146.44 MB) 
 +  Used Dev Size : 1048064 (1023.67 MiB 1073.22 MB) 
 +   Raid Devices : 3 
 +  Total Devices : 3 
 +    Persistence : Superblock is persistent
  
-Disk **/​dev/​sdf**1073 MB, 1073741824 bytes +    Update Time Tue Dec 25 23:39:04 2012 
-255 heads, 63 sectors/​track,​ 130 cylinders +          State : clean 
-Units = cylinders of 16065 * 512 = 8225280 bytes + Active Devices : 3 
-Sector size (logical/​physical)512 bytes / 512 bytes +Working Devices ​3 
-I/O size (minimum/​optimal)512 bytes / 512 bytes + Failed Devices ​0 
-Disk identifier0x057cfad5+  Spare Devices ​0
  
-   Device Boot      Start         ​End ​     Blocks ​  ​Id  System +         ​Layout : left-symmetric 
-/dev/sdf1                       130     ​1044193+ ​ 83  Linux</​xterm> ​+     Chunk Size : 512K 
 + 
 +           Name : debian606x86RAID:​1 ​ (local to host debian606x86RAID) 
 +           UUID : 8e21dced:​c2b36052:​da3c78b3:​e1f8b294 
 +         ​Events : 0 
 + 
 +    Number ​  ​Major ​  ​Minor ​  ​RaidDevice State 
 +       ​0 ​      ​8 ​      ​48 ​       0      active sync   /​dev/​sdd 
 +       ​1 ​      ​8 ​      ​64 ​       1      active sync   ​/dev/sde 
 +       2       ​8 ​      ​80 ​       2      active sync   /dev/sdf</​xterm>​ 
 + 
 +====Dateisystem anlegen und Volume mounten==== 
 + 
 +Legen Sie auf dem angelegten Volume ein Dateisystem an (zB): 
 + 
 +<​xterm>#​ <fc #​008000>​mkfs.ext3 /​dev/​md0</​fc>​ 
 +# <fc #​008000>​mkfs.ext3 /​dev/​md1</​fc></​xterm>​ 
 + 
 +Die Mountpoints angelegt: 
 + 
 +<​xterm>#​ <fc #​008000>​mkdir /raid1 /​raid5</​fc></​xterm>​ 
 + 
 +Und mounten Sie im Anschluss das neue Volume: 
 + 
 +<​xterm>#​ <fc #​008000>​mount -t ext3 /dev/md0 /​raid1</​fc>​ 
 +# <fc #​008000>​mount -t ext3 /dev/md1 /​raid5</​fc></​xterm>​ 
 + 
 +Die Raid-Arrays sind nun einsetzbar. Damit sie beim Systemstart automatisch eingebunden werden, müssen Sie noch passende Einträge in die Datei >><​fc #​008000>/​etc/​fstab</​fc><<​ vornehmen. 
 +====Defekte Platten ersetzen==== 
 +Fallt nun eine Platte komplett aus, kann zB ein RAID1,5,6 oder 10 dieses kompensieren und weiterhin Zugriff auf die Daten ermöglichen. Hier an einem Beispiel mit einem RAID wird das uA so angezeigt:​ 
 + 
 +<​xterm>#​ <fc #​008000>​mdadm --detail /​dev/​md2</​fc>​ 
 +/dev/md2: 
 +        Version : 1.2 
 +  Creation Time : Tue Dec 25 19:04:55 2012 
 +     ​Raid Level : raid1 
 +     Array Size : 1048564 (1024.16 MiB 1073.73 MB) 
 +  Used Dev Size : 1048564 (1024.16 MiB 1073.73 MB) 
 +   Raid Devices : 2 
 +  Total Devices : 1 
 +    Persistence : Superblock is persistent 
 + 
 +    Update Time : Tue Dec 25 19:14:18 2012 
 +          **State : clean, degraded** 
 + ​Active Devices : 1 
 +Working Devices : 1 
 + ​Failed Devices : 0 
 +  Spare Devices : 0 
 + 
 +           Name : debian606LVMTS:​2 ​ (local to host debian606LVMTS) 
 +           UUID : a69be700:​f22d4b68:​e334dab3:​2b83286e 
 +         ​Events : 38 
 + 
 +    Number ​  ​Major ​  ​Minor ​  ​RaidDevice State 
 +       ​0 ​      ​0 ​       0        0      **removed** 
 +       ​1 ​      ​8 ​      ​16 ​       1      active sync   /​dev/​sdb</​xterm>​  
 + 
 +Um die ausgefallene Platte nun zu ersetzen, fügen Sie eine neue Platte dem RAID hinzu: 
 + 
 +<​xterm>#​ <fc #​008000>​mdadm --manage /dev/md0 --add /​dev/​sdb</​fc>​  
 +mdadm: added /​dev/​sdb</​xterm>​ 
 + 
 +**<fc #​800000>​Note:</​fc>​** Hier kommt eine unangenehme Eigenschaft der Unix Geräte Dateien ins Spiel. Fällt nun eine Platte (zB >><​fc #​008000>/​dev/​sdd</​fc><<​) komplett aus, rutschen alle anderen Festplatten in den Gerätedateien nach. Das bedeutet, dass die Platte, welche vorher >><​fc #​008000>/​dev/​sde</​fc><<​ gewesen ist, jetzt >><​fc #​008000>/​dev/​sdd</​fc><<​ ist uns. Angesprochen werden die RAIDs aber immer noch korrekt: 
 + 
 +In einem intakten Festplattenverband schaut die Zuordnung der Festplatten zB wie folgt aus: 
 + 
 +<​xterm>#​ <fc #​008000>​blkid</​fc>​ 
 +/dev/sda1: UUID="​afbaa7df-912f-4705-aa9a-8cf015f0c1b7"​ TYPE="​ext3"​  
 +/dev/sda5: UUID="​92416d64-ae35-4d96-8a14-d1a9515d5625"​ TYPE="​ext3"​  
 +/dev/sda6: UUID="​89d23849-546b-4cee-9056-ec3b0a3fd4f8"​ TYPE="​ext3"​  
 +/dev/sda7: UUID="​93996859-1ece-483a-9fd7-6135ab485da9"​ TYPE="​swap"​  
 +/dev/sda8: UUID="​b975705c-9961-47fe-80ba-d5026c5a90b8"​ TYPE="​ext3"​  
 +/dev/sda9: UUID="​d59c8583-9323-43b0-9c3c-3b147e47821a"​ TYPE="​ext3"​  
 +<fc #​0000FF>/​dev/​sdb:​ UUID="​f166056f-c54e-344a-5afc-5bb82634e797"​ LABEL="​debian606LVMTS:​0"​ TYPE="​linux_raid_member"​  
 +/dev/sdc: UUID="​f166056f-c54e-344a-5afc-5bb82634e797"​ LABEL="​debian606LVMTS:​0"​ TYPE="​linux_raid_member"</​fc>​  
 +**<fc #​0000FF>/​dev/​md0:​ UUID="​3a68f04e-9fbe-44cd-8b25-966cbe945a94"​ TYPE="​ext3"​ SEC_TYPE="​ext2"</​fc>​**  
 +<fc #​800000>/​dev/​sdd:​ UUID="​6a78842b-4763-68d5-c8c9-6ebcd91029e5"​ LABEL="​debian606LVMTS:​1"​ TYPE="​linux_raid_member"​  
 +/dev/sde: UUID="​6a78842b-4763-68d5-c8c9-6ebcd91029e5"​ LABEL="​debian606LVMTS:​1"​ TYPE="​linux_raid_member"​  
 +/dev/sdf: UUID="​6a78842b-4763-68d5-c8c9-6ebcd91029e5"​ LABEL="​debian606LVMTS:​1"​ TYPE="​linux_raid_member"​  
 +**/dev/md1: UUID="​a2f3aee1-dc81-425b-b2c2-a970d110e687"​ TYPE="​ext3"​ SEC_TYPE="​ext2"​**</​fc></​xterm>​ 
 + 
 +Nachdem zB die Platte >><​fc #​008000>/​dev/​sdd</​fc><<​ ausgefallen ist, zeigt sich die Zuordnung wie folgt: 
 + 
 + 
 +       
 +====RAID löschen==== 
 +Um ein RAID wieder zu löschen, müssen Sie es zuerst unmounten:​ 
 + 
 +<​xterm>#​ <fc #​008000>​unmount /​dev/​md0</​fc></​xterm>​ 
 + 
 +Das zu löschende Volume anhalten: 
 + 
 +<​xterm>#​ <fc #​008000>​mdadm --stop /​dev/​md0</​fc></​xterm>​ 
 + 
 +Und die Superblöcke auf den RAID-Mitgliedern löschen: 
 + 
 +<​xterm>#​ <fc #​008000>​mdadm --zero-superblock /​dev/​sd[b-c]</​fc></​xterm>​ 
 + 
 +Danach ist das RAID nicht mehr verfügbar:​ 
 + 
 +<​xterm>#​ <fc #​008000>​mdadm --detail /​dev/​md0</​fc>​ 
 +mdadm: cannot open /dev/md0: No such file or directory</​xterm>​
tux/software_raid.1356455211.txt.gz (47606 views) · Zuletzt geändert: 2012/12/25 18:06 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0