|
|
(20 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 == |
| siehe auch [[RAID]]
| | ; 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 |
|
| |
|
| == RAID hinzufügen ==
| | 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 |
| ; Analyse
| |
| Hier sind die Laufwerke <tt>/dev/sda</tt> bereits <tt>/dev/sdb</tt> in RAID1-Arrays konfiguriert, welche das Betriebssystem enthalten
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| </syntaxhighlight>
| |
|
| |
|
| cat /proc/mdstat
| | 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 |
| Personalities : [raid1]
| | * Eine besondere Variante des Software RAID sind Dateisysteme mit einer integrierten RAID-Funktionalität |
| md2 : active raid1 sda3[2] sdb3[1]
| | * Ein Beispiel dafür ist das von Sun Microsystems entwickelte RAID-Z.[6] |
| 234405504 blocks super 1.2 [2/2] [UU]
| |
| bitmap: 0/2 pages [0KB], 65536KB chunk
| |
|
| |
|
| md1 : active raid1 sda2[2] sdb2[1]
| | {| class="wikitable options big" |
| 523712 blocks super 1.2 [2/2] [UU]
| | | 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 |
| | |} |
|
| |
|
| md0 : active raid1 sda1[2] sdb1[1]
| | <noinclude> |
| 33521664 blocks super 1.2 [2/2] [UU]
| |
| | |
| unused devices: <none>
| |
| | |
| ; Weitere Laufwerke
| |
| 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
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| </syntaxhighlight>
| |
| mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
| |
| | |
| Anschließend sollte die RAID-Konfiguration wie folgt aussehen
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| 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>
| |
| </syntaxhighlight>
| |
| | |
| Nun kann die neue Partition nach Belieben formatiert (hier EXT4) und eingehängt werden
| |
| <syntaxhighlight lang="bash" highlight="1" line>
| |
| mkfs.ext4 /dev/md3
| |
| mount /dev/md3 /mnt
| |
| </syntaxhighlight>
| |
| | |
| === Partitionsgröße ===
| |
| Alle verwendeten Partitionen eines RAIDs haben die gleiche Größe.
| |
| | |
| == 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 (z. B. 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/Linux/RAID/}} |
|
| |
|
| === 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> |
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