Hallo an die Experten und solche, die es werden wollen.
Im Zusammenhang mit dem geplanten Software-RAID stellt sich die Frage, welche Partitionen man auf das RAID-1 packt und welche nicht, und konkret, ob man die Swap-Partition mit einbezieht. Letztlich läuft es auf die Frage hinaus, wie sich Linux verhält, wenn ein Datenträger (plötzlich) unvermittelt aussteigt, vor allem dann, wenn eine Swap-Partition auf dem ausgefallenen Datenträger liegt.
Ich gebe mal ein Beispiel. Partitionierung soll folgendermaßen aussehen für /dev/sda (und /dev/sdb):
Nehmen wir also an, es gibt 2 Swap-Partitionen je 1 GB auf sda und sdb. Was passiert, wenn sda ausfällt und das System das Verlangen hat, Daten in den Swap auszulagern (oder von dort zu lesen)? Friert das System ein oder gibt es dabei einen Timeout, nach dem der Swap auf sdb benutzt wird? Abhängig von dieser Frage: Ist es sinnvoll(er), den Swap ebenfalls mit auf ein RAID zu legen? Kann man eine Partition unmounten, die auf einem ausgefallenen Datenträger liegt, im Beispiel sda1? Gibt es andere/weitere Vorkehrungen, die man treffen kann/sollte, um die Auswirkungen eines Datenträgerausfalls zu mindern?Code:sda1: 1 GiB FAT32 sda2: fast kompletter Rest der Platte als erweiterte Partition sda5: 15 GiB Root, RAID-1-Member sda6: 1 GiB Swap sda7: Restlicher Platz Repos, RAID-1-Member
Grüße
Dalai
Ergebnis 1 bis 9 von 9
-
12.07.2018, 14:40 Beitrag #1 ↑Grand Admiral
Themenstarter
Special
- Registriert seit
- 14.06.2004
- Ort
- Meiningen, Thüringen
- Beiträge
- 6.994
- Danke
- 390
- Danke
- 49
Verhalten von Linux bei Ausfall eines Datenträgers
-
12.07.2018, 15:55 Beitrag #2 ↑
Dinosaurier
- Registriert seit
- 30.11.2005
- Ort
- Österreich
- Beiträge
- 6.822
- Danke
- 205
- Danke
- 8
Wenn das swap nicht auf einem raid-1 ist hängen alle Prozesse die etwas im swapfile haben und es von dort wieder wollen.
Also daher: swap unbedingt auf raid-1 legen wenn Du Stillstände von Prozessen vermeiden willst.
umount -f kann zwar umount forcen aber wenn IOs hängen hängt auch der umount.
4000 U/min wo der Diesel aufhört und richtige Motoren zu arbeiten beginnen
"Ubuntu" - an African word meaning "Gentoo is too hard for me"
vegan aus Überzeugung
real man don't click
-
12.07.2018, 18:52 Beitrag #3 ↑
Die Frage die sich mir eher stellt ist, ob du ein Swap überhaupt benötigst. Mit 1 GiB fällt das ja auch nicht gerade üppig aus.
In der heutigen Zeit mit mehr als genügend RAM gibt es eigentlich nur einen Grund für die Swap Partition: suspend2disk
Willst du das nutzen, dann muss die Swap aber auch so groß wie der RAM sein und dann macht es auf jeden Fall Sinn die auf das RAID zu legen
Wirklich toll anders kannst du den Platz auch nicht verteilen und suspend2disk auf zwei geteilte Swap Partitionen funktioniert meines Wissens auch nicht.
Wenn du kein suspend2disk brauchst und mindestens 8GiB RAM hast, dann kannst du dir die Swap meiner Meinung nach sparen.
Zum Zuge käme die wahrscheinlich nur bei einem Memory Leak und in dem Fall hilft der OOM Killer mehr als die Swap Partition.
Abgesehen davon ist ist RAID1 mit efi/GPT (ich gehe mal davon aus, dass du das vor hast, angesichts der FAT32 Partition) ein ziemlicher Rotz, da das überhaupt nicht dafür ausgelegt ist. Habe da selbst schon Stunden mit verbracht das zu konfigurieren und bin letztendlich damals dazu übergegangen stattdessen über einen USB Stick zu starten.
bzw. in der neuesten Variante ist es dann eine SSD, welche das System hält (dann halt ohne RAID1) und ein RAID1 für Nutzerdaten (/home).
-
12.07.2018, 19:31 Beitrag #4 ↑Grand Admiral
Themenstarter
Special
- Registriert seit
- 14.06.2004
- Ort
- Meiningen, Thüringen
- Beiträge
- 6.994
- Danke
- 390
- Danke
- 49
@tomturbo:
Danke für deinen Beitrag und die Ausführungen!Auch wenn das genaugenommen zum anderen Thema gehört: Ist es sinnvoll, ein Software-RAID zu partitionieren statt drei einzelne RAID-1 (Root, Swap und Repos) zu verwenden? Hat das irgendwelche (gravierenden) Nachteile?
Die wird schon benötigt, denke ich, denn Linux lagert ja immer ein bissel was aus. Der derzeitige Server hat 8 GiB RAM und lagert "fleißig" aus, was bei dem Datenaufkommen per Samba auch kein Wunder ist. Selbst mit zwischenzeitlich 10 GiB RAM wurde ausgelagert. Ja, ich weiß, die Swappiness kann man einstellen...
Mit 1 GiB fällt das ja auch nicht gerade üppig aus.
Wenn du kein suspend2disk brauchst und mindestens 8GiB RAM hast, dann kannst du dir die Swap meiner Meinung nach sparen..
Abgesehen davon ist ist RAID1 mit efi/GPT (ich gehe mal davon aus, dass du das vor hast, angesichts der FAT32 Partition) ein ziemlicher Rotz
Grüße
Dalai
-
12.07.2018, 21:17 Beitrag #5 ↑
Wenn du nicht btrfs verwendest würde ich definitiv die Partitionen spiegeln und nicht die ganze Platte (bzw. den Teil der Platte).
mdraid arbeitet blockweise, d.h. bei einem rebuild kannst du das dann partitionsweise machen, was bedeutet, dass du manche Partitionen recht schnell abhaken kannst.
Einen Vorteil der anderen Variante sehe ich nicht (oder fällt mir zumindest nicht ein).
Die wird schon benötigt, denke ich, denn Linux lagert ja immer ein bissel was aus. Der derzeitige Server hat 8 GiB RAM und lagert "fleißig" aus, was bei dem Datenaufkommen per Samba auch kein Wunder ist. Selbst mit zwischenzeitlich 10 GiB RAM wurde ausgelagert. Ja, ich weiß, die Swappiness kann man einstellen...
In deinem Fall vermute ich, dass manche Programme im Cache landen und dafür dann eigentlich "echte" Speicherdaten von Programme ausgelagert werden, aber sicher kannst du das nur selbst nachvollziehen.
Insofern kann ich nicht ausschließen, dass du die Swap benötigst, aber ich würde es bezweifeln. 2/3 der Daten sind meistens nur Cache, könnten also rausgekickt werden.
Würde es sogar eher mal drauf ankommen lassen und nur falls du in Probleme reinläufst nachträglich noch eine Swap aufsetzen (kannst ja dann von der sda7 ein Stück abzwicken).
Nope, hier wird ausschließlich MBR verwendet, kein GPT. Die FAT32-Partition hat nur den Sinn, dort ein Live-System (System Rescue CD) und ggf. DOS-Programme sowie BIOS-Updates zu lagern, die man nicht so einfach per USB-Stick starten kann. Eigentlich wäre ersteres besser auf einer eigenen Bootpartition aufgehoben, aber das hilft für letzteres nicht... Die Partitionierung ist vor über 10 Jahren erstellt worden, aber ich sehe keinen Grund, daran etwas zu ändern.
(Wobei ich da auf neueren Mainboards auch schon Probleme hatte, weil das UEFI sich standhaft geweigert hat einen bios-legacy-boot von einer 4k Platte durchzuführen …)
-
12.07.2018, 21:51 Beitrag #6 ↑Grand Admiral
Themenstarter
Special
- Registriert seit
- 14.06.2004
- Ort
- Meiningen, Thüringen
- Beiträge
- 6.994
- Danke
- 390
- Danke
- 49
Das ist nicht ganz, was ich meinte. Ganze Datenträger zu spiegeln hab ich ja schon gleich zu Beginn ausgeschlossen. Aber ich hatte überlegt, in die erweiterte Partition ein RAID-1 zu legen, in dem dann Root, Swap und Repos liegt - was aber natürlich voraussetzt, dass das RAID partitioniert wird. Das hätte den Vorteil, dass es nur ein RAID für diese beiden Laufwerke gibt, und bei Ausfall eines Datenträgers nur ein RAID degraded und nicht gleich drei. Macht die Verwaltung vielleicht einfacher
.
[...] d.h. bei einem rebuild kannst du das dann partitionsweise machen, was bedeutet, dass du manche Partitionen recht schnell abhaken kannst.
In deinem Fall vermute ich, dass manche Programme im Cache landen und dafür dann eigentlich "echte" Speicherdaten von Programme ausgelagert werden
[...] aber sicher kannst du das nur selbst nachvollziehen.
Insofern kann ich nicht ausschließen, dass du die Swap benötigst, aber ich würde es bezweifeln.
Grüße
Dalai
-
12.07.2018, 23:20 Beitrag #7 ↑
Ich denke Faulheit des Admins ist ein eher schlechtes Argument. :p
Ne ernsthaft. Man muss halt ein paar Befehle mehrfach eingeben (eben für jedes RAID), aber das war es dann auch.
Ich vermute es eher andersrum: Programme werden ausgelagert und vor allem per Samba servierte Dateien landen im Cache bzw. Buffer.
(Ok, im Detail macht es evtl. einen Unterschied, aber das kann der Kernel nicht wissen, vor allem nicht ob zum Vor- oder Nachteil per Swap.)
Auf unserem Simulationsserver mit 32GB gibt es auch ein Swap mit 3GB und davon sind 600MB belegt.
Allerdings sind gleichzeitig über 20GB frei (und weniger als 5GB hab ich bislang noch nicht erlebt), so dass die Daten locker auch in den Swap passen würden.
Warum also der Kernel die Daten auslagert? Keine Ahnung, sehe aber auch keine Notwendigkeit dafür.
Würde ohne auch locker gehen und wenn einer die Kiste überlastet, dann setzt eh der OOM ein.
Gibt's da was (von ratiopharm), um das zu tun? Wäre mal interessant zu wissen, welche Typen von Daten im Swap rumliegen.
Müsste da aber jetzt genauso suchen wie du auch. :p
Naja, brauchen ist ein starkes Wort. Der Punkt ist, dass ich bei einem Produktivsystem (und primären Server) kein Risiko eingehen will, und das 1 GB tut nicht weh, noch weniger, wenn die neu zu kaufenden SSDs größer sein werden als die derzeitigen HDDs.
Ich kann dir die Frage leider auch nicht zu 100% beantworten, aber würde mich einfach sehr wundern, wenn es so wäre, bzw. würde gerne Argumente dafür sehen.
Ok, bei 8GB hast du immerhin noch 12.5% (bei RAID1) oder 25% (bei 2×single) mehr (ziemlich lahmen) Speicher, das ist schon signifikant, aber bei zukünftig 32GB macht das eigentlich keinen signifikanten Unterschied mehr.
Keine Sorge, ich will dir die Swap nicht ausreden, es tut ja wie du richtig sagst nicht wirklich weh.
Ich wundere mich einfach nur immer wieder, dass Leute das immer noch verwenden, denn abgesehen von suspend2disk sehe ich einfach keinen echten Vorteil darin.
-
13.07.2018, 07:46 Beitrag #8 ↑
Dinosaurier
- Registriert seit
- 30.11.2005
- Ort
- Österreich
- Beiträge
- 6.822
- Danke
- 205
- Danke
- 8
@Dalai:
Ich persönlich mache mittlerweile auf den Datenträgern, die mir zur Verfügung stehen, eine boot Partition (evt. auch als MD, denn grub unterstützt das), dann eine Raid-1 vom gesamten Rest der Platten und anschließend LVM drauf.
Somit habe ich nur 2 MDs und den Rest teile ich mir, ohne viel Nachdenken über Datenträgersicherheit, partitionsmäßig per LVM-LVs auf. (wenn ich von 2 phys. Datenträgern aus gehe)
Falls ich irgendwann mehr Platz benötige kann ich auch ein weiteres MD als physischen Datenträger zur LVM-Volumegroup hinzufügen und bestehende Dateisysteme erweitern.
Auch das neue Boot wird so aufgesetzt.
Mit gpt und raid1 hatte ich noch nie Probleme, Berniyh.Geändert von tomturbo (13.07.2018 um 07:49 Uhr)
4000 U/min wo der Diesel aufhört und richtige Motoren zu arbeiten beginnen
"Ubuntu" - an African word meaning "Gentoo is too hard for me"
vegan aus Überzeugung
real man don't click
-
13.07.2018, 18:46 Beitrag #9 ↑
GPT an sich ist nicht das Problem.
Ich hatte aber schon den Fall, dass ein Mainboard bei der Kombination GPT + legacy bios rumgezickt hat.
Mit MBR ging es dann problemlos.
In anderen Fällen war GPT + legacy bios auch kein Problem.
Wobei ich auf Datenplatten inzwischen teilweise gar keine Partitionstabelle (weder GPT noch MBR) mehr verwende, da ich da fast ausschließlich mit btrfs arbeite (und dort dann eher mit subvolumes statt Partitionen).
Das hat auch den Vorteil, dass das Thema 4k-Alignierung entfällt (wobei das glaube ich inzwischen automatisch gehandhabt wird, oder?).