RAID für Linux Swap oder nicht?

consuli

Member
Hallo!

Ich soll eine Statistiker-Workstation mit Linux aufsetzen, bei der ein Teil der SSD Platten als Linux Swap genutzt werden soll (um große Big Data Datenbrocken durchgerechnet zu bekommen).

Soll ich das RAID für den Linux Swap aktivieren, oder nicht?

Consuli
 
Last edited by a moderator:
RAID 0, bei großen, häufigen SWAP mengen bin ich allerdings kein Fan von SSDs bzw. würde dafür extra dazu abgestellte SSDs nehmen.


Falls es sich um einen Softraid handelt dann genügt es je "Platte" einfach eine SWAP Partition zu haben und im fstab zu hinterlegen, Linux verwaltet das dann auomatisch als quasi RAID 0.
 
Last edited by a moderator:
Falls es sich um einen Softraid handelt dann genügt es je "Platte" einfach eine SWAP Partition zu haben und im fstab zu hinterlegen, Linux verwaltet das dann auomatisch als quasi RAID 0.
Ja - sofern beide Swap-Devices dieselbe Priorität erhalten.

Zur Frage: Da das System oder zumindest wichtige Anwendungen mit großer Sicherheit abstürzen werden, wenn eine einzelne SSD als Swap verwendet wird und kaputtgeht, rate ich definitiv zu einem RAID-1 (oder halt besser). Sonst führt man die Redundanz zumindest was den ausfallfreien Betrieb angeht etwas ad absurdum.
 
RAID für Swap ist nicht unbedingt notwendig. Der Linux-Kernel verteilt die Zugriffe auf die verschiedenen verfügbaren Swap-Devices:

Siehe:

http://unthought.net/Software-RAID.H...O-2.html#ss2.3

Man sollte auch dazu sagen - SWAP ist im Wesentlichen Auslagerungsspeicher wenn der RAM nicht mehr ausreicht. RAM ist wie SWAP ein flüchtiges Speichermedium. Im SWAP werden normalerweise keine persistenten Daten gespeichert sondern nur Daten die zur Verarbeitung ausstehen, daher wird der SWAP auch unterhalb vom Arbeitsspeicher in den Übersichten ausgewiesen und steht nicht als Speicherplatz im Betriebssystem zur Verfügung.
Wenn die HDD/SSD auf der das SWAP Volument liegt kaputt geht, ist das vergleichbar wie wenn du einfach bei deinem PC den Stecker ziehst. Die Daten im SWAP / RAM sind schlicht verloren, wenn du in dem Moment wichtige Daten im SWAP oder RAM hast, ist das natürlich nicht sehr toll, dadurch können einzelne Inodes / Files die gerade geschrieben werden beschädigt sein. In 15 Jahren wo ich schon mit Servern arbeite hatte ich aber noch nie den Fall, dass durch eine defekte Festplatte / ein SWAP was nicht im RAID 1 lief, Daten verloren gegangen sind und ich habe bislang noch nie in meinem Leben einen SWAP Speicher im RAID konfiguriert.

Im Optimalfall nutzt das Betriebssystem nämlich nicht den im Vergleich zum RAM grottig langsamen SWAP und wenn das System permanent im SWAP laufen sollte, wirst du das deutlich an der Performance merken. Daher - RAID erforderlich für SWAP? - Nein.
 
Der Linux-Kernel verteilt die Zugriffe auf die verschiedenen verfügbaren Swap-Devices:
Das macht jeder vernünftige Kernel und mir wäre jetzt spontan kein "unvernünftiger" Kernel bekannt ;)

SWAP gehört niemals in ein RAID, denn ein RAID verlangsamt den ohnehin schon langsamen SWAP zusätzlich und ausserdem fummelt ein RAID auch noch am SWAP (also im erweiterten RAM) rum, Stichwort Metadaten/Journal.
Beides will man auf gar keinen Fall haben.

Lieber gleich mehr RAM verbauen, ist am Ende des Tages erheblich billiger und sicherer...
 
...führt man die Redundanz zumindest was den ausfallfreien Betrieb angeht etwas ad absurdum.
Ich halte "Raid" >0 definitiv zu langsam zum SWAP, RAM ist normalerweise auch nicht redundant und wenn in diesem wichtige Daten gehalten sind und dabei abraucht sind diese ebenso verloren.

Gerade wenn dann auch große mengen von Platte ins geswappte "RAM" geladen werden bedanken sich die Schreib-/Leseköpfe bei HDDs.

Allgemein sollte, wie es Joe sagte, dann wirklich überlegt werden gleich direkt alleine zwecks Tempo mehr RAM zu verbauen zumal man hier anscheinend ja schon weiß das häufig geswapt wird. Ansonsten ist das Ferrari fahren mit angezogener Handbremse.
 
Last edited by a moderator:
Vielen Dank für die zahlreichen Rückmeldungen.

Ich soll eine Statistiker-Workstation mit Linux aufsetzen, bei der ein Teil der SSD Platten als Linux Swap genutzt werden soll (um große Big Data Datenbrocken durchgerechnet zu bekommen).
Dazu möchte ich noch klarstellen, dass im vorliegenden Statistiker-Workstation-Setup der Big-Data-Fall sehr selten ist (< 2% der CPU-Zeit), der Swap also eine echtes RESERVE-RAM wäre.

Ich halte "Raid" >0 definitiv zu langsam zum SWAP, RAM ist normalerweise auch nicht redundant und wenn in diesem wichtige Daten gehalten sind und dabei abraucht sind diese ebenso verloren.
Meine Frage zielt nicht auf das allfällige Verloren-Gehen von flüchtigen Daten ab, sondern darauf, ob dann im SWAP mehr Bitfehler auftreten, wenn man kein RAID-1 oder besser aktiviert. Oder anders herum gefragt. Wäre ein RAID-1 (oder besser) aufm SWAP eine Art Ersatz-ECC-Fehlerkorrektur für den Swap? Tut mir leid, dass ich das nicht besser formulieren kann.

Consuli
 
Last edited by a moderator:
Nein, weil RAID1 kein Fehlerkorrektur-Mechanismus ist. Es wird zwar auf beide Platten geschrieben, aber gelesen werden die Daten immer nur von einer (i.d.R. abwechselnd von beiden Platten, um die Leseperformance zu steigern). Ein RAID (außer RAID 0) ist nur ein Ausfallschutz, falls eine (bei bestimmten RAID-Leveln auch mehrere) Festplatte ausfällt. Fehlerkorrekturen werden durch die Laufwerkselektronik bereitgestellt.
 
Nein, weil RAID1 kein Fehlerkorrektur-Mechanismus ist. Es wird zwar auf beide Platten geschrieben, aber gelesen werden die Daten immer nur von einer (i.d.R. abwechselnd von beiden Platten, um die Leseperformance zu steigern). Ein RAID (außer RAID 0) ist nur ein Ausfallschutz, falls eine (bei bestimmten RAID-Leveln auch mehrere) Festplatte ausfällt. Fehlerkorrekturen werden durch die Laufwerkselektronik bereitgestellt.

Vielen Dank für Deine verständliche Antwort. :)

Jetzt muss ich nur noch herausfinden, ob der RAID Controller RAID-"X" auf der ersten SSD-Festplattenpartition und gleichzeitig RAID-0 auf der zweiten SSD-Festplattenpartiition unterstützt.

Consuli
 
Wenn es die von der Southbridge bereitgestellten RAID-Funktionen sind, die moderne Mainboards bieten, dann würde ich sie nicht verwenden. Das ist i.d.R. kein Hardware-RAID, sondern wird über den (Windows-)Treiber als Software-RAID realisiert (und teilweise auch auf Windows beschränkt) - nennt man manchmal auch FAKE-RAID. Da ist es dann besser, auf die RAID-Funktionen des LINUX-Kernels zurückzugreifen, da ist ausgereifte Technik. RAID 1 dann nur für die Partitionen mit einem Dateisystem, die Partitionen für SWAP ohne RAID als SWAP mit gleicher Prio wie oben schon erläutert.
 
...Da ist es dann besser, auf die RAID-Funktionen des LINUX-Kernels zurückzugreifen, da ist ausgereifte Technik.
Das ist unter Linux exakt das Gleiche wie unter Windows, also beides nur treiberbasierte Software-RAID (aka Fake-RAID) ;)
 
Klar sind beides Software-RAIDs, aber ich würde die RAID-Funktionalität des Betriebssystems der eines Treibers von einem Hardware-Hersteller dennoch vorziehen. Da ist als wichtigster Punkt die weitgehende Hardware-Unabhängigkeit und IMHO auch ausgereifterer Programmcode, weil weiter verbreitet.
 
Dann soll ich meinen Hardware RAID Controller (BROADCOM 9341-4i SAS3/SATA) nicht verwenden und dafür lieber das Software RAID von Linux? :confused:

Consuli
 
RAM ist normalerweise auch nicht redundant und wenn in diesem wichtige Daten gehalten sind und dabei abraucht sind diese ebenso verloren.
Korrekt, RAM geht aber seltener kaputt als eine SSD. Ich erinnere mich ad hoc an einen defekten Riegel bei uns in den letzten Jahren. Allerdings verwenden wir auch nur ECC-RAM.

Bei Serverhardware kann RAM wohlgemerkt auch redundant verwendet werden (https://www.thomas-krenn.com/de/wiki/RAM_Mirroring), wegen der sehr wenigen Probleme mit ECC-RAM wird dies jedoch kaum verwendet.

Nein, man braucht auf einer SSD Festplatte keine Ersatz-ECC-Fehlerkorrektur durch ein RAID-1 (oder besser) weil sie bereits anderweitig gegen Bitfehler gesichert ist.
Hierbei sollte auch beachtet werden, dass ein RAID-1 bei zwei gespiegelten Sektoren, deren Inhalte voneinander abweichen, auch nicht bestimmen kann, welcher Sektor nun die korrekten Daten enthält. Es kann die Integrität des RAID-Verbundes zwar wiederherstellen, nicht jedoch die Daten.

Dann soll ich meinen Hardware RAID Controller (BROADCOM 9341-4i SAS3/SATA) nicht verwenden und dafür lieber das Software RAID von Linux? :confused:
Es wurde ja von Fake-RAID abgeraten, nicht von echten Hardware-RAID-Controllern. Du solltest dir jedoch einen kompatiblen (d.h. bestenfalls baugleichen) Ersatzcontroller mit gleicher Firmware auf Lager legen, da du ohne diesen nicht mehr ohne Weiteres an deine Daten kommen wirst. Beim Fake-RAID ist man vom Mainboard abhängig, das möchte man nicht - zumal man de facto keine Vorteile gegenüber einem "vernünftigten" Software-RAID des Betriebssystems hat.


Viele Grüße
Tim
 
In Kofler "Ubuntu Server" steht zum Raid für Linux Swap folgendes:

  • Bei Hochverfügbarkeits-Maschinen das RAID für den Linux Swap einschalten (Falls der Server RAM auf Swap ausgelagert hat, würde er sonst abstürzen wenn eine Platte ausfällt)
  • Bei High-Performance-Maschinen aus Performance Gründen kein RAID für den Swap einschalten.

Das scheint mir Sinn zu machen.

Consuli

P.S.: Ihr seid ja ein lustiges Forum, wo man seine Frage z.g.T. selbst beantworten muss. ;-)
 
Last edited by a moderator:
Back
Top