Autofs não monta compartilhamentos na inicialização

Autofs não monta compartilhamentos na inicialização

Estou usando o OpenSuSE 12.1 com casas compartilhadas através de LDAP e NFS. ldap armazena os mapas. Meu problema é que não consigo montar os compartilhamentos na inicialização. Só funciona ao reiniciar o serviço autofs manualmente. Em um CentOS 6.3 não existe esse problema.

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

Meu /etc/openldap/ldap.conf:

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

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

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

Estou esquecendo de algo?

Responder1

Esta questão foi respondida pela comunidade e é bem antiga.
Muitas coisas aconteceram ao longo dos anos, Michael mencionou uma solução, usando o fstab. E o problema original provavelmente foi a devida ordem de execução no momento da inicialização. A rede pode não estar pronta, algum serviço pode não ter iniciado, etc.

Há também outra solução se você estiver executando o systemd (o que duvido que o OP tenha feito na época, mas se você chegar aqui por meio de uma pesquisa e o fizer), aqui está outra solução usando o recurso de montagem automática do 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

A única desvantagem disso é que você precisa ter cuidado com o nome do script de serviço. É melhor descritoaqui, mas uma versão tl; dr é que o arquivo de serviço deve ser nomeado de acordo com o caminho que será montado. E todas as barras nesse caminho devem ser substituídas pelo -nome do arquivo de serviço para que a montagem automática funcione. O exemplo acima de /mnt/remote_share would be a service-file calledmnt-remote_share.mount`

Há um monte deopçõespara ir com isso.
Se o systemd não é sua praia, também há muitas coisas novas noautofslado que faz um bom trabalho(tudo pode ser um pouco complicado para o meu gosto).

Se você quiser usar uma entrada fstab, mas utilizar o recurso de auto-hook do systemd, aqui está a aparência do seu 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 nada disso funcionar, há também a solução 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

Deixarei alguns links para uma boa documentação sobre o assunto (lembre-se, é um sistema operacional diferente. Mas o Wiki deles é, no momento em que escrevo este, um dos melhores do mercado):

Responder2

Por que não apenas adicionar os locais de montagem ao seu fstab.

Você também pode usar sshfs. Configure o ssh para usar autenticação de chave pública.


No servidor:
sudo apt-get install openssh-server
Altere ou adicione ServerKeyBits 2048 a /etc/ssh/sshd_config


No cliente
ssh-keygen -t rsa -b 2048
ssh-copy-id do computador cliente para o servidor. Use sua senha para seu usuário na máquina do servidor para fazer login.
Altere /etc/ssh/sshd_config: PasswordAuthentication no, UsePAM no
Eu uso outras configurações também para proteger o ssh, mas para este exemplo não é necessário.
Se você estiver fora de sua LAN, configure um atualizador dyndns ou noip e configure o encaminhamento de porta em seu roteador para que a porta 23 ou qualquer porta que você decida usar para ofuscar o serviço seja encaminhada para o endereço IP do servidor, se precisar de ajuda com isso, basta perguntar.


Então:
sshfs USER@SERVERADDRESS:/mnt/DRIVELOCATION /PATH/TO/MOUNT/DRIVE/TO
Eu configurei este comando como um iniciador no menu principal para algumas unidades e para outras no fstab.
Eu sei que funciona porque eu uso essa mesma configuração mais o endurecimento todos os dias.
Dessa forma, você pode se livrar da necessidade do autofs e da sobrecarga necessária.

informação relacionada