Zum Inhalt springen

Linux/RAID

Aus Foxwiki

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

Links

HowTo
  1. Linux/Software-RAID/Vorbereitung
  2. Linux/Software-RAID/Anlegen
  3. Linux/Software-RAID/Wartung
  4. Linux/Software-RAID/Fehlerbehebung
  5. Linux/Software-RAID/Aufgaben
Weblinks
  1. https://docs.hetzner.com/de/robot/dedicated-server/raid/linux-software-raid/
  2. https://wiki.ubuntuusers.de/Software-RAID/
  3. https://www.thomas-krenn.com/de/wiki/Linux_Software_RAID
  4. https://de.wikipedia.org/wiki/RAID#Software-RAID
  5. The Software-RAID HOWTO
  6. Linux RAID Wiki
  7. RAID Setup
  8. Festplattenpuzzles - Tipps und Tricks rund um Linux-Software-RAID
  9. Workshop - Software-RAID unter Linux einrichten
  10. Quick HOWTO : Ch26 : Linux Software RAID
  11. linux-RAID Mailing List
  12. Ubuntu-Server-Installation mit Software-RAID
  13. 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