Ausgangssituation / Testablauf
Inhaltsverzeichnis
Teil 1 – Partition vergrößern
cryptsetup Container vergrößern
Problem:
Daten befinden sich in einer unverschlüsselten Partition und sollen verschlüsselt werden (cryptsetup – LUKS). Dafür wird auf dem Datenträger eine neue Partition angelegt, die verschlüsselt wird. Der Platz für die neue verschlüsselte Partition ist allerdings nicht groß genug, um alle Daten zu kopieren. Deshalb werden einige Dateien in die neue verschlüsselte Partition verschoben, die Unverschlüsselte verkleinert und die Verschlüsselte vergrößert. Das alles soll natürlich ohne Datenverlust geschehen.
Im Anschluss (Teil 2) soll dann die verschlüsselte Partition verkleinert werden (nachdem Dateien gelöscht wurden).
Um zu testen, ob es zu keinem Datenverlust kam, werden die sha256 Prüfsummen verglichen.
Vorgehensweise:
Eine Partition auf dem restlichen Platz erstellen und mit cryptsetup verschlüsseln.
Dateien verschieben um den neuen Platz zu befüllen.
Unverschlüsselte Partition verkleinern und verschlüsselte Partition vergrößern.
Weitere/alle Daten kopieren.
1. Partition mit unverschlüsselten Daten
Partition mit Daten befüllen
Liste der Dateien:
1,0G datei01
2,0G datei02
1,0G datei03
1,0G datei04
1,0G datei05
12G datei06
1,0G datei07
500M datei08
12G datei09
4,0G datei10
400M datei11
sha256 Prüfsummen:
f6f65e1cf76953d8853de42be0e810501d2ea854cc49923001218e8956e713ce datei01
b924ec65fb8283763071e99177e37ea921bbaf75a60c452c2fa9e875a1a3cfea datei02
3043d725633be2a3f44248e4e8bac2778a66598cf4b7091916ac2e1bb964f37b datei03
7f39d8b2e95ed4764041a30cafdcedbedb24379fce78f4f3f7606096beae4c6c datei04
7fdc95d9e7fdaa8edcfa95d5256815cdd0d5346c3411c5c137f15ea68d270ab1 datei05
eb495569aea19946ab4e91a1069b7f970a7161b976eb824f85d8d316a9605768 datei06
265bf9e3acf38aa6ad5ce9f82db74f4178c064b26f5286e6b08f8868583be862 datei07
4e97c8cb09dc6fe812627546d7edfbe8903812910a219ff9b12a1e2472aa9baf datei08
26407308c218c930a05edc3481955508eee437fa69dc4caaf26d85c2e9294c2f datei09
b47df44d9b544b80e3ced3b2f4c6a0b6071f67584ee0c0f7b959559896f43604 datei10
c59022e5e81752441698432af0b13c921dae29e8dd20a0dc92060e006e808c03 datei11
Anlegen einer verschlüsselten Partition die danach vergrößert wird
2. Erstellen der neuen (aber zu kleinen) Partition:
Folgende Partitionen gibt es nun:
/dev/sde1 => unverschlüsselte Partition (Label: unverschluesselt)
/dev/sde2 => verschlüsselte Partition (Label: verschluesselt)
3. Verschlüsseln der Partitionsudo cryptsetup luksFormat -c aes-xts-plain64 -s 512 -h sha512 -y /dev/sde2
4. Die verschlüsselte Partition einem virtuellem Gerät zuweisen („daten“)sudo cryptsetup luksOpen /dev/sde2 daten
5. Ein Dateisystem auf dem neuen virtuellen Gerät anlegensudo mkfs.ext4 /dev/mapper/daten
optional kann ein Label vergeben werden (hier auch „daten“):sudo e2label /dev/mapper/daten daten
hier wird in /tmp der Ordner daten angelegt (in einer produktiven Umgebung empfiehlt es sich einen Ordner in /media oder /mnt anzulegen)sudo mkdir /tmp/daten
mounten:sudo mount /dev/mapper/daten /tmp/daten/
Da ein normaler User noch keine Berechtigungen hat um Dateien anzulegen (oder zu löschen), werden sie hiermit vergeben:
entweder für einen bestimmten user mit:sudo chown $USER:$USER /tmp/date
oder für „alle“:sudo chmod ugo+rwx /tmp/daten
7. so viele Dateien kopieren wie in die neue Partition passen und danach mittels Prüfsumme sicherstellen dass alles funktioniert hat.
eb495569aea19946ab4e91a1069b7f970a7161b976eb824f85d8d316a9605768 datei06
265bf9e3acf38aa6ad5ce9f82db74f4178c064b26f5286e6b08f8868583be862 datei07
4e97c8cb09dc6fe812627546d7edfbe8903812910a219ff9b12a1e2472aa9baf datei08
8. Dateisystem aushängensudo umount /tmp/daten
9. Verschlüsseltes virtuelles Gerät schließensudo cryptsetup luksClose daten
10. Partition (/dev/sde2) vergrößern (z.B. mit gparted) (hier: auf ~ 50 GB)
11. Die verschlüsselte Partition einem virtuellem Gerät zuweisen („daten“)sudo cryptsetup luksOpen /dev/sde2 daten
12. Die Verschlüsselung auf den verfügbaren Platz erweitern:sudo cryptsetup resize daten
13. Dateisystem prüfen und ggf. reparieren.sudo fsck.ext4 -f /dev/mapper/daten
14. Dateisystem auf den verfügbaren Platz erweiternsudo resize2fs /dev/mapper/daten
15. Dateisystem mountensudo mount /dev/mapper/daten /tmp/daten/
16. Weiter Dateien (alle) kopieren wie in die neue Partition passen und danach mittels Prüfsumme sicherstellen dass alles funktioniert hat.
f6f65e1cf76953d8853de42be0e810501d2ea854cc49923001218e8956e713ce datei01
b924ec65fb8283763071e99177e37ea921bbaf75a60c452c2fa9e875a1a3cfea datei02
3043d725633be2a3f44248e4e8bac2778a66598cf4b7091916ac2e1bb964f37b datei03
7f39d8b2e95ed4764041a30cafdcedbedb24379fce78f4f3f7606096beae4c6c datei04
7fdc95d9e7fdaa8edcfa95d5256815cdd0d5346c3411c5c137f15ea68d270ab1 datei05
eb495569aea19946ab4e91a1069b7f970a7161b976eb824f85d8d316a9605768 datei06
265bf9e3acf38aa6ad5ce9f82db74f4178c064b26f5286e6b08f8868583be862 datei07
4e97c8cb09dc6fe812627546d7edfbe8903812910a219ff9b12a1e2472aa9baf datei08
26407308c218c930a05edc3481955508eee437fa69dc4caaf26d85c2e9294c2f datei09
b47df44d9b544b80e3ced3b2f4c6a0b6071f67584ee0c0f7b959559896f43604 datei10
c59022e5e81752441698432af0b13c921dae29e8dd20a0dc92060e006e808c03 datei11
Die Prüfsummen stimmen überein (sha256sum).
Teil 2 – Partition verkleinern
Problem:
Die verschlüsselte Partition soll verkleinert werden.
Ausgangssituation:
1. Die verschlüsselte Partition einem virtuellem Gerät zuweisen („daten“)
sudo cryptsetup luksOpen /dev/sde2 daten
hier wird in /tmp der Ordner daten angelegt (in einer produktiven Umgebung empfiehlt es sich einen Ordner in /media oder /mnt anzulegen)
sudo mkdir /tmp/daten
mounten:sudo mount /dev/mapper/daten /tmp/daten/
├──────────────────┬────────┬────────┬────────┬───────────────────────────────┬──────┬─────────────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├──────────────────┼────────┼────────┼────────┼───────────────────────────────┼──────┼─────────────────────┤
│ /tmp/daten │ 47.9G │ 35.9G │ 9.6G │ [##############......] 74.8% │ ext4 │ /dev/mapper/daten │
╰──────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────┴─────────────────────╯
3. Dateien löschen
Liste der (verbliebenen) Dateien:
1,0G datei01
2,0G datei02
1,0G datei03
1,0G datei04
1,0G datei05
1,0G datei07
500M datei08
4,0G datei10
400M datei11
f6f65e1cf76953d8853de42be0e810501d2ea854cc49923001218e8956e713ce datei01
b924ec65fb8283763071e99177e37ea921bbaf75a60c452c2fa9e875a1a3cfea datei02
3043d725633be2a3f44248e4e8bac2778a66598cf4b7091916ac2e1bb964f37b datei03
7f39d8b2e95ed4764041a30cafdcedbedb24379fce78f4f3f7606096beae4c6c datei04
7fdc95d9e7fdaa8edcfa95d5256815cdd0d5346c3411c5c137f15ea68d270ab1 datei05
265bf9e3acf38aa6ad5ce9f82db74f4178c064b26f5286e6b08f8868583be862 datei07
4e97c8cb09dc6fe812627546d7edfbe8903812910a219ff9b12a1e2472aa9baf datei08
b47df44d9b544b80e3ced3b2f4c6a0b6071f67584ee0c0f7b959559896f43604 datei10
c59022e5e81752441698432af0b13c921dae29e8dd20a0dc92060e006e808c03 datei11
├─────────────────────────────────────┬────────┬────────┬────────┬───────────────────────────────┬──────┬─────────────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├─────────────────────────────────────┼────────┼────────┼────────┼───────────────────────────────┼──────┼─────────────────────┤
│ /tmp/daten │ 47.9G │ 11.9G │ 33.6G │ [####................] 24.8% │ ext4 │ /dev/mapper/daten │
╰─────────────────────────────────────┴────────┴────────┴────────┴───────────────────────────────┴──────┴─────────────────────╯
4. Dateisystem aushängensudo umount /tmp/daten
5. Dateisystem prüfen (e2fsck) und dann verkleinern (hier auf 15 GB – mit resize2fs). Die neue Dateisystemgröße muss größer als der belegte (hier: 11,9 GB) Platz sein.
sudo e2fsck -fy /dev/mapper/daten
sudo resize2fs /dev/mapper/daten 15G
6. gparted zeigt jetzt den nicht mehr verwendeten Speicherplatz grau an (sind hier ~ 33,8 GB).
7. Jetzt kann mit gparted die Partition verkleinert werden. Sie muss aber größer als die 15 GB (siehe Punkt 4) sein. Hier weden 16 GB gewählt.
sudo mount /dev/mapper/daten /tmp/daten/
9. duf zeigt die ~ 16GB (sind 15,6) an:
├──────────────────┬────────┬────────┬────────┬─────────────────────┬──────┬─────────────────────┤
│ MOUNTED ON │ SIZE │ USED │ AVAIL │ USE% │ TYPE │ FILESYSTEM │
├──────────────────┼────────┼────────┼────────┼─────────────────────┼──────┼─────────────────────┤
│ /dev/sdc1 │
│ /tmp/daten │ 15.6G │ 11.9G │ 2.9G │ [#######...] 76.0% │ ext4 │ /dev/mapper/daten │
╰──────────────────┴────────┴────────┴────────┴─────────────────────┴──────┴─────────────────────╯
10. Check ob alle Dateien noch vollständig vorhanden sind:
f6f65e1cf76953d8853de42be0e810501d2ea854cc49923001218e8956e713ce datei01
b924ec65fb8283763071e99177e37ea921bbaf75a60c452c2fa9e875a1a3cfea datei02
3043d725633be2a3f44248e4e8bac2778a66598cf4b7091916ac2e1bb964f37b datei03
7f39d8b2e95ed4764041a30cafdcedbedb24379fce78f4f3f7606096beae4c6c datei04
7fdc95d9e7fdaa8edcfa95d5256815cdd0d5346c3411c5c137f15ea68d270ab1 datei05
265bf9e3acf38aa6ad5ce9f82db74f4178c064b26f5286e6b08f8868583be862 datei07
4e97c8cb09dc6fe812627546d7edfbe8903812910a219ff9b12a1e2472aa9baf datei08
b47df44d9b544b80e3ced3b2f4c6a0b6071f67584ee0c0f7b959559896f43604 datei10
c59022e5e81752441698432af0b13c921dae29e8dd20a0dc92060e006e808c03 datei11
Die Prüfsummen stimmen überein.
Alles hat wie geplant funktioniert.
2 Reaktionen
Dankeschön, daran habe ich noch gar nicht gedacht 🙂
Gerne 😉
Ich musste das schon ein paar Mal erledigen und habe mich dabei durch unvollständige Anleitungen gekämpft.
Deshalb wollte ich das einmal komplett durchspielen und dokumentieren.
Und dann sollen auch andere etwas davon haben. 🙂