Linux/Software-RAID: Unterschied zwischen den Versionen

Aus Foxwiki
Robertquies (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
K Textersetzung - „bzw.  “ durch „bzw. “
 
(369 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Wiki Software-RAID=
Ein Software-'''R'''edundant '''A'''rray of '''I'''ndependent '''D'''isks dient dazu, mehrere physikalische Festplatten zu einem oder mehreren logischen Laufwerken zu vereinen.
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. Ein Beispiel dafür ist das von Sun Microsystems entwickelte RAID-Z.[6]
=RAID allgemein=
Pro
*Schnellerer Datenzugriff und/oder erhöhte Verfügbarkeit des Systems 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.


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.
=Vergleich - Software-RAID/Hardware-RAID=
Contra


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]
==Pro Software-RAID==


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 z. B. 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.
*Software-RAIDs gibt es als Open-Source-Software.
Software-Raid und Storage-Server
*Bei Defekt des Betriebssystems, kann das RAID oft noch mit einer neuen Installation des gleichen Betriebssystems wieder eingelesen werden.
Mit einem Software-RAID-ähnlichen Ansatz lassen sich auch (logische) Volumes, die von unterschiedlichen Storage-Servern zur Verfügung gestellt werden, auf Seite des Anwendungsservers spiegeln. Das kann in hochverfügbaren Szenarien nützlich sein, weil man damit unabhängig von entsprechender Cluster-Logik in den Storage-Servern ist, welche häufig fehlt, andere Ansätze verfolgt oder herstellerabhängig und somit in gemischten Umgebungen nicht zu gebrauchen ist. Allerdings muss das Host-Betriebssystem entsprechende Features mitbringen (z. B. durch Einsatz von GlusterFS, des Logical Volume Manager oder von NTFS). Solche Storage-Server sind üblicherweise in sich schon redundant. Ein übergreifendes Cluster richtet sich also eher gegen den Ausfall des ganzen Servers oder eines Rechnerraumes (Stromausfall, Wasserschaden, Brand usw.) Ein einfacher Spiegel, vergleichbar mit RAID 1, reicht hier aus; siehe auch Hauptartikel Storage Area Network.  
*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.
 
=Superblock=
 
*Linux-Software-RAID speichert alle notwendigen Informationen zu einem RAID-Array in einem Superblock.
 
*Je nach Metadaten-Version liegt dieser an unterschiedlichen Stellen.
 
*Mehr Info: [https://RAID.wiki.kernel.org/index.php/RAID_superblock_formats https://RAID.wiki.kernel.org/index.php/RAID_superblock_formats]
 
==Superblock Metadaten-Version 0.90==
 
*Der version-0.90 Superblock ist 4.096 Byte groß und liegt in einem 64 KiB aligned block am Ende eines Devices.
 
*Der Superblock beginnt ja nach Devicegröße frühestens 128 KiB vor dem Ende des Devices, bzw. spätestens 64 KiB vor dem Ende des Devices.
 
*Um die Adresse des Superblocks zu berechnen, wird die Device-Größe auf ein vielfaches von 64 KiB abgerundet und dann 64 KiB vom Ergebnis abgezogen.
 
*Einschränkungen der Metadaten-Version 0.90
**Maximal 28 Devices in einem Array.
**Jedes Device kann maximal 2 TiB groß sein.
**Keine Unterstützung des [https://RAID.wiki.kernel.org/index.php/The_Badblocks_controversy Bad-Block-Managements].
 
==Superblock Metadaten-Version 1.*==
 
*Die Position des Superblock hängt von der Version der Metadaten ab
**Version 1.0: Der Superblock liegt am Ende des Devices.
**Version 1.1: Der Superblock liegt am Anfang des Devices.
**Version 1.2: Der Superblock liegt 4 KiB nach dem Beginn des Devices.
 
= HowTo =
# [[Linux:Software-RAID:Vorbereitung]]
# [[Linux:Software-RAID:Anlegen]]
# [[Linux:Software-RAID:Wartung]]
# [[Linux:Software-RAID:Fehlerbehebung]]
# [[Linux:Software-RAID:Aufgaben]]


=Quellen=
=Quellen=
*[https://wiki.ubuntuusers.de/Software-RAID/ https://wiki.ubuntuusers.de/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://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]
#[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]]

Aktuelle Version vom 28. Mai 2023, 22:16 Uhr

Ein Software-Redundant Array of Independent Disks dient dazu, mehrere physikalische Festplatten zu einem oder mehreren logischen Laufwerken zu vereinen.

RAID allgemein

  • Schnellerer Datenzugriff und/oder erhöhte Verfügbarkeit des Systems 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.

Vergleich - Software-RAID/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.

Superblock

  • Linux-Software-RAID speichert alle notwendigen Informationen zu einem RAID-Array in einem Superblock.
  • Je nach Metadaten-Version liegt dieser an unterschiedlichen Stellen.

Superblock Metadaten-Version 0.90

  • Der version-0.90 Superblock ist 4.096 Byte groß und liegt in einem 64 KiB aligned block am Ende eines Devices.
  • Der Superblock beginnt ja nach Devicegröße frühestens 128 KiB vor dem Ende des Devices, bzw. spätestens 64 KiB vor dem Ende des Devices.
  • Um die Adresse des Superblocks zu berechnen, wird die Device-Größe auf ein vielfaches von 64 KiB abgerundet und dann 64 KiB vom Ergebnis abgezogen.
  • Einschränkungen der Metadaten-Version 0.90
    • Maximal 28 Devices in einem Array.
    • Jedes Device kann maximal 2 TiB groß sein.
    • Keine Unterstützung des Bad-Block-Managements.

Superblock Metadaten-Version 1.*

  • Die Position des Superblock hängt von der Version der Metadaten ab
    • Version 1.0: Der Superblock liegt am Ende des Devices.
    • Version 1.1: Der Superblock liegt am Anfang des Devices.
    • Version 1.2: Der Superblock liegt 4 KiB nach dem Beginn des Devices.

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

Quellen

  1. https://wiki.ubuntuusers.de/Software-RAID/
  2. https://www.thomas-krenn.com/de/wiki/Linux_Software_RAID
  3. https://de.wikipedia.org/wiki/RAID#Software-RAID
  4. The Software-RAID HOWTO
  5. Linux RAID Wiki
  6. RAID Setup
  7. Festplattenpuzzles - Tipps und Tricks rund um Linux-Software-RAID
  8. Workshop - Software-RAID unter Linux einrichten
  9. Quick HOWTO : Ch26 : Linux Software RAID
  10. linux-RAID Mailing List
  11. Ubuntu-Server-Installation mit Software-RAID
  12. https://RAID.wiki.kernel.org/index.php/RAID_superblock_formats