Leserartikel [Tutorial] Installation von Manjaro auf ein NVMe RAID

2Stoned

Lieutenant
Registriert
Apr. 2007
Beiträge
680
Nach der News zum Erscheinen einer neuen Manjaro ISO, habe ich mich entschlossen dieses auf meinem Hauptsystem einzusetzen. Doch wollte ich dieses nicht einfach installieren, sondern gerne auf ein RAID aus zwei Samsung 970 Evo Plus NVMe SSDs packen. Dabei zeigten sich für mich etliche Stolperfallen, die ich schlussendlich doch irgendwie überwunden habe. Wie, will ich hier im Detail erläutern. Jedoch will ich auch gleich anmerken, dass ich weder bezüglich Linux noch RAIDs ein Experte bin. Es mag elegantere Lösungen geben. Meine Lösung mag nicht immer funktionieren. Und doch, hilft meine Variante vielleicht ja jemanden seine eigenen Installations-Probleme zu meistern.

Im Folgenden also eine kleine Übersicht, wie ich Manjaro auf mein System auf ein RAID10 bestehen aus 2 NVMe SSDs installiert habe.

Wie installiere ich Manjaro auf ein RAID?
Zunächst einmal muss man Manjaro Live vom USB-Stick booten. Ich habe mich für die gnome-edition entschieden.
Vom Live-System aus, lässt sich dann auch schon die ganze Installation vornehmen.

Hat man vorher schon etwas mit RAID herumexperimentiert und möchte die gerne komplett platt machen, sind vorab noch ein paar Extraschritte nötig, welche jedoch auch aus dem Live-System heraus machbar sind.

Eigentlich müsste sich ein bestehendes RAID relativ einfach auflösen lassen:
Code:
mdadm --stop /dev/md/md_test
mdadm --zero-superblock /dev/sdx(#)
Wobei sowohl sdx für eine Festplatte oder sdx# für eine Partition verwendet werden kann.

Nur erhielt ich so beim Boot ständig Fehler, dass ein altes RAID, welches ich so eigentlich aufgelöst hatte, nicht angeschlossen sei. Etwas tiefer würde eigentlich dmraid -E -r /dev/sdx greifen, doch auch so habe ich das Problem-RAID nicht entfernt gekriegt. Also habe ich die Festplatte ordentlich plattgemacht, mit secure erase. Für NVMe Platten geht das folgender massen:
  1. nvme-cli installieren. Unter Arch(-Derivaten) mit sudo pacman -Syy nvme-cli
  2. sudo nvme format -s1 -lb=0 /dev/nvme0n1
  3. 2. wiederholen für alle weitere zu löschenden Festplatten, also bei mir noch sudo nvme format -s1 -lb=0 /dev/nvme1n1
So, nun hatte ich also wieder frische SSDs. :)

Partitionieren
Im Folgenden lege ich die Boot-Partition nur auf eine Festplatte. Falls genau diese sterben sollte, kann man natürlich nicht mehr booten, auch wenn alle weiteren Daten durch die Spiegelung noch vorhandensein müssten. Besser wäre es die Boot-Partition auf ein RAID1 zu legen. Dazu muss man von der nachfolgenden Beschreibung etwas abweichen:
Ich habe dies so nicht getestet. Falls es jemand umsetzt, wäre ich um eine Mitteilung froh, dann kann ich dies hier noch ergänzen. Grob müsste man wohl Folgendes anders machen, als im Weiteren beschrieben:
  • Partition 1 muss auf beiden Platten ebenfalls als fd00-Partition angelegt werden.
  • Nebst dem RAID10 über die Partitionen 2 beider Platten muss dann noch ein RAID1 über die Partitionen 1 angelegt werden
    • Der Befehl müsste wie folgt aussehen: mdadm --create --verbose --level=1 --metadata=1.0 --raid-devices=2 /dev/md/MyRAID1Boot /dev/nvme0n1p1 /dev/nvme1n1p1
      • metadata=1 sollte die Information, dass es sich um ein RAID handelt ans Ende der Partition legen, so dass für das System dennoch ersichtlich ist, dass es sich um eine Boot-Partition handelt. (Quelle 1, Quelle 2, Quelle 3)
  • Später bei der Installation muss man dann natürlich /boot/efi auf das angelegte RAID1 (wahrscheinlich md126) legen.
  • (Falls das jemand so umsetzt und dabei auf weitere Abweichungen stösst bitte melden, dann würde ich das hier ergänzen!)

Als erstes muss ich meine SSDs partitionieren. Ich will zuerst den Bootloader haben, dann root, dann swap. Um beide Platten gleich aufzuteilen, mache ich bei einer eine Partition, die gleich gross wie die bootloader-Partition der ersten Platte ist, aber als Dateisystem gekennzeichnet ist. Die 300MB Platzverlust kann ich verkraften. Meine Partitionstabelle sieht also in etwa wie folgt aus:

NVMe 1NVMe 2
GrösseTypGrösseTyp
300Mef00 (bootloader)300M8300 (Daten)
restfd00 (RAID)restfd00 (RAID)
72G8200 (swap)72G8200 (swap)

Zum Partitionieren nutze ich gdisk:
Code:
sudo gdisk /dev/nvme0n1
Relevante Kommandos für gdisk (ungefähr in der Reihenfolge, wie ich sie das erste Mal verwende):
  • o: löscht alte Partitionstabelle und legt neue GPT-Partitionstabelle an
  • n: neue Partition
  • +300M: Kann z.B. bei der Boot-Partition als "last sector" angegeben werden, dann wird die Partition 300M gross
  • ef00: Partitionstyp für EFI-Bootloader-Partition
  • fd00: Partitionstyp für die RAID-Partition (auf die kommt root)
  • -72G: kann bei der root Partition als "last sector" angegeben werden, dann bleiben für die weiteren Partitionen, in meinem Falle swap, noch 72G frei
  • 8200: Partitionstyp für die swap-Partition
  • p: listet auf, was man bisher erfasst hat
  • w: schreibt die erfasste Partitionstabelle mit den angelegten Partitionen auf die Festplatte
Möchte man den default Wert übernehmen, kann man einfach [enter] drücken, ohne eine Eingabe zu machen. Hat man das für beide Platten gemacht, kann man schon das RAID anlegen.

RAID anlegen
Für ein RAID10 mit 2 Platten nutze ich folgenden Befehl:
Code:
mdadm --create --verbose --level=10 --metadata=1.2 --chunk=512 --raid-devices=2 --layout=f2 /dev/md/MyRAID10Array /dev/nvme0n1p2 /dev/nvme1n1p2
  • /dev/md/MyRAID10Array ist der Name, den das RAID tragen wird
  • /dev/nvme0n1p2 ist die Partition der ersten Platte, die zum RAID gehören soll
  • /dev/nvme1n1p2 entsprechend die zweite
Weitere Erläuterungen und andere RAID-Typen gibt's im Arch Wiki zu RAIDs.

Anschliessend ist das RAID eigentlich sofort ready, aber es wird im Hintergrund noch zusammengeschustert. Mit cat /proc/mdstat lässt sich der Status und die geschätzte Restdauer ablesen. (Ich habe vorsichtshalber mal gewartet, bis es fertig war, bevor ich fortfuhr.)

Partitionen formatieren und Manjaro installieren
Die EFI-Partition muss nicht formatiert werden. Die swap-Partition kann einfach mit
Code:
sudo mkswap /dev/nvme0n1p3
sudo swapon /dev/nvme0n1p3
formatiert werden, gleiches für die zweite, die ich angelegt habe. Der Linux Kernel sollte bei mehreren swap-Partitionen diese clever verwalten und immer die schnellste nutzen, sogar wie ein RAID0, ohne ein eigentliches RAID angelegt zu haben.
Das RAID kann auf zwei Arten formatiert werden, je nachdem, ob man für die Installation von Manjaro den CLI-Installer Architect oder den GUI-Installer Calamares verwendet.
Das md127 kann hier direkt formatiert werden:
Code:
mkfs.ext4 -v -L myarray -m 0.01 -b 4096 -E stride=128,stripe-width=256 /dev/md127
Details und Abweichungen sind wiederum dem Arch Wiki zu entnehmen.
Wenn man dann im Architect soweit ist, dass man festlegen soll, auf welche Partition root (/) kommt, muss man in einem weiteren Terminal kurz die entsprechende Partition selbst mounten, bevor man im Architect auf ok drückt. Der Architect schafft das irgendwie nicht selbst und meldet stets ein Mount Failed!. Also, bevor man bestätigt, dass root auf /dev/md127 liegen soll, man es aber bereits angewählt hat und nur noch enter drücken müsste, öffnet man ein weiteres Terminal und gibt dort flott sudo mount /dev/md127 /mnt ein. Anschliessend kann man beim Architect weitermachen und dort enter drücken. Man sollte nun ein Mount successful! sehen.:daumen:

Auch mit dem graphischen Installer ist es möglich Manjaro auf ein RAID zu installieren. Hierfür muss man das angelegte RAID selbst allerdings ebenfalls partitionieren. Also nochmals gdisk nutzen:
Code:
sudo gdisk /dev/md127
Dort mit o eine neue Partitionstabelle anlegen, dann mit n eine neue Partition, mit [enter], [enter], [enter] die Standardwerte übernehmen und mit w die Partitionstabelle aufs RAID schreiben.

So ausgestattet kann man dann im Installer "Manual Partitioning" auswählen, oben in der Auswahlliste md127 wählen, die Partition anklicken, unten auf edit und dort bei Mount Point das root-Verzeichnis / setzen.
Dann wieder oben in der Auswahlliste /dev/nvme0n1 anwählen, und Partition 1 als mount point für /boot/efi auswählen. Sonst ist nichts weiter Spezielles zu unternehmen und man kann dem Installer folgen, wie wenn man auf eine einzelne Festplatte installieren würde.

Post-Installations-Anpassungen
Wenn die Installation durch ist, muss man noch ein paar Änderungen vornehmen. (Im Architect kann man das auch direkt machen. Hat man den Architect aber bereits geschlossen, kann man ebenfalls wie folgt vorgehen).

Zunächst muss man die root partition auf /mnt mounten und die EFI-Partition auf /mnt/boot/efi:

Code:
sudo mount /dev/md127p1 /mnt
mount /dev/nvme0n1p1 /mnt/boot/efi

(md127p1 natürlich mit eurer Partition auf der root liegt ersetzen und nvme0n1p1 mit der Partition, auf der bei euch der bootloader liegt ersetzen)

Dann chrooted ihr euch in eure Installation:
Code:
manjaro-chroot /mnt

Dann fügt ihr euer RAID der mdadm-Konfiguration hinzu:
Code:
mdadm --examine --scan >> /etc/mdadm.conf
Mit nano /etc/mdadm.conf könnt ihr die Konfiguration nochmals anschauen. Solltet ihr zu unterst zweimal die gleiche Zeile haben, löscht ihr einfach eine der beiden.
In eine der untersten Zeilen solltet ihr auch noch ein #MAILADDR finden, dort müsst ihr die Raute entfernen und nachher root@localhost als Email eintragen.
Mit CTRL+X könnt ihr nano (den Texteditor) wieder schliessen, bestätigt einfach, dass er die Datei überschreiben soll.

Dann müsst ihr noch die GRUB-Konfiguration anpassen:
Code:
nano /etc/default/grub
Dort dann folgendes ergänzen:
Code:
GRUB_PRELOAD_MODULES="... mdraid09 mdraid1x"
und noch eine kleine kosmetische Änderung, damit man beim Booten nicht auf "Disk Filter Writes Error"s hingewiesen wird:
Code:
GRUB_SAVEDEFAULT=false

Als letztes muss dann nur noch eine Datei verändert werden:
Code:
nano /etc/mkinitcpio.conf
:
Dort solltet ihr BINARIES=(mdmon) eintragen und bei den hooks zwischen block und filesystems noch mdadm_udev eintragen und ganz am Ende noch fsck. Dann sieht die Zeile mehr oder weniger so aus:
Code:
HOOKS="base udev autodetect modconf block mdadm_udev keyboard keymap filesystems fsck "
.

Jetzt muss man mit
Code:
mkinitcpio -P
noch die initramfs neu generieren und mit
Code:
update-grub
noch grub.

Jetzt kann man mit exit wieder aus der chroot und kann nun den PC neu starten und dabei hoffen, dass man in ein sauberes, frisch installiertes Manjaro bootet. :)

Betrachtet dies bitte eher als Erfahrungsbericht und nicht als best-practice. Es mag bessere Wege geben und es mögen ungewollte Nebeneffekte auftreten. Ich bin kein Experte auf dem Gebiet! ;)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: justFlow, Termy, Schnitz und 2 andere
Hallo, eine dumme Frage...
Was hat man denn bei einem RAID10 bestehend aus 2 Datenträgern? Redundanz (RAID1) oder Performance (RAID0)?
Aus meiner Sicht werden für ein RAID10 mindestens 4 Datenträger benötigt... beide Eigenschaften kann man mit 2 Datenträgern wohl kaum realisieren. Warum wird dann ein RAID10 und nicht explizit ein RAID1 oder RAID0 angelegt?
 
tollertyp schrieb:
Was hat man denn bei einem RAID10 bestehend aus 2 Datenträgern? Redundanz (RAID1) oder Performance (RAID0)?
Ja
Ergänzung ()

Redundanz und Performance. Und mit 2*1TB entsprechend 1TB Speicher zur Nutzung. Der potentielle Performance-Gewinn war mir irgendwie sympathischer als nur Redundanz eines RAID1.
 
Also hat man eigentlich ein RAID1.
 
  • Gefällt mir
Reaktionen: nazgul77 und up.whatever
Sehr schöner Erfahrungsbericht von @2Stoned, der seinen verdienten Platz auf der Startseite erhalten wird.

Würde mich freuen, wenn sich noch ein paar Experten zu Wort melden und ggf. noch alternative Vorgehensweisen erläutern könnten.

Ich muss gestehen, auch wenn ich Manjaro Linux bereits seit Version 0.8.2 ("Ascella") nutze, auf einem NVMe-RAID habe ich es noch nicht installiert.

Liebe Grüße
Sven
 
  • Gefällt mir
Reaktionen: 2Stoned
@SV3N Wäre es nicht dann jetzt an der Zeit sofern die Hardware vorhanden ist dies selbst mal umzusetzen? Das brächte allen Vorteil da du mit deinem Fachwissen Optimierungen mit einfließen lassen könntest?
 
Wo bemerkt man denn die Performance von einem SSD-Raid? Oder ist es eher so ein "Weil ichs kann!"-Ding? :D
 
  • Gefällt mir
Reaktionen: 2Stoned
Was macht man denn mit einer 72GB swap partition?
Raid10 ist auch etwads ungeschickt für 2 Platten gewählt
 
  • Gefällt mir
Reaktionen: Feuerbiber, up.whatever und Enzodo
Schöne Installationshilfe. Die Swap-Partition würde ich aber kleiner wählen - 72GB sind schon heftig.

Das mdraid R10 ist in der Config äquivalent zu einem üblichen R1 (und wird wohl auch so performen)

ArchWiki schrieb:
Near 2 on 2 disks is equivalent to RAID1, near 2 on 4 disks to RAID1+0.
 
  • Gefällt mir
Reaktionen: nazgul77 und 2Stoned
Ich bin wahrscheinlich als einer von vielen durch die Notiz auf der Hauptseite hier gelandet, vielen Dank @SV3N.

Interessanter Beitrag, wobei halt auch schon echt viel im (grandiosen) Arch-Wiki steht.

Ich habe einige Fragen / Anmerkungen:
  • Hast du dir im Vorhinein mal die "RAID"-Features von Btrfs mal angeschaut? Wenn ja, gab es einen Grund dies nicht zu verwenden? Ich bin selbst vor kurzem auf Btrfs umgestiegen (luks/dmcrypt->lvm->Btrfs/SWAP) und sehr begeistert von den Möglichkeiten. Zum Beispiel kann ich mithilfe der Subvolumes jetzt mehrere Distributionen auf die gleiche Partition installieren, (dynamisch verteilter Speicherplatz, yay!)
  • Du hast keine EFI Partition auf den beiden Platten, ist die auf einem dritten Datenträger?
  • Zudem hast du deine /boot Partition ja auch nicht gespiegelt, kannst also, wenn die Platte mit dieser Partition ausfällt, auch nicht ohne weiteres booten. Geht das nicht auch in irgendeiner Weise zu spiegeln? (Ist mglw, eine dumme Frage, ich habe noch nie ein RAID aufgesetzt)
  • RAID 10 mit 2 Platten? (Wurde ja auch schon mehrfach angemerkt hier)
  • Hast du ggf Benchmarks für verschiedene Szenarien für den Vergleich RAID zu noRAID?
  • 72GB Swap - Hast du da einen triftigem Grund dafür? 64GB RAM im System und Hibernation mit schon aktiv betriebenem Swapping? Oder wie muss ich das verstehen?
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: tollertyp
Du legst dir ein RAID an, aber installierst GRUB nur auf einer der Platten? Wenn dir die falsche Platte abraucht kann das System nicht mehr booten.
 
  • Gefällt mir
Reaktionen: Feuerbiber
SV3N schrieb:
Sehr schöner Erfahrungsbericht von @2Stoned, der seinen verdienten Platz auf der Startseite erhalten wird.

Würde mich freuen, wenn sich noch ein paar Experten zu Wort melden und ggf. noch alternative Vorgehensweisen erläutern könnten.

Vielen Dank für die Erwähnung. :) Und Potential zur Optimierung besteht sicherlich, keine Frage. :) Das zeigt sich hier schon an den (plötzlich sehr zahlreichen) Rückmeldungen. :D

Leitzz schrieb:
Wo bemerkt man denn die Performance von einem SSD-Raid? Oder ist es eher so ein "Weil ichs kann!"-Ding? :D

Joah, schon ein "weil ich es kann" Ding. :p Der Performance-Gewinn ist doch recht überschaubar, sage ich jetzt mal. Habe nur ganz kurz mal die Write-Performance mit einer einzigen Messung verglichen:
KonfigurationWrite [GB/s]
einzelne NVMe2
RAID102.5
(Genügt jetzt aber keinem wissenschaftlichen Standard, da jeweils nur eine Messung gemacht wurde und auch sonst sicherlich noch einige Parameter verschieden sind.)

camlo schrieb:
Was macht man denn mit einer 72GB swap partition?
Raid10 ist auch etwads ungeschickt für 2 Platten gewählt

Ursprünglich wollte ich ein RAID1 machen, aber als ich im Arch-Wiki gesehen habe, dass man auch ein RAID10 anlegen könnte, wollte ich das einfach mal probieren.
72GB swap sind für 64GB RAM mit Hibernation. Aber sollte ich mal Platzprobleme haben, wird Hibernation als erstes rausfliegen. ;)

Fried.Ice schrieb:
Interessanter Beitrag, wobei halt auch schon echt viel im (grandiosen) Arch-Wiki steht.

Ich habe einige Fragen / Anmerkungen:
  • Hast du dir im Vorhinein mal die "RAID"-Features von Btrfs mal angeschaut? Wenn ja, gab es einen Grund dies nicht zu verwenden? Ich bin selbst vor kurzem auf Btrfs umgestiegen (luks/dmcrypt->lvm->Btrfs/SWAP) und sehr begeistert von den Möglichkeiten. Zum Beispiel kann ich mithilfe der Subvolumes jetzt mehrere Distributionen auf die gleiche Partition installieren, (dynamisch verteilter Speicherplatz, yay!)
  • Du hast keine EFI Partition auf den beiden Platten, ist die auf einem dritten Datenträger?
  • Zudem hast du deine /boot Partition ja auch nicht gespiegelt, kannst also, wenn die Platte mit dieser Partition ausfällt, auch nicht ohne weiteres booten. Geht das nicht auch in irgendeiner Weise zu spiegeln? (Ist mglw, eine dumme Frage, ich habe noch nie ein RAID aufgesetzt)
  • RAID 10 mit 2 Platten? (Wurde ja auch schon mehrfach angemerkt hier)
  • Hast du ggf Benchmarks für verschiedene Szenarien für den Vergleich RAID zu noRAID?
  • 72GB Swap - Hast du da einen triftigem Grund dafür? 64GB RAM im System und Hibernation mit schon aktiv betriebenem Swapping? Oder wie muss ich das verstehen?

Das Arch Wiki ist wirklich super! Nur ist vieles zwar da, aber halt für meinen konkreten Anwendungsfall teilweise etwas verstreut beziehungsweise lässt es sich kompakter zusammenfassen - aber im Wiki steht es schon! (Und ich sehe hier im Forum des Öfteren, dass Leute explizit nach deutschen Tutorials fragen, so könnte man meinen Beitrag auch einfach als Übersetzungsarbeit ansehen, ganz wie es einem beliebt. ;))

  • Das Butter-File-System habe ich bisher zwar erst auf NAS verwendet, aber wäre eine super Alternative. Auch ZFS könnte eine Möglichkeit sein, da es ja mit den neueren Kerneln auch unterstützt wird. Im Manjaro Architect kann man z.B. direkt ZFS anlegen (RAID1 übrigens auch, aber kein RAID10).
  • Partition 1 (300M) ist die EFI-Partition (siehe Tabelle im Startbeitrag)
  • Hier hätten nennst du schon direkt eine gute Verbesserung: Die Boot Partition könnte man direkt spiegeln! Man könnte ein RAID1 anlegen. Das hätte ich wohl besser machen können. Danke für den Hinweis, ich werde das oben im Beitrag noch erwähnen. Wenn man das RAID10 für root anlegt, sollte man direkt auch ein RAID1 für /boot/efi anlegen.
  • Ein mdadm RAID10 im far layout, welches ich angelegt habe nutzt einerseits beide Platten gleichzeitig zum Lesen und zum Schreiben, spiegelt andererseits aber auch die beiden Platten aufeinander. Am einfachsten stellt man sich das wohl so vor, dass man die Platten halbiert und jeweils eine vordere und hintere Hälfte hat. Was auf Platte 1 auf der vorderen Hälfte liegt, liegt auf Platte 2 auf der hinteren Hälfte und vice versa.
    • RAID10 under Linux is built on the concepts of RAID1+0, however, it implements this as a single layer, with multiple possible layouts. The far X layout on Y disks is designed to offer striped read performance on a mirrored array. It accomplishes this by dividing each disk in two sections, say front and back, and what is written to disk 1 front is mirrored in disk 2 back, and vice versa. This has the effect of being able to stripe sequential reads, which is where RAID0 and RAID5 get their performance from. The drawback is that sequential writing has a very slight performance penalty because of the distance the disk needs to seek to the other section of the disk to store the mirror. RAID10 in far 2 layout is, however, preferable to layered RAID1+0 and RAID5 whenever read speeds are of concern and availability / redundancy is crucial. Quelle: Arch Wiki

up.whatever schrieb:
Du legst dir ein RAID an, aber installierst GRUB nur auf einer der Platten? Wenn dir die falsche Platte abraucht kann das System nicht mehr booten.

Ja, ein RAID1 über die Partitionen 1 auf beiden Platten wäre deutlich cleverer gewesen.
Ergänzung ()

Bezüglich der nicht-gespiegelten Boot-Partition habe ich den Abschnitt Partitionieren noch um folgendes ergänzt.

Im Folgenden lege ich die Boot-Partition nur auf eine Festplatte. Falls genau diese sterben sollte, kann man natürlich nicht mehr booten, auch wenn alle weiteren Daten durch die Spiegelung noch vorhandensein müssten. Besser wäre es die Boot-Partition auf ein RAID1 zu legen. Dazu muss man von der nachfolgenden Beschreibung etwas abweichen:
  • Partition 1 muss auf beiden Platten ebenfalls als fd00-Partition angelegt werden.
  • Nebst dem RAID10 über die Partitionen 2 beider Platten muss dann noch ein RAID1 über die Partitionen 1angelegt werden
    • Der Befehl müsste wie folgt aussehen: mdadm --create --verbose --level=1 --metadata=1.2 --raid-devices=2 /dev/md/MyRAID1Boot /dev/nvme0n1p1 /dev/nvme1n1p1
  • Später bei der Installation muss man dann natürlich /boot/efi auf das angelegte RAID1 (wahrscheinlich md126) legen.
  • (Falls das jemand so umsetzt und dabei auf weitere Abweichungen stösst bitte melden, dann würde ich das hier ergänzen!)
Jetzt ärgere ich mich, dass ich das nicht selbst so gemacht habe. :D
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: justFlow, Fried.Ice und SVΞN
2Stoned schrieb:
Ja, ein RAID1 über die Partitionen 1 auf beiden Platten wäre deutlich cleverer gewesen.
Ergänzung ()

Bezüglich der nicht-gespiegelten Boot-Partition habe ich den Abschnitt Partitionieren noch um folgendes ergänzt.
Jetzt ärgere ich mich, dass ich das nicht selbst so gemacht habe. :D
Naja, besser von einer Platte booten als gar nicht booten zu können. Mit deiner vorgeschlagenen Lösung wird das UEFI die EFI System Partition nicht mehr finden.
 
up.whatever schrieb:
Naja, besser von einer Platte booten als gar nicht booten zu können. Mit deiner vorgeschlagenen Lösung wird das UEFI die EFI System Partition nicht mehr finden.
Dazu habe ich noch nichts eindeutiges gefunden und es selbst auch noch nicht ausprobiert. Ich fand Berichte, die sagen, dass es mit --metadata==1.0 klappt, auf einem RAID1 zu booten, andere meinen auf manchen ihrer Systeme ginge es so, aber nicht auf allen. BIOS-Systeme scheinen hier weniger wählerisch zu sein, als UEFI.
Aber wenn jemand mehr weiss, nur melden, ich ergänze / korrigiere das sehr gerne. :)

Eine Alternative wäre sich auf der zweiten Platte eine Kopie des Bootloaders zu machen - die dürfte sich sogar in Grub als alternatives Bootmedium eintragen lassen, quasi als Backup. Das wäre dann keine eigentliche und fortwährende Spiegelung sondern müsste halt jedesmal händisch vorgenommen werden, wenn man etwas am Bootloader ändern will.
 
2Stoned schrieb:
72GB swap sind für 64GB RAM mit Hibernation. Aber sollte ich mal Platzprobleme haben, wird Hibernation als erstes rausfliegen. ;)
Das hab ich damals ebenfalls so gemacht. Brauchst du aber gar nicht.

/sys/power/image_size controls the size of the image created by the suspend-to-disk mechanism. It can be written a string representing a non-negative integer that will be used as an upper limit of the image size, in bytes. The suspend-to-disk mechanism will do its best to ensure the image size will not exceed that number. However, if this turns out to be impossible, it will try to suspend anyway using the smallest image possible. In particular, if "0" is written to this file, the suspend image will be as small as possible. Reading from this file will display the current image size limit, which is set to 2/5 of available RAM by default.
Source:
https://wiki.archlinux.org/index.ph..._and_hibernate#About_swap_partition/file_size

Ich habe 32Gb RAM und ein 24Gb Swapfile. Selbst bei sehr hoher RAM-Auslastung habe ich nie Probleme mit Hibernation bekommen. (zugegeben ist auch viel im RAM meist Cache, daher brauchst du auch kein riesigen Swapspace)
Ich bin seit 2 Jahren von Swap Partitions auf Swapfiles umgestiegen, auch aus Flexibilitätsgründen, dass ich notfalls den Platz easy anders nutzen kann. Das könntest du dir ebenfalls überlegen :)
Weiterer Vorteil ist das schnellere "Resuming", da weniger von der Disk gelesen werden muss.
Ergänzung ()

2Stoned schrieb:
Eine Alternative wäre sich auf der zweiten Platte eine Kopie des Bootloaders zu machen - die dürfte sich sogar in Grub als alternatives Bootmedium eintragen lassen, quasi als Backup. Das wäre dann keine eigentliche und fortwährende Spiegelung sondern müsste halt jedesmal händisch vorgenommen werden, wenn man etwas am Bootloader ändern will.
So habe ich das mehrfach gemacht, als z.b. pacman hook wenn was am Bootloader geändert wird, dann läuft danach ein Job, der das auf die 2te Platte persistiert.
Wenn Platte 1 ausfällt wird automatisch von Platte 2 gebootet.
HPE macht das selbst im Server-Umfeld so - nennt sich LSRRB (Linux Software Raid Redundant Boot)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Fried.Ice und 2Stoned
Du kannst die efi partition auch mit einem rsync script automatisch auf die boot partition der 2.ten platte sichern und einen zusätzlichen eintrag mit efibootmgr im uefi machen. Dann kannst du im ernstfall ohne weitere umstände den zweiten eintrag im bios wählen.
 
  • Gefällt mir
Reaktionen: Solipsists, justFlow und 2Stoned
Erst einmal vielen Dank für die schnelle und ausführliche Rückmeldung!

2Stoned schrieb:
Partition 1 (300M) ist die EFI-Partition (siehe Tabelle im Startbeitrag)
Äh ja, mein Fehler, hatte ich falsch gelesen und interpretiert.

Das heißt, nach deinen Aufführungen unter
2Stoned schrieb:
mount /dev/nvme0n1p1 /mnt/boot/efi

wird /boot sowieso gespiegelt, weil es im /-RAID schon mit drin ist, nur eben die EFI Partition unter /boot/efi nicht.
Vielleicht könntest du da den Mountpoint (/boot/efi) direkt mit in die Tabelle reinschreiben? Unter "bootloader" verstehe ich persönlich /boot ;). Das Arch-Wiki verwendet für die EFI Partition den Begriff ESP, das fände ich persönlich eindeutiger als Boot-Partition.
 
Zuletzt bearbeitet:
Spannende Sache, aber wie sieht’s denn das Treiberseitig aus? Haben SSDs nicht viele Befehle die direkt drauf geschrieben werden müssen? TRIM und so? SMART Werte lassen sich so auch keine auslesen oder? Gerade unter Linux hatten NVMe ja lange Probleme (Clonezilla)....
 
Zurück
Oben