Menu Content/Inhalt

Login






Passwort vergessen?
Noch kein Benutzerkonto?
Registrieren
LVM und RAID PDF Drucken E-Mail

Von Diese E-Mail-Adresse ist gegen Spam-Bots geschützt, du musst Javascript aktivieren, damit du sie sehen kannst

1. Vorwort

Dieser Artikel soll nicht direkt eine neue Beschreibung der schon existierenden Artikel zu den Themen RAID und LVM unter Linux darstellen. Vielmehr ist er eine Ergänzung der schon vorhandenen Artikel. Aus diesem Grund gehe ich nicht auf die Grundlagen von RAID ein. Sollten Ihnen die Grundlagen nicht bekannt sein, so können Sie sich hier informieren. Der Schwerpunkt dieses Artikels wird auf RAID1 und besonders auf RAID5 liegen und den Problemen, die sich damit ergeben können. Außerdem möchte ich hier noch genauer den Unterschied zwischen RAID und LVM erklären, da ich bei meinem letzten Artikel sehr viele Anfragen zu diesem Thema bekommen habe.

2. Voraussetzungen

Mein System sah wie folgt aus: PII-450, 256 MB RAM, drei 2 GB SCSI Festplatten und eine 4,3 GB SCSI Festplatte. Die 4,3 GB SCSI Festplatte wurde dazu verwendet, um eine Austauschplatte bereit zu halten, damit sie in ein bestehendes RAID-System integriert werden kann. Mein Betriebssystem ist SuSE 6.4. Die Software (Paket: mdutils) ist bereits in SuSE 6.4 enthalten, oder kann problemlos nachträglich installiert werden. Die Software gibt es in zwei verschiedenen Versionen (eine ältere und eine aktuellere), die in ihrer Funktion aber identisch sind.

3. Konfiguration des RAID1-Systems

Als erstes muß das RAID1-System initialisiert werden. Dazu müssen wir die Datei raid1.conf.sample editieren. Sie finden die Datei entweder im /usr/doc/packages/mdutils Verzeichnis (bei der Standard SuSE-Installation) oder in Ihrem Quellverzeichnis falls Sie es heruntergeladen haben. Eigentlich müssen in der Datei nur Ihre Laufwerke bzw. die Partitionen angepaßt werden, falls Sie SCSI-Laufwerke verwenden und nur zwei Platten spiegeln möchten. Kopieren Sie danach die Datei nach /etc/raid1.conf.

Layout der Datei /etc/raid1.conf:

# Sample raid-1 configuration raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
 
device/dev/sda1
raid-disk0
  
device/dev/sdb1
raid-disk1

Bevor wir das Array angelegen, müssen wir auf jeden Fall alle Festplatten neu partitionieren (normale Linux-Partitionen). Nun kann das RAID-Array angelegt werden:

mkraid -f /etc/raid1.conf

Dieser Vorgang dauert je nach Größe und Anzahl der Festplatten unterschiedlich lange. Jetzt müssen wir dem md-Gerät noch mitteilen, mit welchen physikalischen Festplatten es zu tun hat, aktivieren das Array und schreiben alle Informationen in die Datei /etc/mdtab. Dadurch müssen wir nicht jedesmal wieder alles neu tippen.


mdadd /dev/md0 /dev/sda1 /dev/sdb1
mdrun -f0 -p1 /dev/md0
mdcreate -f0 raid1 /dev/md0 /dev/sda1 /dev/sdb1

Nun kann das Dateisystem geschrieben und gemountet werden.


mke2fs /dev/md0
mount /dev/md0 /mnt/raid1

Wenn Sie jetzt den Rechner neu starten, kann das Array mit dem Befehl mdadd -ar aktiviert und danach gemountet werden. Beim Herunterfahren darf das Array nicht gemountet sein und muß mit dem Befehl mdstop -a deaktiviert werden. Dieses gilt nur für Personen, die die mdutils aus dem Internet geladen und installiert haben. Diese Befehle sollten im Boot-Skript vorhanden sein. Siehe dazu auch Probleme mit RAID Systemen.

4. Konfiguration des RAID5-Systems

Die Konfiguration eines RAID5-Systems sieht ähnlich aus wie die eines RAID1-Systems. Als erstes nehmen Sie die Beispiel-Konfigurationsdatei (raid5.conf.sample) für das RAID5-System, passen sie an und kopieren sie nach /etc/raid5.conf.

Layout der Datei /etc/raid5.conf:


# Sample raid-5 configuration
raiddev		/dev/md0
raid-level		5
nr-raid-disks	3
chunk-size		32
# Parity placement algorithm

#parity-algorithm	left-asymmetric
parity-algorithm	left-symmetric
#parity-algorithm	right-asymmetric
#parity-algorithm	right-symmetric
 
# Spare disks for hot reconstruction (not supported yet)
#nr-spare-disks0
  
device/dev/sda1
raid-disk0
  
device/dev/sdb1
raid-disk1
  
device/dev/sdc1
raid-disk 2

Jetzt werden die Festplatten neu partitioniert und das Array initialisiert:

mkraid -f /etc/raid5.conf

Nun wird das RAID-System angelegt, aktiviert und die Informationen werden wieder in die Datei /etc/mdtab abgespeichert.


mdadd /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1
mdrun -p5 /dev/md0
mdcreate -c32k raid5 /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1

Nun kann das Dateisystem geschrieben und gemountet werden.


mke2fs /dev/md0
mount /dev/md0 /mnt/raid1

Wenn Sie jetzt den Rechner neu starten, kann das Array mit dem Befehl mdadd -ar aktiviert und danach gemountet werden. Beim Herunterfahren darf das Array nicht gemountet sein und muß mit dem Befehl mdstop -a deaktiviert werden. Dieses gilt nur für Personen, die sich die »mdutils» aus dem Internet geladen und installiert haben. Diese Befehle sollten im Boot-Skript vorhanden sein. Siehe dazu auch Probleme mit RAID-Systemen.

5. Der Ausfall einer Festplatte

Sollte eine Festplatte ausfallen, so empfiehlt sich als erstes eine Datensicherung auf eine andere Festplatte, um kein Risiko einzugehen. Danach muß der Rechner ordnungsgemäß abgeschaltet werden (umount /dev/md0; mdstop -a), und die Festplatte kann ausgetauscht werden. Jetzt ist besonders die Reihenfolge wichtig, in der Sie die neue Festplatte wieder einbauen. Achten Sie bei SCSI darauf, daß die neue Festplatte die selbe ID hat um, die korrekte Reihenfolge zu gewährleisten. Bei IDE müssen Sie darauf achten, ob Ihre vorherige HD Master oder Slave war und an welchen IDE-Kanal sie angeschlossen war.

Nun wird die neue Festplatte partitioniert und rekonstruiert:


Bei RAID1
ckraid --fix /etc/raid1.conf
Bei RAID5
ckraid --fix /etc/raid5.conf

Dieser Vorgang kann ebenfalls ziemlich lange dauern. Danach kann das Array wieder aktiviert werden.


mdadd -ar

Siehe dazu auch Probleme mit RAID-Systemen.

6. Probleme mit diesem RAID-System

Es haben sich während der ganzen Aktion nur zwei Probleme ergeben, die ich Ihnen nicht vor enthalten möchte, damit Ihnen nicht dasselbe passiert:

  • Da ich SuSE verwende, sind die entsprechenden Einträge im /etc/init.d/boot Skript schon vorhanden, was auch korrekt ist. Das Skript aktiviert beim Hochfahren des Rechners das RAID-Array. Gelingt es ihm nicht, das Array zu aktivieren, synchronisiert er das Array. Soweit ist das auch in Ordnung. Habe ich allerdings eine neue Festplatte eingebaut, die noch nie im Array war, dann wird die Sache etwas schwieriger. Er spiegelt die Festplatte zurück und versucht das Array zu aktivieren und zu mounten. Das endete damit, daß ich eine immer wiederkehrende Fehlermeldung erhielt und der Rechner nicht mehr ordnungsgemäß hochgefahren ist. Es empfiehlt sich also, das Boot-Skript ein wenig abzuändern, so daß Linux beim Hochfahren keine automatische Rekonstruktion vornimmt. Es ist einfacher und übersichtlicher, die ganze Rückspiegelung per Hand durchzuführen.
  • Nach der Rückspiegelung des RAID1-Systems bzw. beim Aktivieren des Arrays erhielt ich folgende Fehlermeldung: Invalid Checksum for /dev/md0. Sollten Sie auch diese Fehlermeldung erhalten, so löschen Sie einfach die Datei /etc/mdtab und erstellen sie erneut: mdcreate -f0 raid1 /dev/md0 /dev/sda1 /dev/sdb1
    Danach läßt sich das Array problemlos aktivieren. Bei RAID5 habe ich das Problem nicht feststellen können.

7. Hinweise zu diesem RAID-System

  • RAID ist zwar eine sehr effektive Methode, ein Sicherungssystem aufzusetzen, aber es schützt nicht vor Datenverlust. Aus diesem Grund empfehle ich Ihnen, trotzdem immer noch regelmäßig ein Backup (ZIP, Disk, Brenner, Streamer usw.) zu machen, wenn Sie sensible Daten besitzen. Das gleiche gilt bei einem Festplattenausfall innerhalb eines RAID-Systems. Sichern Sie die wichtigsten Daten, bevor Sie etwas an dem System ändern. Es kann immer etwas schief gehen...
  • Das RAID-System läuft nur mit einer Art von Festplatten. Das heißt, es ist nur einsetzbar, wenn nur SCSI- bzw. nur IDE-Festplatten genutzt werden.

8. Der Unterschied zwischen RAID und LVM

Nach meinen letzten Artikel (LVM) wurde ich öfters gefragt, wo denn genau der Unterschied zwischen RAID und LVM liegt und wann man welches Verfahren nehmen sollte. Jetzt möchte ich dazu eine Erklärung abgeben.

RAID ist definitiv ein Sicherheitssystem, das auf die Redundanz von mindestens zwei oder mehr Festplatten aufbaut. LVM ist dagegen kein Sicherheitssystem. Es baut darauf, auf mehrere physikalische Festplatten zu einem logischen Laufwerk zusammenzuschließen. Dabei ist es bei LVM egal, ob SCSI oder IDE miteinander gemischt werden. Es gibt hier keine Redundanz.

Die einzigen Zusammenhänge zwischen RAID und LVM bestehen darin, daß es mit beiden Systemen möglich ist, ein Data-Striping aufzusetzen (RAID0). Dabei sollte noch erwähnt werden, daß RAID0 kein Sicherheitssystem darstellt, da RAID0 alleine generell nicht redundant ist.

Wenn ich jetzt gefragt werde, welches System ich nutzen würde, um ein Data-Striping aufzusetzen, so kann ich nur sagen, daß es darauf ankommt, was ich nachträglich aus dem System machen möchte. Beide Systeme erfüllen generell die Anforderungen mit der Ausnahme, daß nur LVM in ein schon bestehendes System Festplatten bzw. Festplattenspeicher hinzufügen kann. Möchten Sie also ein System später noch erweitern, empfiehlt sich LVM.

Es sei noch erwähnt, daß es möglich ist, LVM in Kombination mit RAID-Systemen aufzusetzen. Mehr Informationen dazu finden Sie hier.

9. Quellen

http://luthien.nuclecu.unam.mx/~miguel/raid/ <- RAID-Infos
http://linas.org/linux/raid.html <- RAID-HowTos und weitere Infos
ftp://ftp.kernel.org/pub/linux/daemons/raid <- RAID Treiber

Manpages zu den Befehlen mdadd, mkcreate, mdrun, mkraid

 
< Zurück   Weiter >

Scroll-news

Mailingliste:
http://mlists.in-berlin.de/mailman/listinfo/lieo-mlists.in-berlin.de 

 

Das Forum ist online gegangen

 


Who's Online

Aktuell 16 Gäste online

Google AdSense