Autofs non monta condivisioni all'avvio


11

Sto usando OpenSuSE 12.1 con case condivise tramite LDAP e NFS. ldap memorizza le mappe. Il mio problema è che non posso avere le condivisioni montate all'avvio. Funziona solo quando si riavvia il servizio autofs manualmente. Su un CentOS 6.3 non esiste questo problema.

Il mio /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

Il mio /etc/openldap/ldap.conf:

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

Il mio /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

Il mio /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"

Mi sto perdendo qualcosa?


2
Qualche possibilità che il tuo servizio LDAP non sia disponibile con le mappe in tempo per l'interrogazione del file system di avvio? Ciò spiegherebbe il successo successivo con il riavvio una volta che il sistema è attivo e stabile.
zedman9991,

Quali sono i livelli iniziali (all'interno del tuo runlevel target) autofse il tuo client ldap?
Nils,

@ zedman9991 Questo problema si verifica solo con la mia versione di opensuse (12.1) Su Centos 6.3 e OpenSuse 11.2 funziona correttamente.
igor012,

@Nils Autofs inizia sui runlevel 3 e 5.
igor012

C'è una differenza nel modo in cui autofs monta le mappe all'avvio su opensuse 11.2 le monta all'accesso ma su opensuse 12.1 le monta tutte ma senza accesso.
igor012,

Risposte:


1

Questa domanda è stata respinta dalla community ed è piuttosto vecchia.
Nel corso degli anni sono successe molte cose, Michael ha menzionato una soluzione, usando fstab. E molto probabilmente il problema originale era dovuto all'ordine di esecuzione al momento dell'avvio. La rete potrebbe non essere pronta, alcuni servizi potrebbero non essere stati avviati ecc.

C'è anche un'altra soluzione se stai eseguendo systemd (che dubito che OP abbia fatto in quel momento, ma se finisci qui attraverso una ricerca e lo fai) ecco un'altra soluzione che utilizza la funzione di montaggio automatico di systemd.

[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

L'unico inconveniente di questo è che devi stare attento a come chiami lo script di servizio. È meglio descritto qui , ma una versione tl; dr è che il file di servizio deve essere chiamato dopo il percorso che sta per montare. E tutte le barre dirette in detto percorso devono essere sostituite con -il nome del file di servizio affinché il montaggio automatico funzioni. L'esempio sopra di /mnt/remote_share would be a service-file calledmnt-remote_share.mount`

C'è un sacco di opzioni per andare con questo.
Se systemd non fa per te, ci sono anche molte cose nuove sul lato autofs che fanno un buon lavoro (tutto sia un po 'complicato per i miei gusti) .

Se invece vuoi usare una voce fstab ma utilizzi la funzione auto-hook di systemd, ecco come potrebbe apparire la tua fstab:

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

E se nessuno di questi funziona, c'è anche la soluzione pure-fstab:

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

Lascerò alcuni link a una buona documentazione sull'argomento (a mente, è un sistema operativo diverso. Ma il loro Wiki è al momento di scrivere questo uno dei migliori sul mercato):


0

Perché non aggiungere semplicemente le posizioni di montaggio al tuo fstab.

Puoi anche usare sshfs. Configurare ssh per usare l'autenticazione con chiave pubblica.


Sul server:
sudo apt-get install openssh-server
Passare a o aggiungere ServerKeyBits 2048 a / etc / ssh / sshd_config


Sul client
ssh-keygen -t rsa -b 2048
ssh-copy-id dal computer client al server. Usa la tua password per il tuo utente sulla macchina server per accedere
Cambia / etc / ssh / sshd_config: PasswordAuthentication no, UsePAM no
Uso anche altre impostazioni per rafforzare SSH ma per questo esempio non è necessario.
Se al di fuori della tua lan hai configurato un dyndns o un noip updater e hai impostato il portforwarding sul tuo router in modo che la porta 23 o qualunque porta tu decida di usare per offuscare il servizio venga inoltrata all'indirizzo IP del server, se hai bisogno di aiuto con quello basta chiedere.


Quindi:
sshfs USER @ SERVERADDRESS: / mnt / DRIVELOCATION / PATH / TO / MOUNT / DRIVE / TO
Ho impostato questo comando come launcher nel menu principale per alcune unità e per altre in fstab.
So che funziona perché uso questa stessa configurazione più l'indurimento di tutti i giorni.
In questo modo è possibile eliminare la necessità di autofs e il relativo overhead richiesto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.