Autofs stellt beim Start keine Freigaben bereit

11

Ich verwende OpenSuSE 12.1 mit Heimen, die über LDAP und NFS gemeinsam genutzt werden. ldap speichert die Karten. Mein Problem ist, dass ich die Freigaben beim Booten nicht bereitstellen kann. Dies funktioniert nur, wenn der Autofs-Dienst manuell neu gestartet wird. Unter CentOS 6.3 gibt es kein solches Problem.

Mein /etc/nsswitch.conf:

passwd: files sss
group:  files sss

hosts:  files mdns4_minimal [NOTFOUND=return] dns
networks:       files dns

services:       files
protocols:      files
rpc:            files
ethers:         files
netmasks:       files
netgroup:       files nis
publickey:      files

bootparams:     files
automount:      files ldap
aliases:        files

Mein /etc/openldap/ldap.conf:

SIZELIMIT       20
TIMELIMIT       15
#DEREF          never
TLS_REQCERT     demand
uri     ldap://10.0.0.1
base    dc=domain,dc=com

Mein /etc/sssd/sssd.conf:

[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
domains = domain.com

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[domain/domain.com]
 id_provider = ldap
 auth_provider = ldap
 min_id = 500
 max_id = 30000
 ldap_schema = rfc2307
 ldap_uri =  ldaps://ldap-ms.local,  ldaps://ldap-sl.local, ldap://ldap
 ldap_search_base = dc=domain,dc=com
 ldap_user_search_base =  ou=People,dc=domain,dc=com
 ldap_group_search_base = ou=Group,dc=domain,dc=com
 ldap_tls_cacert = /etc/pki/CA/certs/domain-cacert.pem
 ldap_tls_reqcert = hard
 cache_credentials = true
 enumerate = True

Mein /etc/sysconfig/autofs:

MASTER_MAP_NAME="auto.master"
TIMEOUT=300
BROWSE_MODE="yes"
MAP_OBJECT_CLASS="automountMap"
ENTRY_OBJECT_CLASS="automount"
MAP_ATTRIBUTE="ou"
ENTRY_ATTRIBUTE="cn"
VALUE_ATTRIBUTE="automountInformation"
USE_MISC_DEVICE="yes"

Vermisse ich etwas

igor012
quelle
2
Gibt es eine Möglichkeit, dass Ihr LDAP-Dienst mit den Karten nicht rechtzeitig für die Abfrage des Startdateisystems verfügbar ist? Dies würde den späteren Erfolg beim Neustart erklären, sobald das System betriebsbereit und stabil ist.
Zedman9991
Wofür sind die autofsStartlevel (innerhalb Ihres Ziel-Runlevels) und Ihr LDAP-Client?
Nils
@ zedman9991 Dieses Problem tritt nur bei meiner Version von opensuse (12.1) auf. Unter Centos 6.3 und OpenSuse 11.2 funktioniert es einwandfrei.
igor012
@ Nils Autofs startet auf Runlevel 3 und 5.
igor012
Es gibt einen Unterschied in der Art und Weise, wie Autofs Maps beim Booten unter opensuse 11.2 mounten. Sie werden beim Zugriff gemountet, aber bei opensuse 12.1 werden sie alle, aber ohne Zugriff, gemountet.
igor012

Antworten:

1

Diese Frage wurde von der Community gestellt und ist ziemlich alt.
Im Laufe der Jahre ist viel passiert, Michael erwähnte eine Lösung mit fstab. Und das ursprüngliche Problem war höchstwahrscheinlich die Ausführungsreihenfolge beim Booten. Das Netzwerk war möglicherweise nicht bereit, ein Dienst wurde möglicherweise nicht gestartet usw.

Es gibt auch eine andere Lösung, wenn Sie systemd ausführen (was ich zu der Zeit bezweifle, dass OP dies getan hat, aber wenn Sie hier durch eine Suche landen und dies auch tun). Hier ist eine andere Lösung, die die Automount-Funktion von systemd verwendet.

[Unit]
Description=Network mapping
After=network.target

[Mount]
What=10.0.0.1:/share/stuff
Where=/mnt/remote_share
Type=nfs
Options=_netdev,auto

[Install]
WantedBy=multi-user.target

Der einzige Nachteil dabei ist, dass Sie vorsichtig sein müssen, wie Sie das Service-Skript nennen. Es wird hier am besten beschrieben , aber eine tl; dr-Version besagt, dass die Servicedatei nach dem Pfad benannt werden muss, den sie bereitstellen soll. Und alle Schrägstriche in diesem Pfad müssen durch -den Namen der Servicedatei ersetzt werden, damit die automatische Bereitstellung funktioniert. Das obige Beispiel für /mnt/remote_share would be a service-file calledmnt-remote_share.mount`

Dazu gibt es eine Reihe von Optionen .
Wenn systemd nicht dein Ding ist, gibt es auch viele neue Sachen auf der Autof- Seite, die einen ziemlich guten Job machen (alles ist ein bisschen kompliziert für meinen Geschmack) .

Wenn Sie stattdessen einen fstab-Eintrag verwenden möchten, aber die Auto-Hook-Funktion von systemd verwenden möchten, könnte Ihre fstab folgendermaßen aussehen:

10.0.0.1:/share/stuff   /mnt/remote_share  nfs  noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0

Und wenn beides nicht funktioniert, gibt es auch die reine fstab-Lösung:

10.0.0.1:/share/stuff   /mnt/remote_share   nfs   defaults,soft,rsize=32768,wsize=32768,timeo=900,retrans=5,_netdev 0 0

Ich werde ein paar Links zu einer guten Dokumentation zu diesem Thema einfügen (ohne Bedenken, es ist ein anderes Betriebssystem. Aber ihr Wiki ist zum Zeitpunkt des Schreibens dieses eines der besten auf dem Markt):

Torxed
quelle
0

Warum fügen Sie nicht einfach die Mount-Positionen zu Ihrer Tabelle hinzu?

Sie können auch sshfs verwenden. Konfigurieren Sie ssh für die Verwendung der Authentifizierung mit öffentlichem Schlüssel.


Auf dem Server:
sudo apt-get install openssh-server
Ändern Sie ServerKeyBits 2048 oder fügen Sie es zu / etc / ssh / sshd_config hinzu


Auf dem Client
ssh-keygen -t rsa -b 2048
ssh-copy-id vom Client-Computer zum Server. Verwenden Sie Ihr Kennwort für Ihren Benutzer auf dem Server, um sich
anzumelden. Ändern Sie / etc / ssh / sshd_config: PasswordAuthentication no, UsePAM no
Ich verwende auch andere Einstellungen, um ssh zu härten, aber für dieses Beispiel wird es nicht benötigt.
Wenn Sie außerhalb Ihres LANs einen Dyndns- oder Noip-Updater einrichten und die Portweiterleitung auf Ihrem Router einrichten, wird Port 23 oder der Port, den Sie zur Verschleierung des Dienstes verwenden möchten, an die IP-Adresse des Servers weitergeleitet. Wenn Sie Hilfe benötigen, fragen Sie einfach.


Dann:
sshfs USER @ SERVERADDRESS: / mnt / DRIVELOCATION / PATH / TO / MOUNT / DRIVE / TO
Ich habe diesen Befehl als Startprogramm im Hauptmenü für einige Laufwerke und für andere in der fstab festgelegt.
Ich weiß, dass es funktioniert, weil ich das gleiche Setup und das tägliche Härten verwende.
Auf diese Weise können Sie die Notwendigkeit von Autofs und den erforderlichen Overhead beseitigen.

Michael Prokopec
quelle