chilidude
Anmeldungsdatum: 18. Februar 2010
Beiträge: 867
|
stefanott schrieb: Hallo chilidude, wenn swap vorhanden habe ich folgenden Stand:
/dev/sda2: UUID="150f2fb6-07e7-48c8-91c6-2be9fae3acbe" TYPE="ext4"
/dev/mapper/cryptswap1: UUID="9246bd37-57db-4620-92b2-4bcc968a4ac0" TYPE="swap"
Das ist falsch und zeigt genau meine Vermutung, dass du den Partitionheader für swap zwar angelegt aber gleich wieder überschrieben hast, weil du swap entweder nicht ausgebunden oder den offset Parameter nicht von Anfang an verwendet hast bzw. ihn immer wieder herauslöschst. (Wenn du offset einmal nicht verwendest, dann kannst du die ganze Prozedur nochmal wiederholen, denn dann ist der Header überschrieben.) Richtig müsste es so aussehen: /dev/sda1: UUID="zbhdbgehgf.........................." TYPE="swap"
/dev/sda2: UUID="150f2fb6-07e7-48c8-91c6-2be9fae3acbe" TYPE="ext4"
/dev/mapper/cryptswap1: UUID="9246bd37-57db-4620-92b2-4bcc968a4ac0" TYPE="swap" Du wirst jetzt in deiner fstab jede referenz auf swap kommentieren/löschen:
#/dev/mapper/cryptswap1 none swap sw 0 0 und genauso in deiner crypttab:
#cryptswap1 /dev/urandom swap,offset=8,cipher=aes-cbc-essiv:sha256 danach bootest du neu und machst "swapon -s" und dann darf dort nix stehen. (Statt neu booten könnte man auch "swapoff" machen). Dann machst du "mkswap /dev/sda1". (Tip: Falls auf /dev/sda1 Daten sind, sind sie danach weg.) Mit "blkid" kannst du die Swap-Partition nun als "/dev/sda1" sehen. (Es ist besser statt "mkswap /dev/sdxy" "mkfs.ext2 /dev/sdxy" zu machen. Beide Kommandos erzeugen einen Partitionsheader mit UUID aber "swapon" reagiert nur auf Header, die auch als swap gekennzeichnet sind. Dies ist insbesondere bei Nutzung von initramkfs wichtig.) Jetzt die crypttab anpassen: (auf den offset parameter achten)
cryptswap1 UUID=zbhdbgehgf... /dev/urandom swap,offset=8,cipher=aes-cbc-essiv:sha256 und danach fstab:
/dev/mapper/cryptswap1 none swap sw 0 0 dann neu starten und ausgabe von "blkid" posten.
|
chilidude
Anmeldungsdatum: 18. Februar 2010
Beiträge: 867
|
Der Fehler ensteht, weil aus irgendeinem Grund der Bootsektor (der betreffenden Partition) neu geschrieben wird. Das passiert aber nur wenn man Verschlüsselung ohne Luks verwendet. (Also pures dmcrypt in Kombination mit zufälligem Passwort und Option swap.) Klartext-Swap ist davon nicht betroffen. Vermutlich wird der Swap-Header, den dmcrypt als Kennung liefert, nicht richtig vom Kernel erkannt auch wenn er ordentliche Werte in blkid ausgibt. Durch das Neuschreiben des Sektors des /dev/mapper/-Device wird dann der darunterliegende Klartextheader zerstört. Der offset-Parameter behebt das Problem, kann aber nur als Workaround betrachtet werden. @stefanott Ich glaub das Beste ist, wenn du einfach wieder die Bezeichnung /dev/sda1 einfügst. Das Schlimmste was passieren kann ist dass swap nicht eingebunden wird, weil du vor dem Bootup eine andere Platte angesteckt hast. Datenverluste musst du nicht fürchten denn es werden nur Partitionen gebunden, die als Swap markiert sind.
|
stefanott
Anmeldungsdatum: 29. Oktober 2009
Beiträge: 134
|
Hallo chilidude, vielen Dank, das sieht sah besser aus: sudo blkid
/dev/sda1: UUID="4736dbf7-f5aa-4965-be1f-ddf9e5170479" TYPE="swap"
/dev/sda2: UUID="150f2fb6-07e7-48c8-91c6-2be9fae3acbe" TYPE="ext4"
/dev/mapper/cryptswap1: UUID="4c6bf7da-d468-4b08-be5d-8a2be2ea4771" TYPE="swap" swapon -s
Filename Type Size Used Priority
/dev/mapper/cryptswap1 partition 2598904 0 -1 cat /etc/fstab:
UUID=150f2fb6-07e7-48c8-91c6-2be9fae3acbe / ext4 errors=remount-ro 0 1
/dev/mapper/cryptswap1 none swap sw 0 0 cat /etc/crypttab
cryptswap1 UUID=4736dbf7-f5aa-4965-be1f-ddf9e5170479 /dev/urandom swap,offset=8,cipher=aes-cbc-essiv:sha256 Ich denke Du hast Recht mit dem überschriebenen Header, dass passt ja auch zur Fehlermeldung
swapon: /dev/mapper/cryptswap1: read swap header failed: Das Argument ist ungültig
Ich habe jetzt 9 mal neu gestartet und swap war immer vorhanden, aber dann: Beim 10. mal war das Problem wieder da, beim 11. mal war wieder alles gut. Die UUID kann aber nicht komplett verloren gegangen/überschrieben worden sein, sonst würde es ja dann gar nicht mehr funktionieren. Trotzdem habe ich jetzt mal mit /dev/sda1 statt UUID getestet und verglichen, mit UUID stehen die Chancen im Moment besser. Trotzdem, manchmal klappt es, manchmal nicht. Im Moment habe in ca. 90% der Fälle automatisch swap zur Verfügung. Allerdings gelingt es mir auch dann nicht (mehr) ohne reboot swap zu bekommen:
sudo swapon -a
swapon: /dev/mapper/cryptswap1: read swap header failed: Das Argument ist ungültig P.S.:
Wenn ich mich an meine Versuche von gestern recht entsinne ging sudo ecryptfs-setup-swap ohne aktives (unverschlüsseltes) swap gar nicht. Deshalb war da auch keine Chance konsequent den offset zu verwenden, denn nach Verwendung des Skriptes war encrypted swap sofort aktiv und der offset noch gar nicht wirksam. Stefan
|
chilidude
Anmeldungsdatum: 18. Februar 2010
Beiträge: 867
|
"swapon -a" solltest du besser nicht verwenden, weil nur eine swap-Partition (mapper-device) gültig ist. Also die andere (/dev/sda1) entweder über "noauto"-Option in fstab ausschliessen oder gleich "swapon -L" (Label) oder "swapon -U" (UUID) verwenden. (Näheres findet sich in "man swapon")
Allerdings gelingt es mir auch dann nicht (mehr) ohne reboot swap zu bekommen:
Hast du sicherstellen können, dass nicht Ausversehen in diesem Moment /dev/sda1 gebunden war? (Wenn es nochmal passiert, dann bitte mit "swapon -s" prüfen.)
|
stefanott
Anmeldungsdatum: 29. Oktober 2009
Beiträge: 134
|
chilidude schrieb: "swapon -a" solltest du besser nicht verwenden, weil nur eine swap-Partition (mapper-device) gültig ist. Also die andere (/dev/sda1) entweder über "noauto"-Option in fstab ausschliessen oder gleich "swapon -L" (Label) oder "swapon -U" (UUID) verwenden. (Näheres findet sich in "man swapon")
Allerdings gelingt es mir auch dann nicht (mehr) ohne reboot swap zu bekommen:
Hast du sicherstellen können, dass nicht Ausversehen in diesem Moment /dev/sda1 gebunden war? (Wenn es nochmal passiert, dann bitte mit "swapon -s" prüfen.)
Ok, danke für den Tipp. Ich bin davon ausgegangen swapon -a mountet nur was in der fstab definiert ist, also /dev/mapper/cryptswap1 chilidude schrieb: "swapon -a" solltest du besser nicht verwenden, weil nur eine swap-Partition (mapper-device) gültig ist. Also die andere (/dev/sda1) entweder über "noauto"-Option in fstab ausschliessen oder gleich "swapon -L" (Label) oder "swapon -U" (UUID) verwenden. (Näheres findet sich in "man swapon")
Allerdings gelingt es mir auch dann nicht (mehr) ohne reboot swap zu bekommen:
Hast du sicherstellen können, dass nicht Ausversehen in diesem Moment /dev/sda1 gebunden war? (Wenn es nochmal passiert, dann bitte mit "swapon -s" prüfen.)
Habe ich gerade geprüft, swapon -s lieferte nichts zurück. Im Moment geht allerdings auch nur meine bisherige Variante
sudo cryptdisks_stop cryptswap
sudo cryptdisks_start cryptswap
und dann
swapon -a Wenn ich aber das ganze mit sudo swapon -L /dev/sda1 oder mit swapon -U UUID versuche bekomme ich jeweils den Fehler
swapon: /dev/sda1: swapon failed: Das Argument ist ungültig Ich habe mir gestern ein Image vom jetzigen Stand mit Clonezilla gemacht und werde mir jetzt mal System verschlüsseln/Schlüsselableitung zu Gemüte führen und nochmal neu installieren. LG Stefan
|
chilidude
Anmeldungsdatum: 18. Februar 2010
Beiträge: 867
|
stefanott schrieb: Ok, danke für den Tipp. Ich bin davon ausgegangen swapon -a mountet nur was in der fstab definiert ist, also /dev/mapper/cryptswap1
Stimmt, hatte ich im manual überlesen. (Hat aber nicht geschadet.)
Habe ich gerade geprüft, swapon -s lieferte nichts zurück.
Dann muss ich hier passen.
Wenn ich aber das ganze mit sudo swapon -L /dev/sda1 oder mit swapon -U UUID versuche bekomme ich jeweils den Fehler
Für ein Label muss man das Device mit dem Partitionsmanager auch "labeln". (Spielt aber auch keine Rolle mehr, wenn "swapon -a" nicht funktioniert.)
Ich habe mir gestern ein Image vom jetzigen Stand mit Clonezilla gemacht und werde mir jetzt mal System verschlüsseln/Schlüsselableitung zu Gemüte führen und nochmal neu installieren.
Naja, viel Erfolg!
|
stefanott
Anmeldungsdatum: 29. Oktober 2009
Beiträge: 134
|
chilidude schrieb:
Naja, viel Erfolg!
So schnell gebe ich ja nicht auf ☺ Nachdem ich eh am neuinstallieren war, habe gestern übrigens noch xubuntu mit ecryptfs und swap versucht, gleiches Ergebnis. Und nun noch was spannendes, wenn ich für swap statt einer Partition ein File nehme ist das Problem auch da, das passt natürlich nicht zu Deiner Vermutung: chilidude schrieb: Der Fehler ensteht, weil aus irgendeinem Grund der Bootsektor (der betreffenden Partition) neu geschrieben wird.
Ich denke es ist wirklich banal:
The disk drive for /dev/mapper/cryptswap1 is not ready yet
Continue to wait; or Press S to skip mounting or M for manual recovery
beim booten ist tatsächlich, zumindest in meinem Fall das Problem. Irgendwann geht der Bootvorgang weiter, cryptdisks ist nicht sauber geladen und der anschließende Versuch swap zu aktivieren schlägt deshalb fehl. Deshalb gelingt es mir dann auch i.d.R. nachträglich mit
sudo crypdisk_stop cryptswap1
sudo crypdisk_start cryptswap1
swapon -a
funktionierendes swap zu haben. Stefan
|
stefanott
Anmeldungsdatum: 29. Oktober 2009
Beiträge: 134
|
Und diese Überlegung hat mich jetzt nach einem Geistesblitz zu folgendem veranlasst: cat /etc/fstab
/dev/mapper/cryptswap1 none swap sw,noauto 0 0 cat /etc/rc.local
echo "cryptswap1 UUID=3c544b3a-13ab-4415-92dc-a0bc21f917a6 /dev/urandom swap,offset=8,cipher=aes-cbc-essiv:sha256" > /etc/crypttab
cryptdisks_start cryptswap1
sleep 5
swapon /dev/mapper/cryptswap1
echo "#cryptswap1 UUID=3c544b3a-13ab-4415-92dc-a0bc21f917a6 /dev/urandom swap,offset=8,cipher=aes-cbc-essiv:sha256" > /etc/crypttab Scheint zu funktionieren, mehrfach erfolgreich neu gestartet und immer swapon -s
Filename Type Size Used Priority
/dev/mapper/cryptswap1 partition 2598904 0 -1 und sudo blikd
/dev/sda1: UUID="3c544b3a-13ab-4415-92dc-a0bc21f917a6" TYPE="swap"
/dev/sda2: UUID="7266a776-6421-4061-b6f3-c774233c6cb5" TYPE="ext4"
/dev/mapper/cryptswap1: UUID="0784db76-8c19-4246-94d9-ad24d3ddf5c5" TYPE="swap" Stefan
|
megacloud
Anmeldungsdatum: 13. März 2007
Beiträge: 10
|
hallo, auch ich bin von dem bug betroffen. wird es ein update geben, das den fehler behebt? wird es neue installationsmedien geben, damit die installation korrekt durchläuft und verschlüsseltes swap sofort verfügbar ist? neben der lösung des problems scheinen mir funktionstüchtige installationsmedien besonders wichtig zu sein. ansonsten müßte man eigentlich jedem raten, ubuntu erst ab 14.04.1 zu installieren, in der hoffnung, daß es dann funktioniert...
|
stefanott
Anmeldungsdatum: 29. Oktober 2009
Beiträge: 134
|
Hallo megacloud, würde ich nicht darauf wetten, mich verfolgt der Fehler nun seit 4 Jahren auf 3 Geräten mit Ubuntu 10.04, 12.04 und jetzt 14.04. Bislang war es mehr die Fehlermeldung beim booten, welche nervte. Unter 14.04 kam es aber immer wieder zu nicht vorhandenem swap. Ich fasse hier nochmal meine Schritte zusammen, welche ich als Schlussfolgerung aus diesem Thread zur Lösung nutzen konnte. Speziellen Dank nochmal an chilidude für die entscheidenden Hinweise: Fix für ecryptfs swap
Symptome:
Beim booten kommt kurz die Fehlermeldung:
Das Laufwerk für /dev/mapper/cryptswap ist noch nicht bereit oder noch nicht vorhanden.
Fortfahren, um zu warten, s überspringt das Einhängen, m für manuelle Wiederherstellung
und/oder swap steht nicht zur Verfügung wenn ecryptfs zur Verschlüsselung von home verwendet wurde. Vermutete Ursache(n): Ungünstige race condition beim booten durch einbinden der verschlüsselten Swap-Partion durch Upstart? Überschriebene UUID der Swap-Partition? Lösung: Einbinden der verschlüsselten Swap-Partion in rc.local, dazu folgende Schritte ausführen: In der /etc/fstab folgende Zeile suchen:
dev/mapper/cryptswap1 none swap sw 0 0
und auskommentieren:
#dev/mapper/cryptswap1 none swap sw 0 0
In der /etc/crypttab folgende Zeile suchen
cryptswap1 UUID=e998e979-3...
und auskommentieren:
#cryptswap1 UUID=e998e979-3... System neu starten... Prüfen ob swap noch eingehängt ist mit swapon -s , hier darf nichts angezeigt werden, swap ist also deaktiviert. Swap Partition: ermitteln mit sudo fdisk -l #kleines l Gerät boot. Anfang Ende Blöcke Id System
/dev/sda1 2048 10397695 5197824 82 Linux Swap / Solaris
/dev/sda2 * 10397696 312580095 151091200 83 Linux swap neu erstellen mit sudo mkswap /dev/sda1 Achtung!Achtung, dies löscht alle Daten auf dieser Partition, deshalb hier unbedingt die von Euch ermittelte Partition verwenden.
Für die neu erstellte swap wird eine neue UUID angezeigt:
Swapbereich Version 1 wird angelegt, Größe = 5197816 KiB
kein Label, UUID=e998e979-3b7d-41bd-9af4-48b58e01b724 diese benötigen wir gleich: /etc/rc.local öffnen und vor der Zeile "exit 0" folgendes einfügen und dabei die gerade erstellte UUID benutzen: echo "cryptswap1 UUID=e998e979-3b7d-41bd-9af4-48b58e01b724 /dev/urandom swap,offset=8,cipher=aes-cbc-essiv:sha256" > /etc/crypttab
cryptdisks_start cryptswap1
sleep 5
swapon /dev/mapper/cryptswap1
echo "#/etc/crypttab wird beim booten durch /etc/rc.local neu erstellt" > /etc/crypttab /etc/fstab öffnen und
#dev/mapper/cryptswap1 none swap sw 0 0
# entfernen und ändern in
dev/mapper/cryptswap1 none swap sw,noauto 0 0
System neu starten... Erfolg prüfen: swapon -s
Filename Type Size Used Priority
/dev/mapper/cryptswap1 partition 5197816 0 -1
und sudo blkid sollte zweimal TYPE="swap" liefern, einmal für die physische Partition und einmal für temporäre cryptswap
/dev/sda1: UUID="e998e979-3b7d-41bd-9af4-48b58e01b724" TYPE="swap"
/dev/sda2: UUID="367579f8-345f-4a42-b10c-ccfd489a8af1" TYPE="ext4"
/dev/mapper/cryptswap1: UUID="b0079b7a-2cb4-4192-9938-776f81cffdef" TYPE="swap"
|
megacloud
Anmeldungsdatum: 13. März 2007
Beiträge: 10
|
hallo stefan, vielen dank für deine antwort. ich werde das problem genauer untersuchen und dabei meine 12.04-installation, die ohne probleme läuft, als referenz nehmen. deine lösung ist für anfänger/innen und für installationspartys leider viel zu aufwendig und fehlerträchtig. deshalb brauche ich funktionierende installationsmedien.
|
Benno-007
Anmeldungsdatum: 28. August 2007
Beiträge: 29240
Wohnort: Germany
|
Danke für das Veröffentlichen der glasklar formulierten Lösung nach all dem Chaos für Außenstehende. 😉 @ megacloud Ich hoffe, dass es bald mit Updates gelöst wird. Alternativ vielleicht bei Anfängern auf die Verschlüsselung verzichten, trotz Snowden-Zeitalter. Es sei denn, der Schwerpunkt des Workshops ist Sicherheit. Viel Erfolg bei den Workshops!
|
megacloud
Anmeldungsdatum: 13. März 2007
Beiträge: 10
|
hallo benno, zumindest bei notebooks sollte man keinesfalls auf verschlüsselung verzichten! dmcrypt/ecryptfs ermöglicht die nutzung eines computers mit verschiedenen nutzern und ist einfacher einzurichten als luks/lvm, weshalb es noch immer die favorisierte methode ist. so ein mist, daß es nicht einfach funktioniert! ☹
|
MattVanDoorn
Anmeldungsdatum: 2. Mai 2014
Beiträge: 16
|
Kann dazu Jemand einen Wiki-Beitrag erstellen, das ganze ist für mich sehr undurchschaubar, mit all den Befehlen, bei denen ich nicht genau weiß, was sie bewirken... Gerade Anfänger werden da nicht durchblicken, so wie ich auch einer bin ;P Und es ist, IMHO, ein sehr wichtiger Beitrag in Bezug auf die Sicherheit des Systems. Danke Stefanott für den Link zu diesem Artikel.
|
megacloud
Anmeldungsdatum: 13. März 2007
Beiträge: 10
|
hallo nochmal, ich habe jetzt drei im grunde gleiche installationen von ubuntu 12.04.4, 13.10 und 14.04. bei allen habe ich auf luks/lvm verzichtet und stattdessen zum ende der installation "meine persönlichen daten verschlüsseln" aktiviert. bis auf ubuntu 14.04 haben alle eine funktionierende swap-partition. bei allen installationen kommt kurz vor der anmeldung der hinweis, daß cryptswap1-irgendwas nicht verfügbar sei blablabla (hab's nicht genau im kopf), was aber nicht weiter zu problemen führt - es liegt vermutlich daran, daß alle drei installationen auf einer platte liegen und ich sie gleichzeitig gestartet habe. wenn's mich trotz des schönen wetters nicht in ruhe läßt, werde ich mir am wochenende die zeit nehmen, die unterschiede zu untersuchen und hier zu posten, damit wir gemeinsam nach einer simplen lösung suchen können. die bisher vorgestellten workarounds sind ja - soweit ich das überschaue - entweder nicht simpel oder nicht zuverlässig. bin echt genervt...
|