Seiten: [1]
|
 |
|
|
Autor
|
Thema: Verschlüsseltes RAID1 mit btrfs (Gelesen 244 mal)
|
|
Sebastian
YaBB God
    
Offline
Einträge: 628

|
 |
Verschlüsseltes RAID1 mit btrfs
« am: 25. Dezember 2024, 10:24:57 »
|
|
Hallo Suletuxe,
Zu Testzwecken habe ich in einer VM, ein Verschlüsseltes RAID1 mit btrfs eingerichtet. Und zwar nicht von Anfang an, sondern begonnen als Standalone Dateisystem auf einer Platte. Ich wollte wissen, wie die Vorgehensweise ist, falls man später auf ein RAID1 nachrüsten möchte.
Also die Anfangssituation war auf Platte A ein Vollverschlüsseltes (Bis auf die ESP) installiertes EndavourOS auf einem btrfs.
Nun zweite Platte dran gehangen (Platte B) und dieser eine GPT mit einer Partition verpasst. Btrfs kommt zwar auch ohne Partitionstabelle aus, macht es aber später anderen Tools leichter das Dateisystem zu finden.
Die Partition als Luks Volume definiert, und geöffnet. Nun btrfs Mitgeteilt, das dieses Verschlüsselte Volume als zusätzliches Speichermedium für sein Dateisystem verwenden darf.
btrfs device add /dev/mapper/platte_b /
|
|
Der / ist das gemountete btrfs. Damit hat sich das Dateisystem schon mal über die zweite Platte erstreckt und kann diesen als zusätzlichen Speicherplatz verwenden. Nun muss btrfs noch mitgeteilt werden, das wir gerne daraus ein RAID1 machen möchten.
dafür starten wir ein balance das die Daten über die zwei Platten verteilt und gleichzeitig eine Konvertierung der btrfs Profile an den Daten vornimmt.
btrfs -v balance start -mconvert=raid1 -dconvert=raid1 /
|
|
-v gibt uns mehr Informationen über den Vorgang und veranlasst btrfs dies nicht im Hintergrund zu tun. -mconvert= wird verwedet um das Profil der Metadaten umzustellen. dconvert= das gleiche für die eigentlichen Daten.
Nach dem Vorgang sind die Daten dann auf beiden Platten synchronisiert. Ich feile jetzt nur noch an einem workaround GRUB zum Öffnen eines zweiten crypt Volumen beim Bootvorgang zu bringen, (da hatte ich bisher mir noch keine Zeit für genommen) und mit einem btrfs RAID1 klarzukommen. Denn btrfs weigert sich erst einmal das Dateisystem ohne die degraded mount Option ein Dateisystem zu mounten wo eine Platte im RAID fehlt. Ein versuch wäre es wert diese Mount Option auf Kernel Comandline anzugeben um den Mount immer zuzulassen. Aber das muss ich noch ausprobieren.
Nächster Test:
Ein btrfs RAID1 auf zwei Verschlüsselte Volumes wovon nicht gebootet werden muss. Vorgehensweise ist dabei dieselbe. Solange beide Verschlüsselten Volumen geöffenet sind klappt ein Mount auch wunderbar. Nun Simuliere ich ein Totalausfall einer Platte, indem ich eine Platte der VM wieder weg nehme.
Nach dem Öffnen des Crypto Volumen und dem versuch das btrfs zu mounten weigerte es sich weil eine Platte fehlt. Also die Mount Option degraded dazugeben.
mount -t btrfs -o compress=zstd,noatime,degraded /dev/mapper/platte_b /mnt
|
|
Und das btrfs lies sich mounten. Nun wie gesagt es soll ein Totalausfall einer Platte simuliert werden also muss ich das Dateisystem dies nun mitteilen, indem ich die Profile wieder auf den Singel Device Betrieb umstelle.
Hinweis: Was man von anderen Dateisystem wie Ext4 z.B. so kennt das Änderungen am Dateisystem im einen nicht gemountetem Zustand vorgenommen werden. Ist bei Btrfs nicht so, dort können/müssen die meisten Änderungen im gemounten Zustand geändert werden.
btrfs -v balance start -mconvert=dup -dconvert=singel /mnt
|
|
Jetzt noch das defekte/fehlende Laufwerk aus dem Dateisystem entfernen:
die Device ID vom fehlenden Laufwerk (im Beispiel 2) kann durch
btrfs filesystem usage /mnt
|
|
ermittelt werden. Danach kann es mit:
btrfs device remove 2 /mnt
|
|
aus dem Dateisytem entfernt werden.
Danach kann das Dateisystem abgemountet werden und sollte nun auch ohne die degraded Mount Option gemountet werden können.
Fun Fakt:
Wenn die oben erwähnten Schritte jetzt für die Platte B wiederholt werden würden, also mounten mit degraded und die Profile umstellen etc. pp. Dann hätte man durch das vorherige RAID1 jetzt ein Duplikat des Dateisystems und man könnte die zweite Platte als ein separates Btrfs nutzen. Einziger zusätzlicher Schritt den man dann vielleicht noch tun sollte, ist die UUID mithilfe von btrfstune nacher noch zu ändern. Damit sich die beiden Dateisysteme wirklich unterscheiden.
LG Sebastian
|
« Letzte Änderung: 25. Dezember 2024, 10:32:28 von Sebastian » |
Gespeichert
|
Richtig um Hilfe bitten
|
|
|
Sebastian
YaBB God
    
Offline
Einträge: 628

|
 |
Re:Verschlüsseltes RAID1 mit btrfs
« Antwort #1 am: 25. Dezember 2024, 19:51:46 »
|
|
Update:
Ich habe vergessen GRUB in die ESP neu zu installieren, danach hatte Grub auch beide Luks Volumen im frühen Boot Stadium entsperrt. Einziger Nachteil in diesem frühen Stadium ist noch kein Zugriff auf das Initramfs möglich. Deswegen klappt der Tick mit der Passwortdatei im Initramfs nicht, und es muss jedes Volumen ein Passwort eingeben werden, also zweimal bei zwei Platten. Vielleicht bekomme ich es hin einen Schlüssel im TPM abzulegen. Aber dafür muss ich mich erst einmal wieder weiter schlaumachen, ob GRUB damit umgehen kann, und wie ich das anstelle.
Ich stelle jedenfalls fest, das jeder der sich mit Datenträger Verschlüsselung mit Linux beschäftigt. Ein sehr gutes abstraktionsvermögen haben sollte. 
LG Sebastian
|
« Letzte Änderung: 25. Dezember 2024, 20:01:38 von Sebastian » |
Gespeichert
|
Richtig um Hilfe bitten
|
|
|
Seiten: [1]
|
|
|
|
|
|
|