Zum Inhalt springen

Linux/RAID: Unterschied zwischen den Versionen

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


== Beschreibung ==
== Beschreibung ==
; Software-[[Redundant Array of Independent Disks]]
; 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


Es werden nur Partitionen gleicher Größe verwendet, da sonst Speicherkapazitäten ungenutzt bleiben
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
* Hardware-RAID und Software-RAID machen beide das Gleiche
* Von Software-RAID spricht man, wenn das Zusammenwirken der Festplatten komplett softwareseitig organisiert wird


Dieser Artikel Beschreibt die Nutzung eines Software-RAIDs
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
* Welches die Interaktion von mehreren Laufwerken in einem Linux-Betriebssystem organisiert
* Eine besondere Variante des Software RAID sind Dateisysteme mit einer integrierten RAID-Funktionalität
* ohne dafür einen Hardware-RAID-Controller zu verwenden
* Ein Beispiel dafür ist das von Sun Microsystems entwickelte RAID-Z.[6]


<!--  
{| class="wikitable options big"
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. 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.
| 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
== Software- vs. Hardware-RAID ==
* Dieser Vorteil kommt besonders bei der Disaster Recovery zum Tragen, wenn der RAID-Controller defekt und nicht mehr verfügbar ist
; Pro Software-RAID
* Praktisch alle derzeit verfügbaren Software-RAID-Systeme benutzen die Festplatten so, dass diese auch ohne die spezifische Software ausgelesen werden können
Software-RAIDs gibt es als Open-Source-Software
|-
* Bei Defekt des Betriebssystems, kann das RAID oft noch mit einer neuen Installation des gleichen Betriebssystems wieder eingelesen werden
| Nachteile ||
* Bei Software-RAIDs auf BIOS-Ebene (Host-RAID-Systemen) ist das nicht immer so
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
; Contra Software-RAID
* Bei leistungsstarken, wenig ausgelasteten Systemen ist dies belanglos
Benutzt den Prozessor und verbraucht Ressourcen
* 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
* Bei einem RAID, das auf dem Betriebssystem (OS) eingerichtet wurde, profitiert das OS selber nicht vom RAID
* 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
; Pro Hardware-RAID
** 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]
* Entlastung der Host-CPU.Alle Berechnungen werden vom RAID-Controller gemacht
* 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
* Steht schon beim Booten zur Verfügung
* Entsprechende Warnhinweise oder Fehlermeldungen während des Bootens sollten deshalb nicht ignoriert werden, nur weil das System trotzdem funktioniert
** Das OS profitiert vom RAID
* Ausnahmen bilden hier Software-RAID mit Datenintegrität wie beispielsweise ZFS
* Unterstützt eine Vielzahl von Betriebssystemen
* Unvollständige Speichervorgänge werden zurückgesetzt
 
* Fehlerhafte Spiegeldaten werden erkannt und durch korrekte Spiegeldaten ersetzt
; Contra Hardware-RAID
* Es wird wohl beim Lesen eine Fehlermeldung geben, da die fehlerhafte oder alte Spiegelseite nicht mit dem aktuellen Block übereinstimmt
* Bei RAID-Controller-Defekt - kann kein baugleiches Modell aufgetrieben werden, wird das RAID zum Datengrab
|}
* Zusätzliche Kosten für einen RAID-Controller (kein Fake-RAID)
 
; Fake-RAIDs
<blockquote>
''' können nur eine begrenzte Anzahl von RAID-Leveln, häufig nur RAID-Level 0 und 1
Um die Controller/Karten so billig wie möglich zu halten, überlassen die Hersteller die RAID-Logik der CPU
=> Benutzt also den Prozessor und verbraucht Ressourcen
</blockquote>


<noinclude>
<noinclude>
Zeile 50: Zeile 39:
== Anhang ==
== Anhang ==
=== Siehe auch ===
=== Siehe auch ===
{{Special:PrefixIndex/{{BASEPAGENAME}}}}
{{Special:PrefixIndex/Linux/RAID/}}
==== Links ====
; HowTo
# [[Linux/Software-RAID/Vorbereitung]]
# [[Linux/Software-RAID/Anlegen]]
# [[Linux/Software-RAID/Wartung]]
# [[Linux/Software-RAID/Fehlerbehebung]]
# [[Linux/Software-RAID/Aufgaben]]


===== Weblinks =====
=== Links ===
# [https://docs.hetzner.com/de/robot/dedicated-server/raid/linux-software-raid/ https://docs.hetzner.com/de/robot/dedicated-server/raid/linux-software-raid/]
==== Weblinks ====
# [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/Software-RAID]]
 
[[Kategorie:Linux/RAID]]


</noinclude>
</noinclude>
= Linux Software RAID =
== Status des Software-RAID auslesen ==
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
== Hinzufügen eines Software-RAID-Arrays ==
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 bei Ausfall einer Festplatte im Software-RAID ==
'''Voraussetzung:''' Ein Mailserver Ihrer Wahl (z.B. [https://de.wikipedia.org/wiki/Sendmail Sendmail]) muss bereits installiert und konfiguriert sein.
=== 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
== Software-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

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