encrypted swap nachträglich erstellen? Hilfe erbeten

mcb

Well-known member
Registriert
18 März 2009
Beiträge
4.507
Der Titel sagt es ja schon ich habe jetzt endlich Linux (bis auf den Sound) auf meinem T440s eingerichtet. Habe aber leider auf eine Swap Partition verzichtet weil ich das nicht hinbekommen habe ...

OS ist pop_os (basierend auf Ubuntu) 18.04

Die ssds habe ich folgendermaßen partitioniert:

Code:
sudo fdisk -l /dev/sda

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    718847    716800   350M  7 HPFS/NTFS/exFAT
/dev/sda2          718848 879091759 878372912 418.9G  7 HPFS/NTFS/exFAT
/dev/sda3       879093760 937699375  58605616    28G  7 HPFS/NTFS/exFAT

sudo fdisk -l /dev/sdb

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sdb1  *         2048   1050621   1048574  512M 83 Linux
/dev/sdb2         1050624 420481023 419430400  200G  7 HPFS/NTFS/exFAT
/dev/sdb3       420481024 468860927  48379904 23.1G e8 unknown

Ich starte von sdb
sdb1 ist /boot
sdb2 Bitlocker Daten
sdb3 LUKS und darin /

sda1 ist die Windowsstartpartition
sda2 das Windowssystem Bitlocker

sda3 kann weg bzw umformatiert werden als LUKS encrypted swap

nur da bräuchte ich bitte Hilfe da ich die Anleitungen die google für mich findet nicht verstehe :(

Am liebsten würde ich eine neue sda3 mit 16GB erstellen (oder wenn das einfacher ist die vorhandene Partition) beim booten mit dem gleichen Passwort wie sdb3 entsperrt und automatisch als swap einbinden (der Rest der ssd kann meinetwegen unpartitioniert bleiben).

Wie stellt man sowas am?

Vielen Dank schonmal!



- - - Beitrag zusammengeführt - - -

Zum Verständnis ein Screenshot von sda:

- - - Beitrag zusammengeführt - - -

PS Habe grade wieder gelesen das swap Partitionen die ssds kaputtschreiben gibt es Alternativen z.B neue sda3 (luks) und dann als ext4 mit swapfile ? ... da bin ich auch überfordert!
 

Anhänge

  • forum samsug sda.png
    forum samsug sda.png
    24,8 KB · Aufrufe: 6
Zuletzt bearbeitet:
Kennst Du die Seite aus dem Ubuntuusers-Wiki?:
https://wiki.ubuntuusers.de/Swap/

Die meisten Ubuntu-Installationen legen zwar immer noch standardmäßig eine Swap-Partition an. Viele bevorzugen heute eher Swap-Dateien (wie die Auslagerungsdatei unter Windows) statt explizite Swap-Partitionen. Die kann man dann auch mit dynamischer Größe anlegen, also je nach Auslastung. Die würde dann unter /var/cache/swap liegen und da Deine /-Partition eh schon mit LUKS verschlüsselt ist, wäre die Swap-Datei das ebenfalls.

Zudem kommt es darauf an, wieviel Ram man hat und wie das Nutzungsprofil aussieht. Ein modernes Ubuntu lagert wirklich nur etwas in Swap aus, wenn unbedingt nötig. Ich habe z.B. zwar auch noch eine Swap-Partition, aber 16GB Ram und soweit ich das nachvollziehen kann, wurde bei mir noch nie etwas ausgelagert. Unter Linux ging mein Ram allerdings auch noch nie an die Grenzen.

Verschlüsselung der Swap-Partition hatte ich früher auch mal, aber nicht mit LUKS. Hatte dann nach der Installation auch immer Probleme und musste die extra durch Anpassung der fstab-Datei extra neu einbinden. (Wurde aber damal auch nie genutzt). Inzwischen habe ich Komplette Hardware-Verschlüsselung der gesamten SSD, daher verschlüssele ich keine einzelnen Partitionen mehr. Genügt mir so und vereinfacht auch einiges. Swap würde ich persönlich aus den genannten Gründen das nächste Mal auch nur noch als Datei anlegen und nicht als extra Partition.
 
Danke Harpo ja die Seite kenne ich leider schwer für Windowsleute :) - dachte auch ich brauche bei 12GB Ram kein swap und dadurch ist die root partition so klein geworden ...

Firefox hat mich inzwischen eines besserens belehrt -> da blieb das System dann einfach stehen ...

Nach dem Bericht vom 35C3 halte ich nichts mehr von Hardwareverschlüsselten SSDs ...

- - - Beitrag zusammengeführt - - -

PS hier ist der Vortrag wirklich sehenswert:

http://cdn.media.ccc.de/congress/2018/h264-hd/35c3-9671-eng-deu-Self-encrypting_deception_hd.mp4

- - - Beitrag zusammengeführt - - -

Encrypted swap partition on Debian_Ubuntu.htm
https://feeding.cloud.geek.nz/posts/encrypted-swap-partition-on/

Bug #1736072 “Encrypted swap does not work” Bugs cryptsetup package Ubuntu.htm
https://bugs.launchpad.net/ubuntu/+source/cryptsetup/+bug/1736072

Ev. lasse ich das erstmal :(

- - - Beitrag zusammengeführt - - -

Spricht groß was gegen Swapspace ?

http://pqxx.org/development/swapspace/
https://wiki.ubuntuusers.de/Swap/

"
[h=3]Dynamisch wachsender Swap[/h] Man kann auch eine dynamische Auslagerungsdateiverwaltung installieren, die nach Bedarf mehrere kleinere Auslagerungsdateien in einem Ordner anlegt. Dazu wird das Programm Swapspace
gb.png
benötigt:

  • swapspace (universe)
"

swappiness wäre mir jetzt erstmal recht egal :thumbup:
 
Firefox hat mich inzwischen eines besserens belehrt -> da blieb das System dann einfach stehen ...
Echt? Was machst Du denn mit Deinem Firefox? Selbst wenn ich 20-25 Tabs geöffnet hab und in ca. 10 davon Youtube-HD-Videos laufen, komme ich kaum über 6GB Ramnutzung!
Nach dem Bericht vom 35C3 halte ich nichts mehr von Hardwareverschlüsselten SSDs ...
Sagt ja keiner, dass Du das so machen sollst. Wie erwähnt, könntest Du ein Swapfile auf Deiner Linux-Partition anlegen, welches dann auch gleich mit verschlüsselt ist, da Deine Partition ja offenbar bereits verschlüsselt ist.
Encrypted swap partition on Debian_Ubuntu.htm
https://feeding.cloud.geek.nz/posts/...-partition-on/

Bug #1736072 “Encrypted swap does not work” Bugs cryptsetup package Ubuntu.htm
https://bugs.launchpad.net/ubuntu/+s...p/+bug/1736072

Ev. lasse ich das erstmal

Ja, mit cryptswap hatte ich auch so meine Probleme. Aber nochmal: Deswegen ja die Auslagerungsdatei auf der Linux-Partition statt eigener Swap-Partition! Damit hast Du all diese Probleme nicht, im Gegenteil. Du bekommst, was Du Dir wünschst, auf viel einfacherem Weg und eleganter gelöst als mit einer extra Partition!
 
N´abend,

ist denn sda3 eine SSD? Der Verschleiß hängt davon ab, wie oft Swap benutzt wird. Wenn nur ab und zu da mal 1-2 GB drauf landen, ist das wohl okay. Wenn aber jeden Tag 10 GB im Swap landen für mehrere Stunden, dann hält die SSD vielleicht etwas weniger. Es ist keine schlecht Idee, so 1, 2 mal im Jahr mit smartctl -a /dev/sda nach der Gesundheit der SSD zu schauen.
Du kannst aber das Swapverhalten einstellen, nennt man "swappiness" im Linux Jargon.

Eine Datei namens /etc/sysctl.d/local.conf anlegen, wenn nicht schon vorhanden und diese Zeile reinschreiben:
vm.swappiness = 20

In die Datei local.conf kannst du dann in Zukunft deine persönlichen sysctl Werte reinschreiben, die du selber setzen willst.
Der Standardwert ist 60. Wenn der Wer kleiner ist, lagert Linux nicht so schnell aus.20 ist vielleicht ein guter Wert, wo nicht so schnell ausgelagert wird.Es gibt Leute, die setzen 0 ein, dann wird wirklich nur ausgelagert, wenn gar nicht anders geht. Gibt aber Probleme z.B. mit VirtualBox. Ich nehm 20, 10 wäre vielleicht auch gut.

Eins vorab: beim Ändern der Partitionierung kann man sich das System verhageln. Ich würde dir empfehlen, die folgenden Schritte erstmal an einer externen USB Festplatte zu üben, bevor du an dein Hauptsystem gehst!

Die Schritte funktionieren alle unter openSUSE, sollten aber bei jeder Distribution eigentlich gleich sein.

Dein T440 ist kein UEFI System, sehe ich das richtig? Du scheinst nämlich keine EFI Systempartition zu haben.

Du müsstest dann mit cfdisk /dev/sda deine Platte bearbeiten (cfdisk ggf. nachinstallieren, wenn nicht auf deinem System vorhanden). Die Partition sda3 löschen und eine neue Partion anlegen, z.B. 16 GB oder über die volle Größe dieses Bereiches. Dann den Partitionstyp auf "linux swap" setzen. Dann die Änderungen speichern, mit YES bestätigen.

Jetzt checken, dass das Tool cryptsetup vorhanden ist, ggf. nachinstallieren.

Die Partition sda3 verschlüsseln:

cryptsetup luksFormat -y /dev/sda3

Als Passwort nimmst du dein altes Luks Passwort, das du schon verwendest.

Jetzt wird die verschlüsselte sda3 Partition dem System als verschlüsselte Partition bekannt gegeben und bekommt einen eigenen Namen, den nennen wir mal cr_swap (das ist ein sprechender Name, cr steht für crypto, so heißt die PArtition auch bei mir. So weiß man gleich, womit man es zu tun hat).

cryptsetup luksOpen /dev/sda3 cr_swap

Wenn du jetzt ls -l /dev/mapper/ eingibst, sollte dort cr_swap drin sein. In /dev/mapper sind die verschlüsselten Partitionen gelistet mir ihren "Kryptonamen".

Jetzt wird die Kryptopartition als Swap eingerichtet, dabei wird sie mit ihrem "Kryptonamen" angesprochen, nicht mit sda3:

mkswap -L swap /dev/mapper/cr_swap

Sodele, wenn du jetzt swapon eingibst, sollte die verschlüsselte cr_swap als Swap PArtition erkannt und benutzt werden. Wenn dieser Befehl keine Fehler ausgibt, dann hat alles geklappt.

Jetzt fehlt nur noch die Einrichtung, dass die Einbindung beim Booten automatisch geschieht.
Dazu eine Datei /etc/crypttab erstellen, wenn sie nicht existiert und folgenden Inhalt reinschreiben:

cr_swap /dev/sda3 none luks


Die crypttab sorgt für das Entsperren der verschlüsselten sda3, jetzt noch ein Eintrag in /etc/fstab damit cr_swap jetzt als Swap Partition bekannt ist:

/dev/mapper/cr_swap swap swap defaults 0 0


Beim nächsten Booten solltest du dann mit einem Passwort alle verschlüsselten Partitionen aufmachen können und Swap automatisch eingebunden werden.

Wenn der Befehl cat /proc/swaps dir etwas auswirft, dann ist Swap aktiviert.

Hast du vor, mit der Swap Partition auch Suspend To Disk zu benutzen? Das geht schon mit einer verschlüsselten Swap PArtition, ist aber theoretisch ein Sicherheitsloch. Ich benutze suspend to disk gar nicht, nur suspend to ram.
 
Zuletzt bearbeitet:
ist denn sda3 eine SSD? Der Verschleiß hängt davon ab, wie oft Swap benutzt wird. Wenn nur ab und zu da mal 1-2 GB drauf landen, ist das wohl okay. Wenn aber jeden Tag 10 GB im Swap landen für mehrere Stunden, dann hält die SSD vielleicht etwas weniger. Es ist keine schlecht Idee, so 1, 2 mal im Jahr mit smartctl -a /dev/sda nach der Gesundheit der SSD zu schauen.

Noch ein weitere entscheidender Grund, der für ein Swap-File statt einer Partition sprechen würde! Da bei SSDs Methoden zur Verschleißvermeidung verwendet werden, die dafür sorgen, dass nicht immer wieder die gleichen Zellen beschrieben werden, sondern die Schreibvorgänge gleichmäßig über die gesamte SSD bzw. die Partition darauf verteilt, wäre der Verschleiß hier auch wesentlich geringer, wenn ein Swap-File als Teil der gesamten Linux-Partition genutzt würde anstatt dass immer wieder massig Schreibvorgänge auf dem gleichen kleinen Teil der SSD - nämlich der Swap-Partition - ausgeführt würden!
 
Jetzt erst gesehen:
Spricht groß was gegen Swapspace ?

Das ist es eigentlich, was ich in Post #2 mit "dynamischer Größe" meinte. Mir ist auch nicht bekannt, wie man eine einzelne Datei dynamisch anlegen könnte. Swapspace wäre wohl auch meine Wahl!

Aber gerade was den Punkt der SSD-Schonung angeht: Um was für Datenträger handelt es sich denn bei Dir bei sda und sdb? Sollte sdb, wo sich Deine Linuxpartition befindet, eine SSD, sda hingegen jedoch eine HDD, wäre es zur Verschleißvermeidung evtl. wirklich besser als sda3 eine Swap-Partition anzulegen. In allen anderen Fällen würde ich wohl swapspace wählen.
 
Jetzt erst gesehen:


Das ist es eigentlich, was ich in Post #2 mit "dynamischer Größe" meinte. Mir ist auch nicht bekannt, wie man eine einzelne Datei dynamisch anlegen könnte. Swapspace wäre wohl auch meine Wahl!

Aber gerade was den Punkt der SSD-Schonung angeht: Um was für Datenträger handelt es sich denn bei Dir bei sda und sdb? Sollte sdb, wo sich Deine Linuxpartition befindet, eine SSD, sda hingegen jedoch eine HDD, wäre es zur Verschleißvermeidung evtl. wirklich besser als sda3 eine Swap-Partition anzulegen. In allen anderen Fällen würde ich wohl swapspace wählen.

Swapspace habe ich jetzt doch nicht verwendet -> auf root ist einfach zu wenig Platz :pinch:

sda & sdb sind beides ssds -> jetzt habe ich die "Last" wenigstens aufgeteilt ...

/ auf sdb
&
swap auf sda und dort sind noch 20 GB unpartitioniert ...

Hoffe das läuft beim nächsten boot noch.

PS: die swap mußte ich erst anschalten mit
Code:
sudo swapon -a

@PinguinDompteur

die Anleitung hat mir sehr geholfen Vielen Dank dafür. Mußte nur die UID statt cr_swap in die Dateien eintragen.

Den ersten Neustart teste ich heute Abend.

- - - Beitrag zusammengeführt - - -

Echt? Was machst Du denn mit Deinem Firefox?...

Ja 75 tabs per Firefox sync gesendet & Firefox ist aus dem Tritt gekommen ... hat dann jeden Tab 5mal geöffnet & nicht aufgehört xxx

- - - Beitrag zusammengeführt - - -

Leider ist der halbe Test verschwunden also nochmal Vielen Dank für die Hilfe und Hinweise.

mcb


- - - Beitrag zusammengeführt - - -

Hier die Datenverwatung unter Windows:

Code:
Disk 0 is now the selected disk.

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary            350 MB  1024 KB
  Partition 2    Primary            418 GB   351 MB
  Partition 3    Primary             20 GB   419 GB

Code:
Disk 1 is now the selected disk.

DISKPART> list partition

  Partition ###  Type              Size     Offset
  -------------  ----------------  -------  -------
  Partition 1    Primary            511 MB  1024 KB
  Partition 2    Primary            200 GB   513 MB
  Partition 3    Primary             23 GB   200 GB

- - - Beitrag zusammengeführt - - -

Und hier unter Linux

Code:
sudo fdisk -l /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x5819c5d4

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048    718847    716800   350M  7 HPFS/NTFS/exFAT
/dev/sda2          718848 879091759 878372912 418.9G  7 HPFS/NTFS/exFAT
/dev/sda3       879093760 921036799  41943040    20G 82 Linux swap / Solaris

Code:
sudo dmsetup table /dev/mapper/cr_swap
0 41938944 crypt aes-xts-plain64 0000.....

Code:
sudo fdisk -l /dev/sdb
Disk /dev/sdb: 223.6 GiB, 240057409536 bytes, 468862128 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x37f97a66

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sdb1  *         2048   1050621   1048574  512M 83 Linux
/dev/sdb2         1050624 420481023 419430400  200G  7 HPFS/NTFS/exFAT
/dev/sdb3       420481024 468860927  48379904 23.1G e8 unknown

Hatte natürlich erstmal die falsche UUID eigetragen und dann ging es beim ersten Neustart nicht :facepalm:
Man muß die UUID der Partition (also sdXX) verwenden und nicht die von cr_swap ...
Die Partitionsnummer von sda3 ist auch nicht ideal oder ?!? Hätte ich dort auch Type e8 wählen müssen ?!?
Macht es Sinn das nochmal zu ändern?

mcb
 
Zuletzt bearbeitet:
[...] wäre der Verschleiß hier auch wesentlich geringer, wenn ein Swap-File als Teil der gesamten Linux-Partition genutzt würde anstatt dass immer wieder massig Schreibvorgänge auf dem gleichen kleinen Teil der SSD - nämlich der Swap-Partition - ausgeführt würden!

Das ist irrelevant. Das Wearleveling der SSD schert sich nicht um Partitionen. Egal ob die wiederholten Schreibzugriffe in einer kleinen oder einer großen Partition erfolgen, sie werden immer über den gesamtern Speicherplatz der SSD verteilt
 
Das Wearleveling der SSD schert sich nicht um Partitionen. Egal ob die wiederholten Schreibzugriffe in einer kleinen oder einer großen Partition erfolgen, sie werden immer über den gesamtern Speicherplatz der SSD verteilt

Das ist Unsinn! Das würde ja bedeuten, dass Partitionen auf SSDs rein "virtuell" angelegt wären. Dem ist aber nicht so. Partitionen belegen hier auch wie bei HDDs einen fest zugewiesenen Bereich des Speichers. Anders ginge dies auch gar nicht in puncto Dateisystem etc. Daraus ergeben sich ja auch Probleme z.B. beim Kopieren von Partitionen von einem Datenträger auf einen anderen, Stichwort Alignment. Das wäre sonst ja auch irrelevant. Das Wearleveling kann daher immer nur innerhalb der jeweiligen Partition erfolgen, anders geht es gar nicht!
 
Das ist Unsinn! Das würde ja bedeuten, dass Partitionen auf SSDs rein "virtuell" angelegt wären.

Was auch so ist. Die SSD mappt dia pages so, dass sie gleichmäßig genutzt werden. Das alignment ist wichtig, damit ein Blockzugriff auch immer innerhalb einer Page liegt.
 
Die Partitionsnummer von sda3 ist auch nicht ideal oder ?!? Hätte ich dort auch Type e8 wählen müssen ?!?
Macht es Sinn das nochmal zu ändern?

Was meinst du mit Typ e8?
Solange du alles schön mounten und booten kannst, ist alles in Ordnung.
Was die UUID in der fstab betrifft, da war es bei mir bei openSUSE genau umgekehrt, ich hatte mit der UUID Probleme und habe cr_swap eintragen müssen...., so sind manchmal die kleinen Unterschiede....

- - - Beitrag zusammengeführt - - -

Was auch so ist. Die SSD mappt dia pages so, dass sie gleichmäßig genutzt werden. Das alignment ist wichtig, damit ein Blockzugriff auch immer innerhalb einer Page liegt.

Mich hätte das auch mal interessiert, ich hätte das mal gern von Herstellerseite gehört. Die müssen es ja wissen.
Ist am Ende aber auch wurscht, entscheidend ist, dass man SSD und NVME nicht vollknallt und immer großzügig Platz lässt, vielleicht auch auf jeder Partition.

In einer Youtube Kommentardiskussion hat mal einer gemeint, er würde ein Datencenter mit consumer level SSDs (!) betreiben und die Dinger haben selbst nach wenigen Jahren keine Ausfälle. Ich denke, die Dinger muss man nicht mit Samthandschuhen anfassen.

Und da wir ja alle immer unsere Daten schön backuppen, sollte uns ein Ausfall doch nich aus der Ruhe bringen. Solange eine SSD nicht schon nach 6 Monaten ausfällt, ist die Welt in Ordnung.

Muss aber sagen, Backups mach ich auf HDDs, aber nur, weil die so billig sind.
 
Das ist Unsinn! Das würde ja bedeuten, dass Partitionen auf SSDs rein "virtuell" angelegt wären. Dem ist aber nicht so. Partitionen belegen hier auch wie bei HDDs einen fest zugewiesenen Bereich des Speichers. Anders ginge dies auch gar nicht in puncto Dateisystem etc. Daraus ergeben sich ja auch Probleme z.B. beim Kopieren von Partitionen von einem Datenträger auf einen anderen, Stichwort Alignment. Das wäre sonst ja auch irrelevant. Das Wearleveling kann daher immer nur innerhalb der jeweiligen Partition erfolgen, anders geht es gar nicht!

Partitionen sind eine Interpretaion von Daten, die in bestimmten Blöcken eines Datenträgers stehen (MBR, GPT, etc). Diese Interpretation ist nur außerhalb des Datenträgers von Bedeutung (OS, Bootloader...). Für den Controller des Datenträgers sind das x-beliebige Daten, um die er sich nicht weiter schert. Es wäre auch sehr problematisch, wenn der Controller diese Daten interpretieren würde, da es sein kann, dass jemand keine Partitionen verwendet, sondern das Dateisystem direkt auf dem Blockdevice erstellt und sich somit Metadaten des Dateisystems dort befinden, wo sich sonst der MBR oder die GPT befindet. Oder der Datenträger ist Teil eines RAID und an der Stelle des MBR befinden sich Metadaten des RAID-Controllers. Der Controller eines Datenträgers braucht von Partitionen nichts zu wissen und sollte es auch nicht. Es zu versuchen führt zu unnötiger Komplexität und damit zu Fehleranfälligkeit.
 
  • ok1.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen
Zurück
Oben