Moin,
Folgendes Problem:
Auf nem (Linux)rechner mit eingebauten Platten sda und sdb hatte ich per
usb eine weitere Platte angeschlossen (sdc).
Auf der sdc war eine swap-partition, die ich per swapon /dev/sdc2
verwendet hatte.
Nun gabs ein kleines Kabeloopsie am USB-Stecker, sdc war weg.
Die und andere Platten werden seither (hab' noch nicht rebootet) nur
noch als sdd,sde, etc. "erkannt", weil ja diese olle Swappartition noch
"an" ist. (swapon listet die noch auf, mit swapoff /dev/sdc2 kommt
natuerlich nur "swapoff: /dev/sdc2: swapoff failed: No such file or
directory")
Zusaetzlich sind natuerlich im kernellog jede Menge Meldungen
"Write-error on swap-device (8:32:xyzblafasel)".
Ich bin mir ziemlich sicher, dass das nach einem reboot alles wieder gut
sein wird.
Nur frag' ich mich/euch - gibt's fuer diese Situation einen Weg, ohne
reboot den Kernel davon zu ueberzeugen, den swap auf /dev/sdc2
"loszulassen"? (Der wird eh' grad nicht gebraucht ;-))
Gruss
WK
Lustige Idee, einem Rechner im laufenden Betrieb die Swap-Partition zu
klauen und zu erwarten, daß der das unbeschadet übersteht.
Bitte: Welche Aufgabe hat eine Swap-Partition, und warum werden da
überhaupt irgendwelche Daten draufgeschrieben?
Moin,
Harald K. schrieb:> und zu erwarten, daß der das unbeschadet übersteht.
Ich hab' nicht erwartet, dass der das unbeschadet uebersteht, es hat
mich auch erstaunt, dass so garnix "schlimmes" passiert ist. Ich hab'
das mit dem swap eher nur zufaellig deutlich spaeter entdeckt, wollte im
kernellog eigentlich was ganz anderes gucken...
Gruss
WK
Die Frage ist eher, was läuft auf dem Rechner?
Wenn nur der Browsercache in den Swap gewandert ist, wird wohl nicht
viel passieren.
Bei einer DB kann das schon übler sein.
Ansonsten vm.swappiness=1 setzen, damit er nach Möglichkeit keinen Swap
benutzt, in der fstab die UUIDs der Partitionen angeben, statt /dev/sda
etc.
Moin,
Ich hab' nicht gefragt, was ich in Zukunft machen kann (und ich glaube
nicht, dass uuids bei dieser Konstellation auch nur einen Furz besser
gewesen waeren)
und - ja - tataechlich weiss ich auch, fuer was swap gut ist. Das ist
alles nicht der springende Punkt.
Ich hab' gefragt, ob jemand was weiss, was ich momentan machen kann
(ausser Reboot).
Und ja, ein reboot ist auf dem Rechner kein Problem. Aber es gibt
Rechner, auf denen waere das ein Problem. Und weil ich gerne auch mal
was dazulerne, waere es interessant gewesen, wenn da wer "einen Trick17"
kennt...
Gruss
WK
Dergute W. schrieb:> Aber es gibt> Rechner, auf denen waere das ein Problem. Und weil ich gerne auch mal> was dazulerne, waere es interessant gewesen, wenn da wer "einen Trick17"> kennt...
Rechnern das Swap wegzunehmen ist vergleichbar mit dem Ausbau von RAM im
Betrieb.
Da ist der einzige Trick ein Reboot, und beten, daß nichts wichtiges im
Swap stand.
1. Es gibt SW, die will/muss unbedingt was auslagern, andere nicht. Im
Prinzip ist man hinterher nur klüger. Mit etwas Glück war der RAM noch
groß genug und es wurde wenig ausgelagert.
2. Mannn könnte natürlich die jetzt ausgebaute Swap-Platte lesend
genauer ansehen/vergleichen?
3.> gibt's fuer diese Situation einen Weg, ohne reboot den Kernel davon
zu ueberzeugen
Ob das gut geht, weiß ich nicht.
Du bist doch ein Gefahrensucher und hast ein aktuelles Backup und suchst
ein neues Abenteuer ;)
Dergute W. schrieb:> "swapoff: /dev/sdc2: swapoff failed: No such file or directory"> "Write-error on swap-device (8:32:xyzblafasel)"
und nicht "No such device or address". Wenn man das wörtlich nimmt...
1
cd /dev
2
mknod sdc b 8 32
3
mknod sdc2 b 8 34
4
swapoff /dev/sdc2
So richtig gute Vorsichtsmaßnahmen fallen mir jetzt keine ein,
vielleicht vorher die meisten Programme beenden und remount,ro oder sync
machen? Oder gerade das nicht? Aber beim normalen Runterfahren passiert
genau das.
Ein interessanter Fall; wie robust ist der kernel bei einem
Fehler-der-eigentlich-nicht-passieren-kann?
Dergute W. schrieb:> Und ja, ein reboot ist auf dem Rechner kein Problem. Aber es gibt> Rechner, auf denen waere das ein Problem.
Lerne durch Schmerz das du solche Rechner nicht von Deppen betreiben
lässt.
Bauform B. schrieb:> Ein interessanter Fall; wie robust ist der kernel bei einem> Fehler-der-eigentlich-nicht-passieren-kann?
Dann klappt die CPU ihre Beinchen nach oben um nicht noch mehr kaputt zu
machen.
Bauform B. schrieb:> Ein interessanter Fall; wie robust ist der kernel bei einem> Fehler-der-eigentlich-nicht-passieren-kann?
In so einem Fall kann er nichts tun. Sobald etwas vom jetzt fehlenden
Swap-Device gebraucht wird, dürfte mindestens der entsprechende Prozess
abschmieren, auch eine Kernel Panic wäre denkbar.
Mit Swap auf einem RAID-Array ist das entspannter.
Carypt C. schrieb:> ich habe keine Ahnung davon
Warum sagst Du dann etwas dazu?
Moin,
Bauform B. schrieb:> und nicht "No such device or address". Wenn man das wörtlich nimmt...cd> /dev> mknod sdc b 8 32> mknod sdc2 b 8 34> swapoff /dev/sdc2
Der einzig adequate Vorschlag bis jetzt :-)
Gab aber auch nur ein
1
swapoff: /dev/sdc2: swapoff failed: No such device or address
Auch wenn /dev/sdd2 die naemliche swap partition ist, und ich in /dev
ein
Dergute W. schrieb:> Der einzig adequate Vorschlag bis jetzt :-)
Ähm … nein.
Jede swap Partition hat natürlich eine eigenständige, einmalige UUID.
So leicht lässt der Kernel sich nun auch wieder nicht verarsc… ;-)
Norbert schrieb:> Ähm … nein.
Ja, viel Hoffnung hatte ich nicht. Mach' einen besseren Vorschlag!
> Jede swap Partition hat natürlich eine eigenständige, einmalige UUID.> So leicht lässt der Kernel sich nun auch wieder nicht verarsc… ;-)
Was habt ihr immer mit dieser UUID? Der Kernel kennt sowas nicht¹. Das
ist eine Notlösung für Distributionen damit die Installation einfacher
wird. Vor allem ist die UUID für diese Aufgabe hier mehrere Ebenen zu
weit oben angesiedelt.
1) inzwischen vielleicht doch? Wäre schade.
Wenn auf dem Rest nicht zu viel ausgelagert ist, könntest du schauen, ob
er bei "swapoff -a" nicht bloß dumm in /etc/fstab guckt (und dann wieder
"No such file or directory" sagt), sondern stattdessen eine interne
Liste durchgeht. Viel Hoffnung hätte ich aber da nicht.
Ansonsten ist das Device zwar halt intern noch geöffnet jedoch nicht
mehr zugreifbar, und es kommt natürlich auch durch erneutes Anstecken
nicht wieder herbei, da das erneute Anstecken natürlich ein neues Device
produziert, denn das vorige ist ja noch belegt, und irgendeine
persistente Kennung in Form eines "Fingerabdrucks", die dem Kernel sagt,
dass das Gerät jetzt das gleiche ist wie das zuvor, gibt es (sehr
wahrscheinlich) nicht.
Dumm gelaufen.
Jörg W. schrieb:> Wenn auf dem Rest nicht zu viel ausgelagert ist, könntest du schauen, ob> er bei "swapoff -a" nicht bloß dumm in /etc/fstab guckt (und dann wieder> "No such file or directory" sagt), sondern stattdessen eine interne> Liste durchgeht. Viel Hoffnung hätte ich aber da nicht.
swapoff -a macht beides?
Moin,
Norbert schrieb:> Dergute W. schrieb:>> Der einzig adequate Vorschlag bis jetzt :-)>> Ähm … nein.
Aehm - doch.
Ich erwarte ja nicht, dass jeder Vorschlag gleich ootb funktioniert.
Aber er passt wenigstens zu meiner Problemstellung.
Ich brauch' niemanden, der mir erklaert, was ein swap ist, oder dass es
nicht so toefte ist, den im laufenden Betrieb zu entfernen, oder mir aus
der wikipedia vorliest (Wenigstes ist mir hier ChatGPT noch erspart
geblieben). Sonst haett' ich das angefragt.
Insofern danke ich explizit fuer diesen Beitrag, wie auch fuer die
anderen fachlich fundierten Beitraege.
Beim rebooten ist nix unerwartetes/aussergewoehnliches passiert.
Gruss
WK
Dergute W. schrieb:> Beim rebooten ist nix unerwartetes/aussergewoehnliches passiert.
Den hättest du auch ohne all die Kapriolen machen können.
Im bequemsten Fall sogar mir Alt-SysReq und dem reisub Limbo.
Vor allem hast du keinerlei Information darüber ob und wenn ja wie mit
dirty pages umgegangen wurde.
Aber nach einem reboot ist ja nun alles automagisch bereinigt.