Gemountete Netzwerkfreigaben blockieren Shutdown

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
izi
Beiträge: 181
Registriert: 09.02.2009 22:17:27

Gemountete Netzwerkfreigaben blockieren Shutdown

Beitrag von izi » 02.05.2015 14:39:30

Hallo!
Ich schlag mich jetzt schon eine Ewigkeit mit folgendem Problem (hier auch schön öfters geschildert) herum:
Ich habe einen Raspberry Pi an dem verschieden Platten hängen die per Samba freigegeben sind und von meinen Laptops gemountet werden. Meine Laptops verbinden sich über das nm-applet mit meinem Router. Das klappt auch alles soweit.
Problem ist, dass seit Systemd der Rechner ewig stehen bleibt wenn die Freigaben gemountet sind. Soweit ich das verstehe, liegt dies daran, dass mit dem Logout die Verbindung getrennt wird und die Freigaben nicht vorher ordentlich ausgehängt werden.
Ich bastel da jetzt schon ewig hin. Komischerweise funktioniert es unter Ubuntu 15.04 ganz normal, also so wie es sein soll. Man trägt seine Sachen in die fstab ein und gut iss. Leider ist dem unter Debian nicht so.
Ich poste einfach mal relevante Angaben ;):

/etc/fstab:

Code: Alles auswählen

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/asgard-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=d27c106f-068c-446b-9ce6-858e14cf1540 /boot ext2 defaults 0 2
/dev/mapper/asgard-swap none swap sw 0 0

# CD/DVD (fuer apt)
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0

# Entfernte Dateisysteme
//midgard/Audio1 /mnt/Audio1 cifs noauto,users,credentials=/home/izi/.smbcredentials,_netdev
//midgard/Backup /mnt/Backup cifs noauto,users,credentials=/home/izi/.smbcredentials,_netdev
//midgard/ISOs /mnt/ISOs cifs noauto,users,credentials=/home/izi/.smbcredentials,_netdev
//midgard/Videos /mnt/Videos cifs noauto,users,credentials=/home/izi/.smbcredentials,_netdev
(wieso ich da jetzt noauto drin habe weiß ich auch nicht mehr, ist ziemlicher Quatsch, fällt mir gerade ein. Aber es hatte einen Grund, soll so aber nicht bleiben)

Ich versuchte mir jetzt damit zu helfen, ein kleines Script zu schreiben (heißt aw_poweroff.sh), dass mount aufruft, mit grep nach cifs sucht und wenn etwas mit cifs gemountet ist
das script umount_my_shares.sh aufruft.
Hier also mal die Skripte (aber bitte nicht lachen, ich habe in meinem Leben noch kein Script geschrieben und ich fürchte es ist ziemlich... argh):

aw_poweroff:

Code: Alles auswählen

#!/bin/bash

(\
if mount | grep cifs > /dev/null; then
   $HOME/bin/umount_my_shares.sh \
else
    exit 0
fi 
) &
systemctl poweroff
exit 0
umount_my_shares.sh:

Code: Alles auswählen

#!/bin/bash

### Umounte meine SMB Freigaben ###
umount /mnt/Audio1
umount /mnt/Backup
umount /mnt/ISOs
umount /mnt/Videos
Ruft man das Script aw_poweroff.sh auf, fährt der Rechner runter bleibt aber wieder ewig hängen bis es dann zu einem Timeout kommt und er weiter macht mit runterfahren, weshalb ich annehme das er die Freigaben aus irgend einem Grund nicht ausgehängt hat BEVOR die Verbindung beendet wird.

Was ich möchte ist im Prinzip, gar nicht mit komischen Flickwerk wie diesen Skripten rumzumachen. Es sollte reichen seine Sachen in die fstab zu schreiben und das System sollte schlau genug sein um dann nicht die Verbindung vor dem umounten von Netzwerkfreigaben zu kappen. Wenn es unter Ubuntu geht muss es auch unter Debian gehen. Irgendwie.
Hat jemand irgendeinen Lösungsvorschlag? Ich kann doch nicht der einzige sein, der mit Jessie über WLAN Netzwerkfreigaben mountet und ab und zu seinen Rechner runterfährt, dabei aber nicht eine Ewigkeit warten will. Übrigens ist es kein Problem von Samba. Es ist mit NFS das gleiche.

Vielen Danke für jede Hilfe.
Ähm, eins noch. Ich bräuchte da jetzt wirklich eine Anleitung für Idioten. Mir hilft es nichts nur ein kurzen Hinweis in den Raum zu werfen. Ich mach nämlich wie gesagt jetzt schon echt lang damit rum.

Gruß
Michi
<a href="viewtopic.php?f=15&t=152656">Das (bin) ich</a>

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Gemountete Netzwerkfreigaben blockieren Shutdown

Beitrag von Six » 07.05.2015 15:14:55

Was steht in den Logs? Wenn die Kiste das nächste mal nicht runterfährt, würge sie kalt ab und direkt nach den Neustart gucke dir den Output von

Code: Alles auswählen

journalctl -b -1
an.
Be seeing you!

izi
Beiträge: 181
Registriert: 09.02.2009 22:17:27

Re: Gemountete Netzwerkfreigaben blockieren Shutdown

Beitrag von izi » 08.05.2015 16:41:51

Hi Six!

journalctl -b -1 gibt folgende Meldung:

Code: Alles auswählen

Failed to look up boot -1: Die angeforderte Adresse kann nicht zugewiesen werden
Die Ausgave von journalctl -b ist zu groß um sie hier im Forum einzufügen (zu viele Zeichen).

Mounte ich /mnt/Audio1 (eine der Netzwerkfreigaben mit cifs) und fahre den Rechner runter bzw reboote hängt er und gibt abwechselnd folgende Meldungen:

Code: Alles auswählen

*** A stop job ist running for LVM PV ZEICHENKETTE/dev/dm-0 ***
*** A stop job ist running for /mnt/Audio1 ***
(Es handelt sich wie unschwer zu sehen um ein LVM (verschlüsselt), aber das ist nicht der Grund. Das Problem besteht genauso bei einer unverschlüsslten Installation).
Wie gesagt, ist keine Freigabe gemountet, fährt er normal runter.
Offensichtlich scheint, soweit ich das bisher eruieren konnte eben das Problem zu sein, dass ERST die WLAN Verbindung gekappt wird, und dann im weiteren Shutdownverlauf erst versucht wird Netzwerkfreigaben auszuhängen, was ja dann nicht mehr funktioniert weil keine Verbindung mehr besteht.

Fällt dir oder irgendjemandem was ein. Die Lösung mit Skripten beim starten und beenden, die meine Freigaben aushängen geht zwar ist aber wirklich nicht schön. Aber wenn niemandem was einfällt wie man das Problem behebt, wäre es eine Option mir zu sagen wie ich es mit einem Script hinbekomme, dass nach CIFS gesucht wird und wenn was über CIFS gemountet ist, dies dann auszuhängen und dann erst zu rebooten/runterzufahren.

LG
Michi
<a href="viewtopic.php?f=15&t=152656">Das (bin) ich</a>

Benutzeravatar
Six
Beiträge: 8071
Registriert: 21.12.2001 13:39:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Siegburg

Re: Gemountete Netzwerkfreigaben blockieren Shutdown

Beitrag von Six » 14.05.2015 08:42:55

Lass mich raten, das geht etwa 30 Sekunden pro Mountpoint so? Wenn ja, dann rennst du in einen fixen time-out von Systemd. Das ist in späteren Versionen geändert worden, aber in Jessie -- so weit ich weiß -- noch nicht.

Als workwround versuche mal die mount option "soft" in die fstab aufzunehmen. Also

Code: Alles auswählen

//midgard/Audio1 /mnt/Audio1 cifs noauto,users,credentials=/home/izi/.smbcredentials,_netdev, soft 0 0
An sich ist das default, aber wer weiß. Jedenfalls sorgt "soft" dafür, dass Zugriffe auf einen nicht-vorhandenen CIFS-Share würdevoll abschmieren, d. h. in einem definierten Zustand bleiben und deswegen nicht hängen bleiben.
Be seeing you!

Antworten