Hi, habe ein merkwürdiges Phänomen: Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf. 2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt, aber was nun ? Gibt es oberhalb des reboots eine Lösung für derlei ? -- may the tux be with You! Joerg Thuemmler sysadmin@vordruckleitverlag.de Vordruck Leitverlag GmbH Berlin, ZNL Freiberg Halsbruecker Str. 31b, 09599 Freiberg, Germany Tel. +49 (0)3731/303121
On Tuesday, 28. August 2001 12:31, Joerg Thuemmler wrote:
Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf. 2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt, aber was nun ? Gibt es oberhalb des reboots eine Lösung für derlei ?
Versuchs mal mit umount /var/adm/mount/ AFAIK mountet yast doch dorthin !? Aber mit einem df findet man das raus. Wenn´s nix hilft: update für yast ziehen. Gruß Peter
Am Die, 28 Aug 2001 schrieb Peter Bossy:
On Tuesday, 28. August 2001 12:31, Joerg Thuemmler wrote:
Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf. 2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt, aber was nun ? Gibt es oberhalb des reboots eine Lösung für derlei ?
Versuchs mal mit umount /var/adm/mount/ AFAIK mountet yast doch dorthin !? Aber mit einem df findet man das raus. WennŽs nix hilft: update für yast ziehen.
Gruß
Peter
Danke, aber das geht genauso aus - jetzt habe ich nur einen weiteren "unkillbaren" mount-Prozeß, da /var/adm/mount auf /dev/hdc gemounted war, ja eigentlich logisch, denn umount /dev/hdc hatte ich ja schon probiert. Yast updaten ist o.k., aber ich würde gerne zunächst mein CD-Laufwerk wieder nutzen können, und möglichst ohne reboot. -- may the tux be with You! Joerg Thuemmler sysadmin@vordruckleitverlag.de Vordruck Leitverlag GmbH Berlin, ZNL Freiberg Halsbruecker Str. 31b, 09599 Freiberg, Germany Tel. +49 (0)3731/303121
Am 28 Aug 2001 14:03:58 +0200 schrieb Joerg Thuemmler:
Am Die, 28 Aug 2001 schrieb Peter Bossy:
On Tuesday, 28. August 2001 12:31, Joerg Thuemmler wrote:
Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf. 2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt, aber was nun ? Deutet darauf hin, dass der Treiber im Kernel nicht mehr reagiert, d.h SW oder HW-seitig blockiert ist, z.B. weil der Treiber gestorben ist (==Kernel-Bug), weil die HW gestorben ist (==HW-Problem) o.ä.
Ich glaube mich erinnern zu können, dass eine Serie von Kerneln/CDROM-Treibern um SuSE-6.x Probleme mit der Behandlung HW-Fehlern hatte (Bei mir war damals allerdings ein neues CDROM fällig).
Gibt es oberhalb des reboots eine Lösung für derlei ? In seltenen Fällen hilft ein rmmod eines der für den CROM-Zugriff benötigten Module oder ein "eject".
Falls Dein CDROM einen "Notauswurf-Knopf" oder einen manuellen Auswurf besitzt, kann auch das helfen.
Versuchs mal mit umount /var/adm/mount/ AFAIK mountet yast doch dorthin !? Aber mit einem df findet man das raus. Wenn´s nix hilft: update für yast ziehen.
Gruß
Peter
Danke,
aber das geht genauso aus - jetzt habe ich nur einen weiteren "unkillbaren" mount-Prozeß, da /var/adm/mount auf /dev/hdc gemounted war, ja eigentlich logisch, denn umount /dev/hdc hatte ich ja schon probiert. Yast updaten ist o.k., aber ich würde gerne zunächst mein CD-Laufwerk wieder nutzen können, und möglichst ohne reboot. Vermutlich führt hier kaum ein Weg am reboot vorbei.
Ralf
Am Dienstag, 28. August 2001 14:03 schrieb Joerg Thuemmler:
aber das geht genauso aus - jetzt habe ich nur einen weiteren "unkillbaren" mount-Prozeß, da /var/adm/mount auf /dev/hdc gemounted war,
Die korrekte Syntax lautet: /dev/hdc auf /var/adm/mount gemountet war ;-)
ja eigentlich logisch, denn umount /dev/hdc hatte ich ja schon probiert.
Da wird dann aber auf die fstab zurückgegriffen, der Mountbefehl wird dann um die entsprechend benötigten Parameter erweitert. Wenn Du dort also /var/adm/mount statt /cdrom stehen hättest, dann würde es auch funktionieren mit umount /dev/hdc
Yast updaten ist o.k., aber ich würde gerne zunächst mein
Ist für diesen Fall nicht nötig.
CD-Laufwerk wieder nutzen können, und möglichst ohne reboot.
Also konnte nun denn /dev/hdc von /var/adm/mount entbunden werden (Ausgabe von "mount")? Wenn ja, dann ist doch alles in Butter. Das mit den nicht unterbrechbaren Prozessen habe ich hier mit "eject" beobachten können wenn ein Laufwerk ide-scsi emuliertes Laufwerk beschäftigt ist und das zweite ide-scsi Laufwerk (am gleichen IDE-Controller) nun die CD per eject auswerfen soll. Allerdings verschwand dieser Prozess nach einer Weile - vermutlich weil der Blockervorgang auf dem anderen Laufwerk beendet wurde. Aber das nur so am Rande als Erfahrungsbericht. Bis denn dann... Torsten
Am Dienstag, 28. August 2001 12:31 schrieb Joerg Thuemmler:
Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf.
Wenn Du /cdrom oder /dev/hdc verwendest greifst Du auf die /etc/fstab zu und die versucht die CD unter dem Mountpoint /cdrom zu entfernen. Wenn Du nun mit dem Befehl "mount" ersteinmal nachschaust wo denn YaST dein Laufwerk eingebunden hat, dann wirst Du feststellen, das es unter /var/adm/mount oder so liegen wird. Also umount /dev/hdc /var/adm/mount
2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt,
Wie Du nun sehen kannst ein Folgefehler, weil an der Stelle nix zum umount vorhanden ist.
aber was nun ? Gibt es oberhalb des reboots eine Lösung für derlei ?
Ja immer erstmal gucken was überhaupt los ist. Gibt es denn auch an der Stelle an der ich versuche ein umount zu machen einen Eintrag, ist da überhaupt ein Device gemountet. Immer erst blicken welcher Zustand vorliegt und dann ist die Lösung meist schon drei Schritte näher :-) Bis denn dann... Torsten
* Torsten Hallmann schrieb am 30.Aug.2001:
Am Dienstag, 28. August 2001 12:31 schrieb Joerg Thuemmler:
Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf.
Wenn Du /cdrom oder /dev/hdc verwendest greifst Du auf die /etc/fstab zu und die versucht die CD unter dem Mountpoint /cdrom zu entfernen.
Nein, es wird in /etc/mtab nachgesehen, und da steht drin, wo wirklich gemountet ist. umount /cdrom kann nicht glücken, das ist klar, aber umount /dev/hdc müßte es, falls /dev/hdc die CD-ROM ist. umount /var/adm/mount täte es auch, das ist richtig.
oder so liegen wird. Also
umount /dev/hdc /var/adm/mount
Nein, das geht nicht. Siehe man umount. umount braucht abgesehen von Options genau ein Argument. (Wenn nicht die Option -a dabei ist, dann braucht umount kein Argument)
2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt,
So ist es. Der Prozeß will auf die CD zugreifen. Bei Linux kann ein I/O-Zugriff nur der Kernel machen. Daher beauftragt der Prozeß den Kernel dies zu machen. Dazu geht der Prozeß in den D Status. Ein Prozeß ist immer dann im D Status, wenn er freiwillig den Prozessor am Kernel abgibt. Das ist normalerweise nur ganz kurzfristig, da der Kernel sofort fertig ist. Daher bekommt man diesen Status gar nicht mit. Bei I/O Geschichten kann es natürlich passieren, daß sie nicht ausgeführt werden kann, weil die Gegenseite nicht bereit ist. Dies ist hier offensichtlich der Fall. Weil der Prozeß die CD-ROM blockiert, ist auch ein umount unmöglich. Ein killen des Prozesses erfolgt erst nachdem der Kernel mit dem Auslesen fertig ist, und den Status in R oder S ändern möchte. Dann bekommt der Kernel mit, daß da ein Signal ansteht.
aber was nun ? Gibt es oberhalb des reboots eine Lösung für derlei
AFAIK gibt der Kernel irgendwann mal auf. Kann aber daueren. Mehere Minuten sind da einzuplanen. Hatte ich auch mal. Mit einem neuen CD-Rom-Laufwerk kam der Fehler nicht mehr. Bernd -- Alle meine Signaturen sind rein zufällig und haben nichts mit dem Text oder dem Schreiber zu tun, dem ich antworte. Falls irgendwelche Unrichtigkeiten dabei sein sollten, so bedauere ich das. Es wäre nett, wenn Du mich benachrichtigen würdest. |Zufallssignatur 0
On Don, 30 Aug 2001, Bernd Brodesser wrote:
* Torsten Hallmann schrieb am 30.Aug.2001:
Wenn Du /cdrom oder /dev/hdc verwendest greifst Du auf die /etc/fstab zu und die versucht die CD unter dem Mountpoint /cdrom zu entfernen.
Nein, es wird in /etc/mtab nachgesehen, und da steht drin, wo wirklich gemountet ist.
Exakt: dh@slarty:~ $ mount /cdrec/ ## Mein Brenner, im ROM is keine CD ;) root@slarty:~ # strace -efile /bin/umount /cdrec/ ## [1] execve("/bin/umount", ["/bin/umount", "/cdrec/"], [/* 63 vars */]) = 0 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 readlink("/cdrec", 0xbfffe2a0, 4095) = -1 EINVAL (Invalid argument) open("/etc/mtab", O_RDONLY) = 3 oldumount("/cdrec") = 0 lstat("/etc/mtab", {st_mode=S_IFREG|0644, st_size=562, ...}) = 0 open("/etc/mtab", O_RDWR|O_CREAT, 0644) = 3 open("/etc/mtab~5637", O_WRONLY|O_CREAT, 0) = 3 link("/etc/mtab~5637", "/etc/mtab~") = 0 unlink("/etc/mtab~5637") = 0 open("/etc/mtab~", O_WRONLY) = 3 open("/etc/mtab", O_RDONLY) = 3 open("/etc/mtab.tmp", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4 rename("/etc/mtab.tmp", "/etc/mtab") = 0 unlink("/etc/mtab~") = 0 root@slarty:~ # [1] als non-root kommt (zu Recht): dh@slarty[3]:~ (0) $ strace -efile /bin/umount /cdrec/ execve("/bin/umount", ["/bin/umount", "/cdrec/"], [/* 72 vars */]) = 0 strace: exec: Operation not permitted Ach ja, noch was /etc/mtab kommt ab und an gern mal "out of sync", z.B. wenn Geraete (ausversehen) mehrfach gemountet werde oder anderes... Somit geraet auch die Ausgabe von mount (und ebenso umount Versuche) durcheinander. (ok, bei 2.4 koennen LWs mehrfach gemountet werden -- ABER auf UNTERSCHIEDLICHE mountpoints... Zweimal auf den gleichen ist nicht gut... root@slarty[0]:~ (0) # strace -efile mount > /dev/null execve("/bin/mount", ["mount"], [/* 63 vars */]) = 0 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 open("/dev/null", O_RDWR) = 3 open("/etc/mtab", O_RDONLY) = 3 Immer "aktuell" und korrekt ist hingegen /proc/mounts: root@slarty[0]:~ (0) # strace -efile cat /proc/mounts >/dev/null execve("/bin/cat", ["cat", "/proc/mounts"], [/* 63 vars */]) = 0 open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 open("/lib/libc.so.6", O_RDONLY) = 3 open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 3 Ausser "oldumount" habe alle Befehle in den trace-logs eigene manpages.
AFAIK gibt der Kernel irgendwann mal auf. Kann aber daueren. Mehere Minuten sind da einzuplanen.
Kann _sehr_ dauern... z.B. 1 h (okok, ist bei Kernel 2.4.0-test4)... ;) Ggfs. kann dann auch ein Shutdown scheitern... Dann ist ein 'init 1; umount von allem was such unmounten laesst; reboot noetig... -dnh -- The only sensible way to estimate the stability of a Windows server is to power it down and try it out as a step ladder. - Robert Crawford, in the Monastery
Am Don, 30 Aug 2001 schrieb Torsten Hallmann:
Am Dienstag, 28. August 2001 12:31 schrieb Joerg Thuemmler:
Yast1 (Suse 6.3) stürzte mir beim Schreiben der Konfiguration auf die Platte (nach der AFAIK fehlerfreien Installation einiger Pakete) ab, hing, ließ sich nur noch mit CTRL-C endgültig beenden. Soweit kein Problem. Aber: Die - anscheinend noch gemountete CD (Nr. 6 - Quellen) läßt sich nicht mehr -per Software - aus dem Laufwerk entfernen, ein umount - egal, ob auf /cdrom oder /dev/hdc oder sonstwas hängt sich auf.
Wenn Du /cdrom oder /dev/hdc verwendest greifst Du auf die /etc/fstab zu und die versucht die CD unter dem Mountpoint /cdrom zu entfernen.
Wenn Du nun mit dem Befehl "mount" ersteinmal nachschaust wo denn YaST dein Laufwerk eingebunden hat, dann wirst Du feststellen, das es unter
/var/adm/mount
oder so liegen wird. Also
umount /dev/hdc /var/adm/mount
2 Instanzen des umount-Prozesses hängen und lassen sich auf keine Weise killen, ps alx sagt folgendes: 100 0 26938 1 0 0 1144 412 down_f D ? \ 0:00 umount /cdrom, wobei Status D uninterruptable sleep heißt, was ja manches klärt,
Wie Du nun sehen kannst ein Folgefehler, weil an der Stelle nix zum umount vorhanden ist.
aber was nun ? Gibt es oberhalb des reboots eine Lösung für derlei ?
Ja immer erstmal gucken was überhaupt los ist. Gibt es denn auch an der Stelle an der ich versuche ein umount zu machen einen Eintrag, ist da überhaupt ein Device gemountet. Immer erst blicken welcher Zustand vorliegt und dann ist die Lösung meist schon drei Schritte näher :-)
ACK! war halt Schusseligkeit. Übrigens hängten sich dann in Folge alle umounts auf, d.h. auch floppy oder cdrw (ide-scsi). Half echt nur reboot (die schöne uptime!) -- may the tux be with You! Joerg Thuemmler sysadmin@vordruckleitverlag.de Vordruck Leitverlag GmbH Berlin, ZNL Freiberg Halsbruecker Str. 31b, 09599 Freiberg, Germany Tel. +49 (0)3731/303121
participants (6)
-
B.Brodesser@t-online.de
-
David Haller
-
Joerg Thuemmler
-
Peter Bossy
-
Ralf Corsepius
-
Torsten Hallmann