NFS Laufwerke verhindern systemd Start und wie einbinden ?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Celica
Beiträge: 2145
Registriert: 16.08.2003 13:37:15
Wohnort: Schleswig Holstein

NFS Laufwerke verhindern systemd Start und wie einbinden ?

Beitrag von Celica » 04.01.2017 19:36:06

Hallo,

habe heute meinen Rechner neu mit Jessie aufgesetzt, da ich bei dem Upgrade von Wheezy auf Jessie Schwirigkeiten hatte (s. hier: viewtopic.php?f=12&t=163529).

Alles soweit super, bis ich meine NFS-Laufwerke in die "fstab" eintragen wollte:

Code: Alles auswählen

#NFS Laufwerke
192.168.1.8:/home/christopher   /mnt/Netbook    nfs     user,noauto,timeo=14,soft,intr    0 0
192.168.1.6:/home/martina/       /mnt/T410    nfs     user,noauto,timeo=14,soft,intr		0 0
192.168.1.2:/srv/video/   /mnt/yaVDR1Video    nfs     user,noauto,timeo=14,soft,intr    0 0
192.168.1.2:/srv/share/vdr   /mnt/yaVDR1ShareVDR    nfs     user,noauto,timeo=14,soft,intr    0 0
192.168.1.4:/srv/share/vdr/	/mnt/yaVDR2/	nfs		user,noauto,timeo=14,soft,intr		0 0
192.168.1.4:/srv/video/	/mnt/yaVDR2Video/	user,noauto,timeo=14,soft,intr		0 0
Nach einem Neustart ist der Rechner wieder wie in dem Beitrag zuvor am Eingabeprompt stehen geblieben und ich sollte das root Passwort für "maintenance" eingeben.
Da war ich geschockt und angefressen in dem Augenblick.

Kurz nachgedacht was ich zuletzt installiert und konfiguriert hatte und da sind mir die NFS-Laufwerke eingefallen.

Habe diese dann wieder aus der "fstab" entfernt und siehe da, der Rechner arbeitet ganz normal und startet mit "systemd".

Da fresse ich doch einen Besen !

a) wäre das dann wohl mein Problem von vorher gewesen (soooo einfach hätte das zu beheben sein können) ... grrrr !, und
b) warum funktioniert das mit den NFS-Laufwerken so nicht mehr und was muss ich machen, damit ich diese wieder ansprechen/einbinden kann ?

Ist das so richtig, dass der Eintrag in der "fstab" den Start mit "systemd" verhindert ?
Danke !

Ciao

Celica

TomL

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von TomL » 04.01.2017 19:48:27

Für mount nfs ist ein eigenes Mount-Programm notwendig. Schau mal nach, ob das installiert ist:

Code: Alles auswählen

dpkg -l  nfs-common
Und ich kann Dir jetzt schon Probleme ankündigen. Üblicherweise wird die fstab im Rahmen der systemd-Parallelisierung abgearbeitet, bevor das Netzwerk verfügbar ist. Das heisst, die fstab wird voraussichtlich mit "failed" enden, wo hingegen "mount -a" im Terminal sofort funktioniert. Das heisst, Du musst sicherstellen, dass das Netzwerk vor den NFS-Mounts abgearbeitet wird.... oder besser gleich eigene Mount-Units erstellen.

Benutzeravatar
Celica
Beiträge: 2145
Registriert: 16.08.2003 13:37:15
Wohnort: Schleswig Holstein

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von Celica » 04.01.2017 19:59:46

"nfs-common" ist installiert.

Ich kann den Fehler auch reproduzieren indem ich wieder die Einträge in der "fstab" aktiviere.

Ärgere mich darüber, dass ich den Fehler nicht vor der Neuinstallation gefunden habe (da waren aber auch einige andere erfahrene Debian User mit dabei :-)). Gut, ist so, aber jetzt benötige ich eine Lösung.

Was muss ich den machen um via "autofs" meine Laufwerke wieder automatisch mounten zu können ?
Das Problem müssen doch viele andere auch gehabt haben, oder ?
Danke !

Ciao

Celica

Benutzeravatar
Celica
Beiträge: 2145
Registriert: 16.08.2003 13:37:15
Wohnort: Schleswig Holstein

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von Celica » 04.01.2017 20:35:13

Habe hier (https://www.server-world.info/en/note?o ... &p=nfs&f=2) etwas gefunden, aber da bin ich mir nicht sicher wie das genau funktionieren soll und so richtig ist.
Wie machen das alles anderen Jessie User ?
Danke !

Ciao

Celica

rhHeini
Beiträge: 2363
Registriert: 20.04.2006 20:44:10

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von rhHeini » 04.01.2017 20:45:27

Ich hab das Problem schon mit Squeeze gehabt, damals keine Lösung gefunden und dann die Lösung in ein cron-Skript @reboot ausgelagert das checkt ob das Netzwerk läuft und dann die nfs-Shares einbindet. Läuft immer noch so.

Bei Interesse kann ich mal mein Skript posten.

Gruss rh

Benutzeravatar
Celica
Beiträge: 2145
Registriert: 16.08.2003 13:37:15
Wohnort: Schleswig Holstein

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von Celica » 04.01.2017 20:47:07

Das wäre nett, aber dann musst du mir auch erklären wie das funktioniert.

Davon abgesehen muss es doch eine offizielle Lösung für dieses Problem geben, oder wie machen das alle anderen Debian Jessie User ?
Danke !

Ciao

Celica

TomL

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von TomL » 04.01.2017 20:52:33

Code: Alles auswählen

user,noauto,timeo=14,soft,intr
Als erstes würde ich die mount-Options korrigieren. "noauto" löst die Abhängigkeit von local-fs.target, was bedeutet, dass es gar nicht automatisch gemountet wird. "intr" ist eine veraltete Option und wird ignoriert. "timeo" und "soft" würde ich entfernen und sicherstellen, dass der Mount nicht failed, wenn das Netzwerk nicht verfügbar ist, indem ich vorher garantiere, dass die NFS-Mounts erst nach dem Netzwerk bearbeitet werden ... oder gar nicht, wenn der Server nicht verfügbar ist.

Die perfekte und unter systemd obligatorische Lösung sind explizite Mount-Units..... und das auch vor dem Hintergrund, dass systemd sowieso für alle fstab-Einträge dynamisch mount-units generiert. Und eine Cron-Lösung ist unter systemd für mich gleichbedeutend mit "erst Beine brechen und dann Krücken schenken" :mrgreen: ... s.c.n.r.

Die Lösung ist ganz einfach: Korrigiere die Options und starte die Mounts manuell mit "mount -a", wenn das Netz gestartet ist. Und dann schau Dir die von systemd generierten Mount-Units an. Mit denen kann man dann weiterarbeiten und sie selber "installieren". Bei Problemen dazu einfach fragen.

HTH.
Zuletzt geändert von TomL am 04.01.2017 21:12:23, insgesamt 2-mal geändert.

Benutzeravatar
Celica
Beiträge: 2145
Registriert: 16.08.2003 13:37:15
Wohnort: Schleswig Holstein

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von Celica » 04.01.2017 20:57:45

Mount-Units wären so wie unter dem Link den ich gepostet habe zu vertehen ?
Ich kann auf die Schnelle nicht wirklich etwas zu mount-units finden.
Klingt auch erst einmal kompliziert, ist aber wahrscheinlich nur anders.
Danke !

Ciao

Celica

TomL

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von TomL » 04.01.2017 21:08:52

Ok, versuchen wir es einfach mal.... zuerst einmal an nur einer Freigabe... nur um zu sehen, obs überhaupt geht.Als erstes ist die Mount-Unit anzulegen. Dabei musst Du darauf achten, dass der Name der Unit in direktem Zusammenhang mit dem Mount-Point steht. Da ist also keine Abweichung möglich. Dran denken, dass Du vor allen Tätigkeiten einmal im Terminal zu Root wirst, am Besten mit su, oder irgendwie mit sudo .... wichtig ist, besser keine einzelnen sudo-Kommandos verwenden, sondern einmal direkt zu root werden.

Code: Alles auswählen

nano /etc/systemd/system/mnt-yaVDR1Vide.mount

Code: Alles auswählen

[Unit]
Description=Mount Network-Drives
Requires=network-online.target
After=network-online.target
ConditionPathExists=/mnt/yaVDR1Vide

[Mount]
What=192.168.1.2:/srv/video
Where=/mnt/yaVDR1Vide
Options=username=thomas,password=geheimespwd,rw
Type=nfs

[Install]
WantedBy=multi-user.target
Du kannst auch in den Options eine der folgenden Varianten verwenden:

Code: Alles auswählen

Options=username=thomas,password=geheimespwd,uid=thomas,gid=thomas,rw,nosuid,nodev,noexec,async
Options=credentials=/home/thomas/.smbcredentials,uid=thomas,gid=thomas,defaults
Wichtig ist, keine Konflikte mit mehreren Option-Zeilen produzieren ... in der Unit darf nur EINE einzige stehen. User-Name und Password müssen natürlich angepasst werden, ebenso die .smbcredentials, falls eine verwendet werden soll. Die anderen Paramenter kann man sich sparen, weil später die Unit ohne Netzwerk gar nicht gestartet wird und somit auch keine Fehler produzieren kann.

Als letztes sind noch die Rechte für die Unit zu setzen:

Code: Alles auswählen

chmod 644 /etc/systemd/system/mnt-yaVDR1Vide.mount
chown root:root /etc/systemd/system/mnt-yaVDR1Vide.mount
Und jetzt kann man testen, ob die Unit funktioniert, Fehlermeldungen kontrollieren und wenn keine Fehler vorhanden sind aktivieren. Folgende Schritte sind notwendig:
1. Kontrollieren, ob die Freigabe schon gemountet ist (durch die fstab)
2. wenn ja, unmounten
3. Neue Mount-Unit starten
4. Auf Fehler kontrollieren

Code: Alles auswählen

df | grep yaVDR1Vide
umount /mnt/yaVDR1Vide
systemctl start mnt-yaVDR1Vide.mount
systemctl status mnt-yaVDR1Vide.mount
df | grep yaVDR1Vide
Wenn es keine Fehler gegeben hat, könnte man den Eintrag nun aus der fstab entfernen oder mit einem Comment-Tag "#" versehen und die Unit für den Systemstart aktivieren. Aber hier ist zu beachten, dass immer noch das Netzproblem besteht. Im ersten Schritt ist es also besser, einfach nur mal zu gucken, ob die Mount-Unit überhaupt funktioniert. Im zweiten Schritt wird das Netzproblem gelöst, im dritten dann die Mount-Unit produktiv gesetzt und der alte Eintrag in der fstab ausgeplant.

Code: Alles auswählen

systemctl enable mnt-Notebook.mount
Versuchs einfach mal und wir gucken was geht und ob Probleme auftauchen...zuerst aber -so meine Empfehlung- noch ohne 'enable'.

Benutzeravatar
Celica
Beiträge: 2145
Registriert: 16.08.2003 13:37:15
Wohnort: Schleswig Holstein

Re: NFS Laufwerke verhindern systemd Start und wie einbinden

Beitrag von Celica » 05.01.2017 19:53:50

Hallo,

ich bin durch meinen anderen Beitrag darauf aufmerksam gemacht worden, dass in meinem letzten Eintrag der "fstab" für die NFS-Laufwerke die Option/Argument "nfs" fehlt.
Zuerst habe ich gedacht das es ein Kopierfehler von mir gewesen ist, aber jetzt habe ich entdeckt, dass in meiner original "fstab" aus der Wheezy Installation dieser Fehler bereits schon existent gewesen ist.
Habe ich nur nie bemerkt, da ich das NFS-Laufwerk so nicht benutzt habe. Ist für Kodi.
Warum das unter Wheezy keinen Stress gab, ... ?

Ich würde jetzt versuchen den Rest auch noch zu konfigurieren um zu schaun ob es grundsätzlich so funktioniert mit den Laufwerken in der "fstab".

Ich habe aber bei dem Thema gelernt, dass die bessere Variante ist mit Mount-Units zu arbeiten.
Das würde ich dann als nächstes angehen.

Kann das aber grundsätzlich sein das trotz Systemd mit den Einträgen in der "fstab" das funktioniert ?

NACHTRAG:
Ich habe jetzt den Rechner vollständig konfiguriert für meine NFS-Laufwerke (autofs, auto.master, ...) und alles funktioniert supper. Besser wie vorher und der Rechner bleibt nicht hängen.
Eigentlich gibt es ja keinen Grund etwas zu ändern wenn alles super läuft, aber ich habe ein wenig Zweifel.
Wie kann das jetzt angehen ?
Warum läuft alles reibungslos (nicht das ich unzufrieden wäre:-)) ?
Ist das Zufall bzw. habe ich Glück ?
Ich habe ja verstanden das es sinnvoller wäre Mount-Units zu nutzen, aber ...

Was mich stutzig macht: Ich habe das Paket autofs(5) installiert und kein Ordner "autofs" war vorhanden.
Ist das Absicht ?
Ich habe einfach meinen alten Ordner mit Inhalt in die "/etc" kopiert und das funktioniert einwandfrei.

Was ist da falsch ?

Hätte ich das Problem nicht gehabt, dann wüste ich jetzt nicht, dass der Weg den ich da gerade gehe vielleicht der falsche ist. Hat auch etwas für sich :-) !
Danke !

Ciao

Celica

Antworten