cifs wird nicht eingebunden

Probleme mit Samba, NFS, FTP und Co.
Antworten
dermichi
Beiträge: 13
Registriert: 16.04.2016 01:25:23

cifs wird nicht eingebunden

Beitrag von dermichi » 24.04.2016 14:52:22

Hallo ich habe ein kleines Problem ich mounte eine festplatte die über SATA angeschlossen ist.
Das funktioniert zuverlässig.

Binde ich aber die cifs ein wir nach dem reboot immer die erste Zeile / Befehl nicht gemountet.
Also in der Untenstehenden fstab die Filme nicht. Schreibe ich als erste stelle Bilder dann wird
Bilder nicht gemountet.

Führe ich auf der Konsole einen

Code: Alles auswählen

mount -a
aus ist alles ok alle Freigaben sind an ihrem Platz.

Code: Alles auswählen

# UNCONFIGURED FSTAB FOR BASE SYSTEM

# 512 MB swapfile
/swapfile1 swap swap defaults 0 0

UUID=7631fc65-190e-4812-a5f6-82c163d42967       /mnt/hdd1_1tb    ext4  defaults  0 1


//192.168.2.39/videos      /home/minidlna/Filme        cifs username=xyz,password=12345,uid=XYZ,gid=eltern 0 1
//192.168.2.39/bilder        /home/minidlna/Bilder       cifs username=xyz,password=12345,uid=XYN,gid=eltern 0 1
//192.168.2.39/musik       /home/minidlna/Musik       cifs username=xyz,password=12345,uid=XYZ,gid=eltern 0 1

TomL

Re: cifs wird nicht eingebunden

Beitrag von TomL » 24.04.2016 20:25:15

An der Stelle kommt mir die Idee in den Sinn, dass die externe Platte vielleicht "schläft" und beim ersten Zugriff "geweckt" wird. Möglicherweise dauert dieses Wecken ein paar Sekunden, aber diese Sekunden sind zu lang, so das der erste Mount von systemd mit nem Timeout beendet wird. Beim zweiten Mount ist die Platte dann wach und ab da sind alle Mounts erfolgreich.

Könnte diese Vermutung zutreffen....?... Du kennst ja Deine SATA-Platte.

Als Lösung würde ich mal versuchen, den ersten Mount zu ergänzen und prüfen, ob der Fehler danach immer noch auftritt. Falls ja, die Änderung rückgängig machen, falls nein, den Thread auf "gelöst" setzen.

Code: Alles auswählen

//192.168.2.39/videos      /home/minidlna/Filme        cifs username=xyz,password=12345,uid=XYZ,gid=eltern,x-systemd.device-timeout=60 0 1

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: cifs wird nicht eingebunden

Beitrag von rendegast » 24.04.2016 20:38:12

//... /... cifs ... 0 1
sollte '........ 0 0' sein.
Eventuell wären damit auch die Fehler verschwunden.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

dermichi
Beiträge: 13
Registriert: 16.04.2016 01:25:23

Re: cifs wird nicht eingebunden

Beitrag von dermichi » 24.04.2016 21:34:20

@TomL

Ich habe die Festplatte von beschäftigt so das sie nicht schlagen gehen kann. Keine Abhilfe.
Die Ergänzung zum Mount Befehl hat auch nichts gebracht.


@rendegast

Auch das hat keine Verbesserung mit sich gebracht.


Habe jetzt so gar keine Idee mehr was das ganz soll.

Ein anderer Rechner der GANU die gleichen cifs einbindet funktioniert einwandfrei...

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: cifs wird nicht eingebunden

Beitrag von rendegast » 24.04.2016 21:57:06

Fehlerhafte fstab? Steuerzeichen?

Code: Alles auswählen

cat -A /etc/fstab
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

dermichi
Beiträge: 13
Registriert: 16.04.2016 01:25:23

Re: cifs wird nicht eingebunden

Beitrag von dermichi » 25.04.2016 17:34:05

Die Dollerzeichen habe ich bei allen meinen Rechnern.
Welche Zeichen könnten da falsch sein?

Bild

Es ist echt seltsam... Beschäftige ich die Festplatte von dem Rechner 192.168.2.39 so das sie nicht schlafen kann wird wieder der erste mount nicht
ausgeführt.

Aber ein mount -a geht dann wieder... oder ist das Netzwerk noch nicht aufgebaut? Wie kann ich das prüfen oder wie kann ich den Systemstart stoppen
bis das Netzwerk aktiv ist.

TomL

Re: cifs wird nicht eingebunden

Beitrag von TomL » 25.04.2016 17:47:38

dermichi hat geschrieben:Aber ein mount -a geht dann wieder... oder ist das Netzwerk noch nicht aufgebaut? Wie kann ich das prüfen oder wie kann ich den Systemstart stoppen bis das Netzwerk aktiv ist.
Ich halte das jetzt sogar für sehr wahrscheinlich. Ich würde den init.d-Service "networking" deaktivieren, das Netzwerk über systemd-networkd.service starten und dann in "remote-fs.target" als weiteres after-Statement "systemd-networkd-wait-online.service" eintragen. Ich denke, damit müsste das Problem gelöst sein. Aus gleichem Grund nutze ich heute auch nicht mehr die fstab für Remote-FS.

dermichi
Beiträge: 13
Registriert: 16.04.2016 01:25:23

Re: cifs wird nicht eingebunden

Beitrag von dermichi » 25.04.2016 18:06:54

@ TomL

Hallo Tom,

danke für deine Antwort... Aber ich hab grad keinen blassen schimmer was du mir sagen willst.
So tief bin ich noch nicht in Linux.... Bin ein MS Flüchtling.

Aber ich werde mal nach den Bergriffen GOOGELN.

TomL

Re: cifs wird nicht eingebunden

Beitrag von TomL » 25.04.2016 18:39:14

dermichi hat geschrieben:So tief bin ich noch nicht in Linux....
Aber ich werde mal nach den Bergriffen GOOGELN.
Sorry... aber dazu ist nicht viel notwendig... und man findet im Web einiges an Infos dazu. Ich würds einfach mal testen, und wenn das nicht erfolgreich ist, kann man leicht alles wieder zurückdrehen.

Code: Alles auswählen

nano /etc/systemd/network/eth0.network
   [Match]
   Name=eth0

   [Network]
   DHCP=v4

nano /etc/systemd/timesyncd.conf
    Servers=0.de.pool.ntp.org 1.de.pool.ntp.org 2.de.pool.ntp.org iburst 3.de.pool.ntp.org
    
systemctl enable systemd-timesyncd
systemctl start systemd-timesyncd

/etc/init.d/networking stop
systemctl disable networking.service

nano /lib/systemd/system/remote-fs.target
   After=remote-fs-pre.target local-fs.target systemd-networkd-wait-online.service

systemctl enable systemd-resolved.service
systemctl start systemd-resolved.service
[ -f /etc/resolv.conf ] && rm /etc/resolv.conf
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved.service

systemctl enable systemd-networkd.service
systemctl enable systemd-networkd-wait-online.service

systemctl reboot
Falls da auch noch ntp (ebenfalls ein Time-Sync-Dienst) installiert ist und laufen sollte, würde ich den danach noch deinstallieren und es lieber allein systemd überlassen.

Code: Alles auswählen

dpkg -l | grep ntp
Wenn Du spezielle Fragen hierzu hast und dazu nix ergiebiges im Web finden konntest, dann frag einfach hier noch mal nach. Nur noch 'ne kurze begleitende Erläuterung zu meinem Vorschlag: "/etc/init.d/networking" ist der unter dem früheren sysvinit gestartete Daemon für die Netzwerkanbindung, bzw. hat es die entsprechenden Dienste gestartet. sysvinit gibts aber im aktuellen Debian nicht mehr, dessen Aufgabe hat systemd übernommen.Insofern halte ich es auch für besser, die wichtigen Aufgaben eben auch systemd zu überlassen, was mein Vorschlag entsprechend umsetzt. Normalerweise sollte das auf Anhieb funktionieren.... als einzige denkbare neue Fehlerquelle fällt mir jetzt nur ein möglicher Networkmanager ein, aber den halte ich sowieso für überflüssig. Wie gesagt, wenns nicht klappt, drehen wir es halt zurück..... das geht ziemlich einfach.

dermichi
Beiträge: 13
Registriert: 16.04.2016 01:25:23

Re: cifs wird nicht eingebunden

Beitrag von dermichi » 25.04.2016 19:05:57

Hallo,

wow danke für deine Arbeit...
Ob ich es heute testen kann weiß ich noch nicht. Aber ich werde berichten.

Danke nochmal.

TomL

Re: cifs wird nicht eingebunden

Beitrag von TomL » 26.04.2016 10:44:21

Sorry, ich glaube, ich bin da etwas zu weit gegangen und denke jetzt, meine Lösung, die ich letztendlich zwar für die richtige halte, wäre besser später ein zweiter Schritt.

Versuche besser jetzt einfach mal eine einfache Lösung, die nix kaputt macht und nur erneut den mount startet, wenn Netzwerk und Server verfügbar sind. Damit veränderst Du erst mal nix an den bestehenden Netzwerkeinstellungen, die ja grundsätzlich funktionieren. Und wenn das funktioniert, ist es ja erst mal gut. Erstelle dazu folgende Datei:

/usr/local/bin/rc_local

mit folgendem Inhalt:

Code: Alles auswählen

#!/bin/bash

Server=192.168.2.39
IfaceIsUp=0
HomeNetIsConnect=-1
TimeOut=60

sec=0
while [ $sec -lt $TimeOut ]; do
    if [[ -n $(ip addr show dev eth0 | grep inet) ]]; then
        ((IfaceIsUp++))
        break
    fi
    sleep 1 && ((sec++))
done
[[ $IfaceIsUp -eq 0 ]] && exit 1

sec=0
while [ $sec -lt $TimeOut ]; do
    ping -c1 -W1 -q $Server &>/dev/null
    HomeNetIsConnect=$?

    [ $HomeNetIsConnect -eq 0 ] && break

    sec=$[$sec+1]
    /bin/sleep 1
done

if [[ $HomeNetIsConnect -eq 0 ]]; then
    /bin/mount -a
    exit 0
fi

exit 1
Das Script prüft im ersten Block in der oberen Hälfte, ob das Netzwerkinterface gestartet ist und eine IP-Adresse vom Router hat und wartet ggf. bis zu 60 Sekunden. Und in der unteren Hälfte wird geprüft, ob der Server antwortet. Dazu musst Du allerdings ganz oben im Script die IP-Adresse des Servers prüfen und ggf. korrigieren und Deinen Server eintragen.
Dann noch die Rechte für das Script setzen:

Code: Alles auswählen

chown root:root /usr/local/bin/rc_local
chmod 755 /usr/local/bin/rc_local
Ganz zum Schluss trägst Du einfach den Start dieses Scripts in die Datei

/etc/rc.local

ein, als vorletze Zeile, vor dem exit, mit vollständiger Pfad-Angabe:

/usr/local/bin/rc_local

Beim nächsten Start wird vermutlich der gleiche unvollständige Mount wie bisher über die fstab ablaufen - aber dann, wenn Du Dich angemeldet hast, wird noch mal ein "mount -a" hinterher gesendet und alle Remote-Shares müssten verbunden sein. Versuchs einfach mal... und wenn das nicht klappt.... diese Lösung ist also noch einfacher zurückzusetzen, als der erste Vorschlag... einfach den Eintrag in der /etc/rc.local entfernen und gut is....

Antworten