Autofs no monta recursos compartidos en el inicio


11

Estoy usando OpenSuSE 12.1 con hogares compartidos a través de LDAP y NFS. ldap almacena los mapas. Mi problema es que no puedo tener los recursos compartidos montados en el arranque. Solo funciona cuando se reinicia el servicio de autofs manualmente. En un CentOS 6.3 no existe tal problema.

Mi /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

Mi /etc/openldap/ldap.conf:

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

Mi /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

Mi /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"

¿Me estoy perdiendo de algo?


2
¿Hay alguna posibilidad de que su servicio LDAP no esté disponible con los mapas a tiempo para la consulta del sistema de archivos de arranque? Eso explicaría el éxito posterior con el reinicio una vez que el sistema esté activo y estable.
zedman9991

¿Para qué son los niveles de inicio (dentro de su nivel de ejecución de destino) autofsy su cliente ldap?
Nils

@ zedman9991 Este problema ocurre solo con mi versión de opensuse (12.1) En Centos 6.3 y OpenSuse 11.2 funciona bien.
igor012

@Nils Autofs comienza en los niveles de ejecución 3 y 5.
igor012

Hay una diferencia en la forma en que autofs monta mapas en el arranque en opensuse 11.2, los monta en el acceso, pero en opensuse 12.1 los monta a todos, pero sin acceso.
igor012

Respuestas:


1

Esta pregunta fue rechazada por la comunidad, y es bastante antigua.
Han pasado muchas cosas a lo largo de los años, Michael mencionó una solución, usar fstab. Y lo más probable es que el problema original fuera el debido orden de ejecución en el momento del arranque. La red podría no haber estado lista, algunos servicios podrían no haberse iniciado, etc.

También hay otra solución si está ejecutando systemd (que dudo que OP lo haya hecho en ese momento, pero si termina aquí mediante una búsqueda, y lo hace) aquí hay otra solución que utiliza la función de montaje automático de 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

El único inconveniente de esto es que debe tener cuidado con el nombre del script de servicio. Se describe mejor aquí , pero una versión tl; dr es que el archivo de servicio debe nombrarse después de la ruta que se va a montar. Y todas las barras diagonales en dicha ruta deben reemplazarse -en el nombre del archivo de servicio para que funcione el montaje automático. El ejemplo anterior de /mnt/remote_share would be a service-file calledmnt-remote_share.mount`

Hay un montón de opciones para ir con esto.
Si systemd no es lo tuyo, también hay muchas cosas nuevas en el lado de autofs que hacen un trabajo bastante bueno (todo sea un poco complicado para mi gusto) .

Si desea utilizar una entrada fstab en su lugar, pero utiliza la función de autoenganche de systemd, así es como podría verse su 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

Y si ninguno de esos funciona, también existe la solución 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

Dejaré caer algunos enlaces a una buena documentación sobre el tema (teniendo en cuenta que es un sistema operativo diferente. Pero su Wiki es el de escribir este uno de los mejores en el mercado):


0

¿Por qué no solo agrega las ubicaciones de montaje a tu fstab?

También puedes usar sshfs. Configure ssh para usar la autenticación de clave pública.


En el servidor:
sudo apt-get install openssh-server
Cambie o agregue ServerKeyBits 2048 a / etc / ssh / sshd_config


En el Cliente
ssh-keygen -t rsa -b 2048
ssh-copy-id de la computadora del cliente al servidor. Use su contraseña para que su usuario en la máquina del servidor inicie sesión.
Cambie / etc / ssh / sshd_config: Autenticación de contraseña no, UsePAM no.
También uso otras configuraciones para fortalecer ssh, pero para este ejemplo no es necesario.
Si está fuera de su LAN configura un dyndns o noip Updater, y configura el reenvío de puertos en su enrutador para que el puerto 23 o cualquier puerto que decida usar para ofuscar el servicio se reenvíe a la dirección IP del servidor, si necesita ayuda con eso, solo pregunte.


Luego:
sshfs USER @ SERVERADDRESS: / mnt / DRIVELOCATION / PATH / TO / MOUNT / DRIVE / TO
Configuré este comando como un lanzador en el menú principal para algunas unidades y para otras en el fstab.
Sé que funciona porque uso esta misma configuración más el endurecimiento todos los días.
De esta manera, puede deshacerse de la necesidad de autofs y su sobrecarga requerida.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.