O Autofs não monta compartilhamentos na inicialização

11

Estou usando o OpenSuSE 12.1 com residências compartilhadas por LDAP e NFS. O LDAP armazena os mapas. Meu problema é que não posso ter os compartilhamentos montados na inicialização. Está funcionando apenas 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?

igor012
fonte
2
Alguma chance de seu serviço LDAP não estar disponível com os mapas a tempo para a consulta de inicialização do sistema de arquivos? Isso explicaria o sucesso posterior com a reinicialização quando o sistema estiver instalado e estável.
Zedman9991
Quais são os níveis iniciais (dentro do seu nível de execução de destino) autofse seu ldap-client?
Nils
@ zedman9991 Este problema ocorre apenas com a minha versão do opensuse (12.1). No Centos 6.3 e no OpenSuse 11.2, ele funciona bem.
Igor012 16/07/12
@Nils Autofs começa em níveis de execução 3 e 5.
igor012
Há uma diferença na maneira como o autofs monta mapas na inicialização no opensuse 11.2, monta-os no acesso, mas no opensuse 12.1 monta-os todos, mas sem acesso.
Igor012 16/07/12

Respostas:

1

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

Também há outra solução se você estiver executando o systemd (o que duvido que o OP tenha feito na época, mas se você terminar aqui através 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ê deve ter cuidado com o nome do script de serviço. É melhor descrito aqui , mas uma versão tl; dr é que o arquivo de serviço deve ser nomeado após o caminho que será montado. E todas as barras no referido 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á várias opções para isso.
Se o systemd não é o que você gosta , também há muitas coisas novas no lado do autofs , que fazem um bom trabalho (tudo um pouco complicado para o meu gosto) .

Se você deseja usar uma entrada fstab, mas utilizar o recurso de gancho automático do systemd, eis 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 nenhum desses funcionar, também há 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

Vou deixar alguns links para uma boa documentação sobre o assunto (em mente, é um sistema operacional diferente. Mas o Wiki deles é o de escrever este um dos melhores do mercado):

Torxed
fonte
0

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

Você também pode usar sshfs. Configure o ssh para usar a 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 o usuário na máquina do servidor para
efetuar o logon Altere / etc / ssh / sshd_config: PasswordAuthentication no, UsePAM no
Eu também uso outras configurações para proteger o ssh, mas neste exemplo não é necessário.
Se a sua LAN externa configurar um dyndns ou noip updater, e configurar o encaminhamento de porta em seu roteador, a porta 23 ou qualquer outra porta que você decidir usar para ofuscar o serviço será encaminhada para o endereço IP do servidor, se precisar de ajuda, basta perguntar.


Então:
sshfs USER @ SERVERADDRESS: / mnt / DRIVELOCATION / PATH / TO / MOUNT / DRIVE / TO Defino
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 diário.
Dessa forma, você pode se livrar da necessidade de autofs e da sobrecarga necessária.

Michael Prokopec
fonte