Sollte Swap und RAID-1 mischen?


9

Ich habe eine Box mit einem kleinen RAID-1-Array, das für den Swap Space verwendet wird. Ich habe dies nur getan, seit ich Spiegel für jede andere Partition im System eingerichtet habe.

Heute habe ich diese Frage gelesen und mich gefragt: "Ist ein Austausch auf RAID-1 ideal / ratsam?".

Antworten:


17

Sie sollten Ihren Swap (wahrscheinlich) nicht vom RAID 1 nehmen.

Es ist manchmal weniger wichtig, ein RAID 1 auszutauschen, aber es ist in Ordnung, normalerweise hilfreich und oft notwendig . Es gibt selten einen Grund, Ihren Swap absichtlich an einen anderen Ort zu verlegen, wenn Sie bereits ein RAID 1 verwenden.

RAID 1 austauschen kann eine bessere Leistung erzielen

Es ist zu erwarten, dass SWAP auf RAID 1 eine bessere Leistung als eine einzelne Swap-Partition außerhalb des RAID aufweist, jedoch nicht so gut wie zwei Swaps, die auf dieselbe Priorität eingestellt sind.

Das Schreiben auf ein RAID 1 ist manchmal langsamer als das Schreiben auf eine einzelne Festplatte, da alle Daten auf beide Festplatten geschrieben werden müssen. Oft ist es nicht wirklich langsamer - normalerweise ist die Verlangsamung vernachlässigbar. Wenn Sie ein RAID 1 von zwei Festplatten auf demselben IDE-Controller haben, ist es langsamer. Wenn der Zugriff auf eine Festplatte den Zugriff auf die andere Festplatte jedoch nicht verlangsamt, wird das Schreiben auf RAID 1 nicht wesentlich langsamer.

Das Lesen von einem RAID 1 ist fast immer schneller als das Lesen von einer einzelnen Festplatte, da mehr Daten von der anderen Festplatte gelesen werden können, wenn eine Festplatte mit einem Lesevorgang belegt ist. Das Lesen von einem RAID 1 aus zwei Laufwerken ist oft fast doppelt so schnell wie das Lesen von einem einzelnen Laufwerk.

Mir sind keine Tests bekannt, mit denen zwei separate Swap-Partitionen mit einer einzelnen Swap-Partition auf einem RAID 1 (oder einem anderen RAID) verglichen werden können. Es gibt keinen Grund zu der Annahme, dass eine einzelne Swap-Partition genauso gut oder besser funktioniert als ein Swap auf einem RAID 1. Die Situation ist komplizierter, wenn Sie zwei Swaps auf separaten Festplatten haben:

  • Wenn den Swaps unterschiedliche Prioritäten /etc/fstabzugewiesen werden, werden ihnen separate Seiten zugewiesen. Dieselbe Seite wird nicht gleichzeitig auf beide Seiten übertragen. Ich würde erwarten, dass zwei Swaps schneller sind, um gleichzeitig auf nicht verwandte Swap-Daten zuzugreifen, aber langsamer, um auf eine einzelne Seite zuzugreifen.

  • Wenn den Swaps die gleiche Priorität eingeräumt wird /etc/fstab, werden Daten (auch von einer einzelnen Seite) gestreift . Dies ähnelt RAID 0 und ist höchstwahrscheinlich sogar noch leistungsfähiger als das Auslagern eines RAID 1.

    Theoretisch könnte Software-Striping bei einem Hardware-RAID 1 weniger effizient sein. Wenn Sie jedoch keine ungewöhnlichen Anwendungen haben, bei denen das Lesen aus dem Swap überwiegend häufiger ist als das Schreiben darauf, würde ich erwarten, dass ein Nicht-RAID-Software-Striped-Swap eine Swap-Partition übertrifft auf einem RAID 1.

    (Da der Kernel ausgelagerte Daten zwischen mehreren Swap-Partitionen streifen kann, gibt es keinen Grund, ein Software-RAID 0 nur für den Swap einzurichten.)

Weitere Informationen zur Leistung von RAID 1 finden Sie in diesem Abschnitt des Wikipdia-Artikels "Standard-RAID-Level" .

Vielen Dank an gertvdijk für die Bereitstellung wichtiger Informationen zu gestreiften Swaps.

Möglicherweise benötigen Sie Ihren Swap auf dem RAID 1 wirklich

Ob Sie Ihren Swap auf einem RAID 1 benötigen oder nicht, hängt davon ab, warum Sie überhaupt ein RAID 1 benötigen. Die Daten im Swap sind in der Regel sehr volatil und der Verlust bedeutet normalerweise keinen signifikanten Verlust von Vermögenswerten. Jedoch.:

  1. Ein Vorteil von RAID (außer RAID 0) ist, dass Ihr Computer bei einem Ausfall eines Laufwerks weiter läuft (nur etwas langsamer). Wenn Programme ausgeführt werden, die Seiten auf die Festplatte ausgetauscht haben (was praktisch immer der Fall ist, wenn Swap aktiviert ist), schlägt das Laufwerk mit einer Swap-Partition (unabhängig davon, ob es die einzige Swap-Partition ist oder nicht) fehl und es ist keine redundante Partition vorhanden Bei der Sicherung funktioniert Ihr System sofort nicht mehr richtig (und ist wahrscheinlich bis zum Neustart völlig unbrauchbar, je nachdem, wie der Swap verwendet wurde). Wenn Sie die Maschine als Produktionsserver oder für eine andere wichtige Aufgabe verwenden, kommt es zu Ausfallzeiten .

    Wenn Sie einen vollständigen Swap-Fehler aufgrund eines einzelnen häufig auftretenden unerwünschten Ereignisses (Ausfall eines Laufwerks) tolerieren können, sollten Sie sich fragen, warum Sie RAID 1 überhaupt verwenden . Sie könnten eine gute Antwort haben ... und Sie könnten nicht. RAID (außer RAID 0) schützt vor Festplattenausfällen, RAID ist jedoch keine Sicherungslösung . Wenn Sie eine Datei auf einem RAID ändern oder löschen oder Malware ein System auf einem RAID infiziert, werden die Änderungen sofort überall vorgenommen - das RAID ermöglicht Ihnen keine Wiederherstellung.

    Wenn Sie eher ein Backup als Redundanz benötigen und noch kein hochzuverlässiges, leicht zugängliches Backup haben, sollten Sie eines der Laufwerke vollständig aus RAID entfernen und es für Backups verwenden. (Natürlich ist manchmal auch eine externe Sicherung erforderlich.)

  2. Wenn Sie Ihren Computer in den Ruhezustand versetzen (dh auf die Festplatte aussetzen), wird der Inhalt des RAM auf die Auslagerungspartition kopiert . Sie können also tatsächlich Daten verlieren, indem Sie Ihre Swap-Partition verlieren, wenn Ihr Computer im Ruhezustand ist, wenn ein Festplattenfehler auftritt.


Schöne Antwort, @Eliah. Meine Motivation für RAID-1 ist, dass ich in der Vergangenheit von Festplattenfehlern gebissen wurde. Meine Backups haben mich vor Datenverlust bewahrt, aber ich musste immer noch neue Festplatten einlegen und den Computer neu erstellen, was einige Zeit in Anspruch nimmt. Auf diese Weise kann ich immer noch ein funktionierendes Setup in einem heruntergekommenen Array haben und neue Festplatten einlegen, um das Array neu zu erstellen.
LRE

@LRE Ihr RAID funktioniert nur wie ein Backup, wenn die Ursache für Datenverlust ein Laufwerksfehler ist. Dies ist eine durchaus akzeptable Verwendung für RAID. Stellen Sie jedoch sicher, dass Sie über ein separates Backup verfügen, um sich vor allen anderen Ursachen für Datenverlust zu schützen, die ebenfalls häufig auftreten .
Eliah Kagan

"Swap auf RAID 1 wird wahrscheinlich besser funktionieren" ist nicht ganz richtig. Siehe diese wiki.kernel.org-Seite : "Der Kernel selbst kann auf mehreren Geräten einen Stripe-Swapping durchführen, wenn Sie ihnen in der Datei / etc / fstab nur die gleiche Priorität geben." Soweit ich das beurteilen kann, ist es eine reine Verfügbarkeitssache, Swap auf Ihr RAID zu setzen.
Gertvdijk

@gertvdijk Danke, ich habe bearbeitet, um diese Informationen aufzunehmen. Meine Absicht zu sagen, dass Swap auf RAID 1 wahrscheinlich eine bessere Leistung erbringt, war, dass es wahrscheinlich besser abschneidet als eine einzelne Swap-Partition (nicht in RAID). Ich habe den Anspruch eingegrenzt und auch Details hinzugefügt.
Eliah Kagan

@EliahKagan, ja, ich verstehe das und ich habe Backups (und sie haben mein Fell in der Vergangenheit gespeichert) - RAID-1 ist da, um die Backups zu ergänzen
LRE

3

Der Abschnitt zur erweiterten Installation in der Ubuntu Server-Dokumentation beschreibt die Installation auf einem Software-RAID 1-Array. Soweit ich sehen kann, erstellen sie auch eine Swap-Partition auf RAID, so dass es sich fast um ein "empfohlenes" Layout handelt.

Aus rein theoretischer Sicht kann die Verwendung von RAID 1 für die Swap-Partition jedoch weniger Vorteile bieten als "normale" Partitionen. Die Daten auf der Swap-Partition sind mehr oder weniger flüchtig, sodass es weniger wahrscheinlich ist, dass Sie viele Daten verlieren Fall eines Festplattenfehlers, obwohl ein Prozess abstürzen oder das System neu starten kann, wenn die Swap-Partition plötzlich ausfällt.

Die Verwendung von RAID-0 oder 2 separaten Nicht-RAID-Partitionen kann aus Sicht der Leistung sinnvoller sein (oder auch nicht). Wenn Sie sich Gedanken über die Leistung machen, müssen Sie möglicherweise ein Benchmarking durchführen.

Darüber hinaus kann all dies die Leistung nur beeinträchtigen, wenn Ihr System stark RAM-begrenzt ist und der Swap häufig verwendet wird. Das Hinzufügen von mehr RAM und das vollständige Entfernen von Swap wäre eine ultimative Lösung, sowohl aus Sicht der Leistung als auch der Zuverlässigkeit :)


Das Wechseln zu einem RAID 1 ist sehr sinnvoll .
Eliah Kagan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.