dirk11 hat geschrieben:Shice, Du verwirrst mich einerseits, andereseits klärst Du aber mein fehlendes Wissen auf
Ach, die restlichen Klarheiten kriegen wir auch noch beseitigt
dirk11 hat geschrieben:Was will ich denn? So langsam verliere ich den Überblick vor lauter Möglichkeiten. Also, mittels LVM die / Partition im laufenden Betrieb über mehrere Festplatten erweiten, verschlüsselt haben und nur einmal Key eingeben geht nicht, verstehe ich dich da richtig?
"geht nicht" gibt's nicht;)
Das Problem ist, dass die einzelnen Layer ziemlich dumm sind. Der Raid-Layer weiß nichts vom draufliegenden Dateisystem (soll er auch nicht, da ist ja die Verschlüsselung dazwischen), die Verschlüsselung weiß nichts vom draufliegenden LVM und das LVM stellt letztendlich auch nur Partitionen zur Verfügung, die sich mit LVM statt mit gparted verschieben lassen, und in denen dann wieder die Dateisysteme hausen, die nichts davon wissen, was unter ihnen alles los ist.
Optimal wäre es, wenn das Dateisystem sich selbstständig über mehrere Partitionen erstrecken ließe und es sich selbstständig um redundante Speicherung kümmern würde. Genau das soll mal btrfs können. Noch besser wäre es, wenn das Dateisystem auch noch verschlüsseln könnte ... aber das scheint bei btrfs in weiter Ferne zu liegen.
Willst du also nur eine Verschlüsselungsschicht (und ein Passwort) haben, so bleibt dir bis auf weiteres nur der Ansatz, erst ein dm-raid-Device einzurichten, und darauf eine Verschlüsselungsschicht. Dadurch fällt der Raid1-Teil von LVM oder btrfs schon mal weg.
Das nächste Problem ist dann die Erweiterung auf ein zweites Raid1 (deine zwei 8TB-Platten). Dieses Raid1 braucht auch wieder ein Passwort ... das speicherst du am besten als Keyfile in deinem ersten verschlüsselten Raid1 (oder du musst es jedesmal eingeben). Dann kannst du dein LVM aber nicht auf das zweite Raid1 erweitern, denn das erste Raid1 muss erst laufen und das Dateisystem darauf ansprechbar sein, um an dein Keyfile ranzukommen. Da kannst du drumherumbasteln, wenn du LVM um des LVM willens haben willst, indem du eine verschlüsselte root-Partition mit den Keyfiles außerhalb des LVM anlegst ... eh ... du wolltest es doch einfach haben, oder?
Danach hast du erst mal das LVM vergrößert ... dann musst du noch das Dateisystem vergrößern ... hoffentlich reichen die inodes ...
dirk11 hat geschrieben: Das wäre für mich der einzige Grund für LVM, das / über eine neue Festplatte (natürlich doppelt als RAID-1) vergrößern, ohne irgendwas anderes am System ändern/anpassen zu müssen! Wenn ich das System von Anfang an gut durchdacht einrichte, muss ich an der Partitionierung nie wieder rumschrauben, an allen meinen Rechnern musste ich nie im Nachhinein etwas an der Partitionierung ändern. Es geht nur um die Frage, irgendwann mal den Speicherplatz zu erhöhen.
Ich will dir LVM keineswegs ausreden, ich halte es auch nicht für schädlich. Du musst selber entscheiden, ob dir trotz der Probleme noch genug Vorteile übrig bleiben.
dirk11 hat geschrieben: Und ich kann mir vorstellen, dass von USB booten schnell genug ist, bisher muss ich dafür von CD booten.
Aber klar ist USB2 schnell genug für ein Rettungssystem - achte auf einen einigermaßen schnellen Stick.
dirk11 hat geschrieben: Wenn du vom Zwangs-LVM wegkommen willst, musst du die manuelle Partitionierung bemühen, ja.
Ich fang damit an, sobald ich sicher bin, wie es aussieht und in welcher Reihenfloge die Schritte durchgeführt werden.
Der einfachste Aufbau ist Raid1 -> Cryptsetup -> Dateisystem für "/". Dazu sollte jede Platte eine Boot- und Grub-Partition haben. Wo du swap lässt, ist dann erst mal egal, entweder auf einer einzelnen Platte, oder auf dem Raid1, _neben_ der Cryptpartition (und nicht innerhalb).
dirk11 hat geschrieben: P.S.: Das Swap mit zufälligem Schlüssel geht natürlich auch und ist eine weitere Methode, die Swap-Partition aus dem _einen_ Cryptocontainer und somit aus dem LVM zu nehmen. Dadurch machst du aber ein "suspend-to-disk" unmöglich. Das wäre meiner Meinung nach nicht so tragisch, denn suspend-to-ram ist eh viel cooler.
Ich möchte die Option Suspend-to-disk eigentlich gerne haben. Mache ich das durch die Verschlüsselung des swap generell unmöglich oder durch den zufälligen Schlüssel oder durch das "im LVM"?
Durch den zufälligen Schlüssel machst du ein Suspend-To-Disk unmöglich ... er speichert dann seinen Zustand auf der verschlüsselten Swap-Partition, schaltet sich dann aus und vergisst dabei den Schlüssel (schön blöde
.
Mit dem decrypt_derived (oder mit einem Keyfile auf deiner "/"-Partition) verschlüsselst du swap immer mit dem gleichen Schlüssel, dann geht auch "suspend-to-disk". Zum Aufwecken musst du allerdings immer das Passwort für deine "/"-Partition eingeben (oder von einem USB-Stick lesen).
Packst du die Swap-Partition in ein LVM. wird sie immer zusammen mit der "/"-Partition mit dem gemeinsamen Passwort entschlüsselt. Auch damit ist suspend-to-disk möglich. Auch damit musst du beim Booten immer dein eines Passwort eingeben.
Bei einem suspend-to-ram speichert er seinen Zustand nicht auf Platte sondern im RAM. Darum musst du beim Aufwecken kein Passwort angeben. Allerdings ist bei einem Stromausfall alles weg und er macht quasi einen Neustart und braucht ein Passwort. Suspend-to-Ram funktioniert unabhängig von einer Swap-Partition.
dirk11 hat geschrieben:Einspruch. Geht eine der beiden Platten kaputt, ist im einfachen Fall der Swap futsch, im ärgerlichen Fall die Rescue-Installation. Ich habe zwei Platten im System, weil ich die ausschliesslich für RAID-1 benutzen will, sonst könnte ich mir den 2. Stromfresser gleich ganz sparen..
Gutes Argument! Einspruch stattgegeben!
Trotzdem stellt sich die Sinnfrage nach einem Swap auf Raid1 - dann lieber zwei Swap-Partitionen - wenn eine wegfällt, nimmt er halt die andere.
dirk11 hat geschrieben:Sag mal, wieviel Hauptspeicher ist für einen Heim-Server überhaupt sinnvoll? Ich bin ja vom Oberglücksfall 8GB ausgegangen, aber braucht man die jemals? Es sollte doch wohl dicke reichen, wenn ich davon ausgehe, dass ich mal von 3GB auf 4GB aufrüste, oder wie sieht man das hier?
Öhm ... wieviel hatte der Raspberry Pi noch? 512 MB glaub ich. Das soll ja nur ein einfacher Fileserver werden, der muss ja keine großen Datenmengen im Speicher halten, da sollten 512 MB reichen. Allerdings stoße ich mit einem fetten Desktop-System bei 512 MB schnell an die Grenze zum swappen. Ich denke, 2 GB sind ganz okay, kost ja kaum noch was. Wenn du noch ein paar virtuelle Maschinen laufen lassen willst, sind 32 GB natürlich eher knapp, und wenn du eine Blu-Ray komplett in der Ram-Disk mastern lassen willst, sind 32 GB natürlich viel zu wenig.
dirk11 hat geschrieben:Also, wieder zurück an den Anfang, doch ohne LVM. Alles jeweils gespiegelt auf beiden Platten für RAID-1:
- 1MB "Reserviert für BIOS"
- 17GB Swap (also doppelter Speicher+Sicherheit)
- /boot mit 10GB, um sie eventuell doch anstatt als boot komplett für das Betriebssystem nutzen zu können
- Rest wird /
Reihenfolge wird MBR/GPT_mit_denPartitionen-SWAP,boot,root->md->crypt->FS
oder? Kann ich auch hier mit _einem_ PW booten?
Na, dann fangen wir doch mal wirklich am Anfang an. Du hast zwei Festplatten, partitionieren kannst du aber nur eine zur Zeit.
sda:
sda1 -> 1MB für BIOS_grub
sda2 -> Boot mit 1 GB (es ist nämlich nach wie vor eine Scheiß-Idee, dir deine Bootpartition mit einer Installation zu killen
sda3 -> 15 GB (wenn's denn unbedingt sein muss, für eine Rescue-Installation)
sda4 -> 9 GB Swap
sda5 -> Raid1
(dahinter lässt du bitte noch ein paar MB frei, falls die Ersatzplatte ein wenig kleiner ist)
sdb partitionierst du nach exakt dem gleichen Schema.
Dann startest du den Debian-Installer.
sda2 verwendest du als /boot.
Aus sda5 und sdb5 machst du ein Raid1. Auf dieses Raid1 setzt du eine Crypto-Schicht. Diese Crypto-Schicht formatierst du als ext4 und verwendest sie als "/".
Außerdem setzt du eine Crypto-Schicht auf die nackten Partitionen sda4 und sdb4. Beide verwendest du als "Swap".
Reboot, schauen ob's läuft. Dabei musst du geschlagene 3 Passwörter eingeben! (Du wirst es schaffen).
Wenn das System läuft, änderst du die Crypttab erst mal dahingehend, dass die beiden Swap-Partitionen ihre Passwörter aus Keyfiles kriegen, welche du im verschlüsselten "/" ablegst (oder du nimmst das decrypt_derived Script).
Danach musst du dich noch darum kümmern, dass das Booten von beiden Platten klappt:
Im laufenden System installierst du Grub auf sdb. Ich weiß nicht genau, wie man Grub dazu bringt, auch sdb1 mit seinem Loader zu füllen ... zur Not muss der mit dd rüberkopiert werden. Außerdem muss sdb2 noch formatiert werden und der Inhalt von sda2 nach sdb2 umkopiert werden. Du solltest Tests machen, ob das System auch von jeder Platte einzeln bootet.
Soweit mal als Vorschlag ...
dirk11 hat geschrieben:Nachtrag @NAB: auch
hier empfehlen sie LVM. Merkwürdig.
Naja ... achte auf's Kleingedruckte .. sie empfehlen LVM, wenn du z.B. /home/ auf einer eigenen Partition hast. Oder wenn du mehrere Systeme installieren willst - was ich aber auch nicht verstehe.
Der Haken an meiner Lösung oben ist, dass du die Passwörter zu deinen Swap-Partitionen als Dateien auf der Verschlüsselten "/"-Partition liegen hast. Das macht man eigentlich nicht - vorallem nicht, wenn der Rechner als Server im Netz hängt - dann reicht eine Leseberechtigung als "root", um die Passwörter auszuspionieren (für decrypt_derived brauchst du schon eine Ausführ-Berechtigung als root) ... da gab's erst kürzlich eine nette Sicherheitslücke für die Admin-Gruppe von Cups.
Aber da es erstens nur die Swap-Partitionen sind und du zweitens keinen Hochsicherheitstrakt brauchst, halte ich diese Lösung für einfacher als LVM.
Aber die Frage, ob nun LVM oder nicht, musst du immer noch selber entscheiden ... ich wollte dir nur zeigen, wie es auch ohne geht.
Never change a broken system. It could be worse afterwards.
"No computer system can be absolutely secure." Intel Document Number: 336983-001