Zum Inhalt springen

Linux/RAID: Unterschied zwischen den Versionen

Aus Foxwiki
K Textersetzung - „–“ durch „-“
 
(41 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Linux/RAID''' - Datenträger zu logischen Laufwerken zusammenschließen
'''Linux/[[RAID]]''' - Datenträger zu logischen Laufwerken zusammenschließen


== Beschreibung ==
== Beschreibung ==
; Software-[[RAID]]
; Zusammenwirken der Festplatten wird softwareseitig organisiert
* Schnellerer Datenzugriff
Die meisten modernen Betriebssysteme sind dazu in der Lage
* Erhöhte Verfügbarkeit
* FreeBSD, OpenBSD, Apple macOS, HP HP-UX, IBM AIX, Linux, Microsoft Windows ab Windows  oder SUN Solaris
** im Falle eines Festplattendefektes


=== Partitionsgröße ===
Die einzelnen Festplatten sind in diesem Fall entweder über einfache Festplattencontroller am Computer angeschlossen oder es werden externe Storage-Geräte wie Disk-Arrays von Unternehmen wie EMC, Promise, AXUS, Proware oder Hitachi Data Systems (HDS) an den Computer angeschlossen
Es werden nur Partitionen gleicher Größe verwendet, da sonst Speicherkapazitäten ungenutzt bleiben
* Hardware-RAID und Software-RAID machen beide das Gleiche
* Von Software-RAID spricht man, wenn das Zusammenwirken der Festplatten komplett softwareseitig organisiert wird


Von Hetzner mit einem Betriebssystem bereitgestellte Server, oder über den [https://docs.hetzner.com/de/robot Robot] installierte Systeme sind bei mehr als zwei Laufwerken bereits mit dem empfohlenen RAID-Level (1 oder 6) versehen
Die Festplatten werden zunächst ohne RAID-Controller als sogenannte JBODs ("just a bunch of disks") in das System integriert, dann wird per Software-RAID (beispielsweise unter Linux mit dem Programm mdadm) die RAID-Funktionalität realisiert
 
Weiterhin können Sie das [https://docs.hetzner.com/de/robot/dedicated-server/operating-systems/installimage/ Installimage-Script] im [https://docs.hetzner.com/de/robot/dedicated-server/troubleshooting/hetzner-rescue-system/ Rescue-System] verwenden, um angepasste Installationen durchzuführen, dabei unter anderem eine gewünschte Software-RAID-Konfiguration einzustellen und dieses auch mit LVM kombinieren.
 
=== Software-RAID ===
Von Software-RAID spricht man, wenn das Zusammenwirken der Festplatten '''komplett softwareseitig organisiert''' wird
* Auch der Begriff '''Host based RAID''' ist geläufig, da nicht das Speicher-Subsystem, sondern der eigentliche Computer die RAID-Verwaltung durchführt
* Die meisten modernen Betriebssysteme wie FreeBSD, OpenBSD, Apple macOS, HP HP-UX, IBM AIX, Linux, Microsoft Windows ab Windows NT oder SUN Solaris sind dazu in der Lage
* Die einzelnen Festplatten sind in diesem Fall entweder über einfache Festplattencontroller am Computer angeschlossen oder es werden externe Storage-Geräte wie Disk-Arrays von Unternehmen wie EMC, Promise, AXUS, Proware oder Hitachi Data Systems (HDS) an den Computer angeschlossen
* Die Festplatten werden zunächst ohne RAID-Controller als sogenannte JBODs („just a bunch of disks“) in das System integriert, dann wird per Software-RAID (z. B. unter Linux mit dem Programm mdadm) die RAID-Funktionalität realisiert
* Eine besondere Variante des Software RAID sind Dateisysteme mit einer integrierten RAID-Funktionalität
* Eine besondere Variante des Software RAID sind Dateisysteme mit einer integrierten RAID-Funktionalität
* Ein Beispiel dafür ist das von Sun Microsystems entwickelte RAID-Z.[6]
* Ein Beispiel dafür ist das von Sun Microsystems entwickelte RAID-Z.[6]


; Pro
{| class="wikitable options big"
* Der Vorteil von Software-RAID ist, dass '''kein spezieller RAID-Controller benötigt''' wird
| Vorteile ||
* Die '''Steuerung wird von der RAID-Software erledigt''', diese ist entweder schon Teil des Betriebssystems oder wird nachträglich installiert
Der Vorteil von Software-RAID ist, dass kein spezieller RAID-Controller benötigt wird
* Dieser Vorteil '''kommt besonders bei der Disaster Recovery zum Tragen''', wenn der RAID-Controller defekt und nicht mehr verfügbar ist
* Die Steuerung wird von der RAID-Software erledigt, diese ist entweder schon Teil des Betriebssystems oder wird nachträglich installiert
* Dieser Vorteil kommt besonders bei der Disaster Recovery zum Tragen, wenn der RAID-Controller defekt und nicht mehr verfügbar ist
* Praktisch alle derzeit verfügbaren Software-RAID-Systeme benutzen die Festplatten so, dass diese auch ohne die spezifische Software ausgelesen werden können
* Praktisch alle derzeit verfügbaren Software-RAID-Systeme benutzen die Festplatten so, dass diese auch ohne die spezifische Software ausgelesen werden können
 
|-
; Contra
| Nachteile ||
* Bei einem Software-RAID werden '''bei Festplattenzugriffen neben dem Hauptprozessor des Computers auch die System-Busse wie PCI stärker belaste'''t als bei einem Hardware-RAID
Bei einem Software-RAID werden bei Festplattenzugriffen neben dem Hauptprozessor des Computers auch die System-Busse wie PCI stärker belastet als bei einem Hardware-RAID
* Bei leistungsschwachen CPUs und Bus-Systemen verringert dies deutlich die Systemleistung
* Bei leistungsschwachen CPUs und Bus-Systemen verringert dies deutlich die Systemleistung
* Bei leistungsstarken, wenig ausgelasteten Systemen ist dies belanglos
* Bei leistungsstarken, wenig ausgelasteten Systemen ist dies belanglos
Zeile 39: Zeile 27:
** Dieses Problem lässt sich mit einer unterbrechungsfreien Stromversorgung für den gesamten PC vermeiden
** Dieses Problem lässt sich mit einer unterbrechungsfreien Stromversorgung für den gesamten PC vermeiden
** Um die Gefahr von Datenverlusten und Fehlern in der Datenintegrität bei einem Stromausfall oder Systemabsturz zu minimieren, sollten außerdem die (Schreib-)Caches der Festplatten deaktiviert werden.[7]
** Um die Gefahr von Datenverlusten und Fehlern in der Datenintegrität bei einem Stromausfall oder Systemabsturz zu minimieren, sollten außerdem die (Schreib-)Caches der Festplatten deaktiviert werden.[7]
* Da die Platten eines Software-RAIDs prinzipiell auch einzeln angesprochen werden können, besteht bei gespiegelten Festplatten die Gefahr, dass Änderungen nur noch an einer Platte durchgeführt werden wenn etwa nach einem Betriebssystem-Update die RAID-Software oder der Treiber für einen RAID-Festplatten-Controller nicht mehr funktionieren, eine der gespiegelten Festplatten aber weiterhin über einen generischen SATA-Treiber angesprochen werden kann
* Da die Platten eines Software-RAIDs prinzipiell auch einzeln angesprochen werden können, besteht bei gespiegelten Festplatten die Gefahr, dass Änderungen nur noch an einer Platte durchgeführt werden - wenn etwa nach einem Betriebssystem-Update die RAID-Software oder der Treiber für einen RAID-Festplatten-Controller nicht mehr funktionieren, eine der gespiegelten Festplatten aber weiterhin über einen generischen SATA-Treiber angesprochen werden kann
* Entsprechende Warnhinweise oder Fehlermeldungen während des Bootens sollten deshalb nicht ignoriert werden, nur weil das System trotzdem funktioniert
* Entsprechende Warnhinweise oder Fehlermeldungen während des Bootens sollten deshalb nicht ignoriert werden, nur weil das System trotzdem funktioniert
* Ausnahmen bilden hier Software-RAID mit Datenintegrität wie z. B. ZFS
* Ausnahmen bilden hier Software-RAID mit Datenintegrität wie beispielsweise ZFS
* Unvollständige Speichervorgänge werden zurückgesetzt
* Unvollständige Speichervorgänge werden zurückgesetzt
* Fehlerhafte Spiegeldaten werden erkannt und durch korrekte Spiegeldaten ersetzt
* Fehlerhafte Spiegeldaten werden erkannt und durch korrekte Spiegeldaten ersetzt
* Es wird wohl beim Lesen eine Fehlermeldung geben, da die fehlerhafte oder alte Spiegelseite nicht mit dem aktuellen Block übereinstimmt
* Es wird wohl beim Lesen eine Fehlermeldung geben, da die fehlerhafte oder alte Spiegelseite nicht mit dem aktuellen Block übereinstimmt
|}


== Status auslesen ==
<noinclude>
 
Verwenden Sie dazu folgenden Befehl:
cat /proc/mdstat
 
Ausgabe für ein nicht vorhandenes RAID:
Personalities : [raid1]
unused devices: <none>
 
Ausgabe für ein RAID1:
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
      234405504 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk
md1 : active raid1 sda2[2] sdb2[1]
      523712 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
      33521664 blocks super 1.2 [2/2] [UU]
unused devices: <none>
 
Ausgabe für ein RAID0 (Die <tt>/boot</tt>-Partition <tt>md0</tt> muss immer als RAID1 eingerichtet sein, um davon booten zu können)
Personalities : [raid1] [raid0]
md2 : active raid0 sda3[0] sdb3[1]
      883956736 blocks super 1.2 512k chunks
md1 : active raid0 sda2[0] sdb2[1]
      52393984 blocks super 1.2 512k chunks
md0 : active raid1 sda1[0] sdb1[1]
      523264 blocks super 1.2 [2/2] [UU]
unused devices: <none>
 
Wenn unter einer der Partitionen ein Fortschritts-Balken dargestellt wird, läuft derzeit ein RAID-Resync-Prozess:
md0 : active raid1 sdb1[0] sdc1[1]
    2095040 blocks super 1.2 [2/2] [UU]
        [====>................]  resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec
 
== RAID hinzufügen ==
In unserem Beispiel-Szenario sind die Laufwerke <tt>/dev/sda</tt> bereits <tt>/dev/sdb</tt> in RAID1-Arrays konfiguriert, welche das Betriebssystem enthalten:
cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sda3[2] sdb3[1]
      234405504 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk
md1 : active raid1 sda2[2] sdb2[1]
      523712 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
      33521664 blocks super 1.2 [2/2] [UU]
unused devices: <none>
 
Es sind jedoch zwei weitere Laufwerke vorhanden (<tt>/dev/sdc</tt> und <tt>/dev/sdd</tt>), die wir als Daten-Laufwerk in einem RAID1-Array nutzen möchten. Dazu muss zuerst das RAID-Array hinzugefügt werden:
mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
 
Anschließend sollte die RAID-Konfiguration wie folgt aussehen:
cat /proc/mdstat
Personalities : [raid1]
md3 : active raid1 sdc1[0] sdd1[1]
    2095040 blocks super 1.2 [2/2] [UU]
        [====>................]  resync = 32.7% (418656/2095040) finish=4.2min speed=131219K/sec
md2 : active raid1 sda3[2] sdb3[1]
      234405504 blocks super 1.2 [2/2] [UU]
      bitmap: 0/2 pages [0KB], 65536KB chunk
md1 : active raid1 sda2[2] sdb2[1]
      523712 blocks super 1.2 [2/2] [UU]
md0 : active raid1 sda1[2] sdb1[1]
      33521664 blocks super 1.2 [2/2] [UU]
unused devices: <none>
 
Nun kann die neue Partition nach Belieben formatiert (hier EXT4) und eingehängt werden:
mkfs.ext4 /dev/md3
mount /dev/md3 /mnt
 
== E-Mail-Benachrichtigung ==
; E-Mail-Benachrichtigung bei Ausfall einer Festplatte im Software-RAID
 
; Voraussetzung
<blockquote>
Ein Mailserver Ihrer Wahl (z.B. [https://de.wikipedia.org/wiki/Sendmail Sendmail]) muss bereits installiert und konfiguriert sein.
</blockquote>
 
; Debian/Ubuntu/CentOS
Öffnen Sie <tt>/etc/mdadm/mdadm.conf</tt> bzw. <tt>/etc/mdadm.conf</tt> (CentOS) in einem Editor und passen Sie folgende Zeile an
MAILADDR holu@example.com
 
Hier kann direkt eine Zieladresse angegeben werden. Alternativ bietet es sich an, alle an root gerichteten Emails via <tt>/etc/aliases</tt> an eine bestimmte Mailadresse weiterzuleiten.
 
Optional kann auch die Absenderadresse konfiguriert werden:
MAILFROM mdadm@example.com
 
Wichtig bei Debian und Ubuntu ist, dass <tt>AUTOCHECK</tt> in der Datei <tt>/etc/default/mdadm</tt> auf <tt>true</tt> gestellt ist
grep AUTOCHECK= /etc/default/mdadm
AUTOCHECK=true
 
; openSUSE
Öffnen Sie <tt>/etc/sysconfig/mdadm</tt> in einem Editor und verändern Sie die Variable <tt>MDADM_MAIL</tt> auf die gewünschte Adresse, an die Benachrichtigungen gesendet werden sollen:
MDADM_MAIL="holu@example.com"
 
; Konfiguration prüfen
Ihre Konfiguration lässt sich mittels folgendem Befehl verifizieren, welcher per <tt>mdadm</tt> eine Test-Mail generiert und an die angegebene Adresse versendet:
mdadm --monitor --test --oneshot /dev/md0
 
Weiterhin sollten Sie noch sicherstellen, dass die Datei <tt>/etc/cron.daily/mdadm</tt> folgende Zeile enthält, welche für das tägliche Monitoring des RAIDs zuständig ist:
exec --monitor --scan --oneshot
 
== RAID auflösen ==
Um ein Software-RAID aufzulösen können folgende Befehle verwendet werden.
* Falls es sich dabei um die System-Partitionen handelt, sollte dazu das [https://docs.hetzner.com/de/robot/dedicated-server/troubleshooting/hetzner-rescue-system/ Rescue-System] gebootet werden.
 
mdadm --stop /dev/md0
mdadm --stop /dev/md1
mdadm --stop /dev/md2
mdadm --remove /dev/md0
mdadm --remove /dev/md1
mdadm --remove /dev/md2
 
Danach können die Laufwerke wieder normal formatiert werden (zb. mit ext4):
mkfs.ext4 /dev/sda
mkfs.ext4 /dev/sdb
 
Das Ergebnis kann mittels..
cat /proc/mdstat
...und...
fdisk -l
überprüft werden
 
Das Software-RAID sollte nun verschwunden sein


== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
* [[RAID/SoftwareHardwareRAID]]
{{Special:PrefixIndex/Linux/RAID/}}
 
{{Special:PrefixIndex/{{BASEPAGENAME}}/}}
 
=== HowTo ===
# [[Linux/RAID/Vorbereitung]]
# [[Linux/RAID/Anlegen]]
# [[Linux/RAID/Wartung]]
# [[Linux/RAID/Fehlerbehebung]]
# [[Linux/RAID/Aufgaben]]


=== Links ===
=== Links ===
==== Weblinks ====
==== Weblinks ====
# [https://docs.hetzner.com/de/robot/dedicated-server/raid/linux-software-raid/ https://docs.hetzner.com/de/robot/dedicated-server/raid/linux-software-raid/]
 
# [https://wiki.ubuntuusers.de/Software-RAID/ https://wiki.ubuntuusers.de/Software-RAID/]
# [https://www.thomas-krenn.com/de/wiki/Linux_Software_RAID https://www.thomas-krenn.com/de/wiki/Linux_Software_RAID]
# [https://de.wikipedia.org/wiki/RAID#Software-RAID https://de.wikipedia.org/wiki/RAID#Software-RAID]
# [http://tldp.org/HOWTO/Software-RAID-HOWTO.html The Software-RAID HOWTO]
# [https://RAID.wiki.kernel.org/index.php/Linux_RAID Linux RAID Wiki]
# [https://RAID.wiki.kernel.org/index.php/RAID_setup RAID Setup]
# [https://www.heise.de/ct/ausgabe/2013-6-Tipps-und-Tricks-rund-um-Linux-Software-RAID-2327050.html Festplattenpuzzles - Tipps und Tricks rund um Linux-Software-RAID]
# [https://www.tecchannel.de/a/workshop-software-RAID-unter-linux-einrichten,2032820 Workshop - Software-RAID unter Linux einrichten]
# [http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch26_:_Linux_Software_RAID#.XvMxWKZCTXA Quick HOWTO : Ch26 : Linux Software RAID]
# [http://vger.kernel.org/vger-lists.html#linux-RAID linux-RAID Mailing List]
# [https://www.thomas-krenn.com/de/wiki/Ubuntu-Server-Installation_mit_Software-RAID Ubuntu-Server-Installation mit Software-RAID]
# [https://RAID.wiki.kernel.org/index.php/RAID_superblock_formats https://RAID.wiki.kernel.org/index.php/RAID_superblock_formats]


[[Kategorie:Linux/RAID]]
[[Kategorie:Linux/RAID]]


</noinclude>
</noinclude>

Aktuelle Version vom 11. Mai 2025, 20:49 Uhr

Linux/RAID - Datenträger zu logischen Laufwerken zusammenschließen

Beschreibung

Zusammenwirken der Festplatten wird softwareseitig organisiert

Die meisten modernen Betriebssysteme sind dazu in der Lage

  • FreeBSD, OpenBSD, Apple macOS, HP HP-UX, IBM AIX, Linux, Microsoft Windows ab Windows oder SUN Solaris

Die einzelnen Festplatten sind in diesem Fall entweder über einfache Festplattencontroller am Computer angeschlossen oder es werden externe Storage-Geräte wie Disk-Arrays von Unternehmen wie EMC, Promise, AXUS, Proware oder Hitachi Data Systems (HDS) an den Computer angeschlossen

Die Festplatten werden zunächst ohne RAID-Controller als sogenannte JBODs ("just a bunch of disks") in das System integriert, dann wird per Software-RAID (beispielsweise unter Linux mit dem Programm mdadm) die RAID-Funktionalität realisiert

  • Eine besondere Variante des Software RAID sind Dateisysteme mit einer integrierten RAID-Funktionalität
  • Ein Beispiel dafür ist das von Sun Microsystems entwickelte RAID-Z.[6]
Vorteile

Der Vorteil von Software-RAID ist, dass kein spezieller RAID-Controller benötigt wird

  • Die Steuerung wird von der RAID-Software erledigt, diese ist entweder schon Teil des Betriebssystems oder wird nachträglich installiert
  • Dieser Vorteil kommt besonders bei der Disaster Recovery zum Tragen, wenn der RAID-Controller defekt und nicht mehr verfügbar ist
  • Praktisch alle derzeit verfügbaren Software-RAID-Systeme benutzen die Festplatten so, dass diese auch ohne die spezifische Software ausgelesen werden können
Nachteile

Bei einem Software-RAID werden bei Festplattenzugriffen neben dem Hauptprozessor des Computers auch die System-Busse wie PCI stärker belastet als bei einem Hardware-RAID

  • Bei leistungsschwachen CPUs und Bus-Systemen verringert dies deutlich die Systemleistung
  • Bei leistungsstarken, wenig ausgelasteten Systemen ist dies belanglos
  • Storage-Server sind in der Praxis oft nicht voll ausgelastet; auf solchen Systemen können Software-RAID-Implementierungen unter Umständen sogar schneller sein als Hardware-RAIDs
  • Ein weiterer Nachteil ist, dass bei vielen Software-RAID kein Cache genutzt werden kann, dessen Inhalt auch nach einem Stromausfall erhalten bleibt, wie es bei Hardware-RAID-Controllern mit einer Battery Backup Unit der Fall ist
    • Dieses Problem lässt sich mit einer unterbrechungsfreien Stromversorgung für den gesamten PC vermeiden
    • Um die Gefahr von Datenverlusten und Fehlern in der Datenintegrität bei einem Stromausfall oder Systemabsturz zu minimieren, sollten außerdem die (Schreib-)Caches der Festplatten deaktiviert werden.[7]
  • Da die Platten eines Software-RAIDs prinzipiell auch einzeln angesprochen werden können, besteht bei gespiegelten Festplatten die Gefahr, dass Änderungen nur noch an einer Platte durchgeführt werden - wenn etwa nach einem Betriebssystem-Update die RAID-Software oder der Treiber für einen RAID-Festplatten-Controller nicht mehr funktionieren, eine der gespiegelten Festplatten aber weiterhin über einen generischen SATA-Treiber angesprochen werden kann
  • Entsprechende Warnhinweise oder Fehlermeldungen während des Bootens sollten deshalb nicht ignoriert werden, nur weil das System trotzdem funktioniert
  • Ausnahmen bilden hier Software-RAID mit Datenintegrität wie beispielsweise ZFS
  • Unvollständige Speichervorgänge werden zurückgesetzt
  • Fehlerhafte Spiegeldaten werden erkannt und durch korrekte Spiegeldaten ersetzt
  • Es wird wohl beim Lesen eine Fehlermeldung geben, da die fehlerhafte oder alte Spiegelseite nicht mit dem aktuellen Block übereinstimmt


Anhang

Siehe auch

Links

Weblinks