Linux/RAID
Linux/Software-RAID - physikalische Festplatten zu logischen Laufwerken zu vereinen
Beschreibung
- Software-Redundant Array of Independent Disks
- Schnellerer Datenzugriff
- Erhöhte Verfügbarkeit
- im Falle eines Festplattendefektes
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
Dieser Artikel Beschreibt die Nutzung eines Software-RAIDs
- Welches die Interaktion von mehreren Laufwerken in einem Linux-Betriebssystem organisiert
- ohne dafür einen Hardware-RAID-Controller zu verwenden
Software- vs. Hardware-RAID
- Pro Software-RAID
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
- Bei Software-RAIDs auf BIOS-Ebene (Host-RAID-Systemen) ist das nicht immer so
- Contra Software-RAID
Benutzt den Prozessor und verbraucht Ressourcen
- Bei einem RAID, das auf dem Betriebssystem (OS) eingerichtet wurde, profitiert das OS selber nicht vom RAID
- Pro Hardware-RAID
- Entlastung der Host-CPU.Alle Berechnungen werden vom RAID-Controller gemacht
- Steht schon beim Booten zur Verfügung
- Das OS profitiert vom RAID
- Unterstützt eine Vielzahl von Betriebssystemen
- Contra Hardware-RAID
- 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
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
Anhang
Siehe auch
- Linux/RAID
- Linux/RAID/Alignment
- Linux/RAID/Aufgaben
- Linux/RAID/Benachrichtigung
- Linux/RAID/Erstellung
- Linux/RAID/Fehlerbehebung
- Linux/RAID/Howto
- Linux/RAID/Mounten
- Linux/RAID/Optimierung
- Linux/RAID/Partitionierung
- Linux/RAID/Recovery
- Linux/RAID/Status
- Linux/RAID/Superblock
- Linux/RAID/TMP
- Linux/RAID/Tools
- Linux/RAID/Vorbereitung
- Linux/RAID/Wartung
- Linux/RAID/remove
Links
- HowTo
- Linux/Software-RAID/Vorbereitung
- Linux/Software-RAID/Anlegen
- Linux/Software-RAID/Wartung
- Linux/Software-RAID/Fehlerbehebung
- Linux/Software-RAID/Aufgaben
Weblinks
- https://docs.hetzner.com/de/robot/dedicated-server/raid/linux-software-raid/
- https://wiki.ubuntuusers.de/Software-RAID/
- https://www.thomas-krenn.com/de/wiki/Linux_Software_RAID
- https://de.wikipedia.org/wiki/RAID#Software-RAID
- The Software-RAID HOWTO
- Linux RAID Wiki
- RAID Setup
- Festplattenpuzzles - Tipps und Tricks rund um Linux-Software-RAID
- Workshop - Software-RAID unter Linux einrichten
- Quick HOWTO : Ch26 : Linux Software RAID
- linux-RAID Mailing List
- Ubuntu-Server-Installation mit Software-RAID
- https://RAID.wiki.kernel.org/index.php/RAID_superblock_formats
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 /boot-Partition md0 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 /dev/sda bereits /dev/sdb 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 (/dev/sdc und /dev/sdd), 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. Sendmail) muss bereits installiert und konfiguriert sein.
Debian/Ubuntu/CentOS
Öffnen Sie /etc/mdadm/mdadm.conf bzw. /etc/mdadm.conf (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 /etc/aliases an eine bestimmte Mailadresse weiterzuleiten.
Optional kann auch die Absenderadresse konfiguriert werden:
MAILFROM mdadm@example.com
Wichtig bei Debian und Ubuntu ist, dass AUTOCHECK in der Datei /etc/default/mdadm auf true gestellt ist
grep AUTOCHECK= /etc/default/mdadm AUTOCHECK=true
openSUSE
Öffnen Sie /etc/sysconfig/mdadm in einem Editor und verändern Sie die Variable MDADM_MAIL 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 mdadm eine Test-Mail generiert und an die angegebene Adresse versendet:
mdadm --monitor --test --oneshot /dev/md0
Weiterhin sollten Sie noch sicherstellen, dass die Datei /etc/cron.daily/mdadm 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 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