AutoFS não funciona conforme esperado com compartilhamentos CIFS

AutoFS não funciona conforme esperado com compartilhamentos CIFS

eu tenho essa configuração

Cliente:Centos 7.6.1810 atualizado

Servidor:Windows 7 profissional

Configuração AutoFS

# tail -1 /etc/auto.master
/srv/xray   /etc/auto.xray

# cat /etc/auto.xray
cdm8240  -fstype=cifs,ro,vers=2.0,credentials=/etc/auto.smb.cdm8-240.credentials  ://my.server/share/

# cat /etc/auto.smb.cdm8-240.credentials
username=mylogin
password=passpass123

se eu montar esse compartilhamento manualmente, está tudo bem

# mount.cifs -o ro,vers=2.0,credentials=/etc/auto.smb.cdm8-240.credentials //my.server/share/ /srv/xray/

# ls -l /srv/xray/ | wc -l
34
# umount /srv/xray/

Se eu tentar com o autofs, tenho essa entrada de montagem errada.

/etc/auto.xray on /srv/xray type autofs (rw,relatime,fd=17,pgrp=71348,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=404555)

Então tentei pré-criar o ponto de montagem cdm8240na pasta /srv/xray/...

# ls -ld /srv/xray/cdm8240/
drwxrwxrwx 2 root root 6 Jun  6 08:17 /srv/xray/cdm8240/

...recarregue o autofs e acesse o compartilhamento e ele funciona

# systemctl restart autofs
# ls -l /srv/xray/cdm8240/ | wc -l
34

Mas agora aqui está a parte estranha, se eu reiniciar o autofs, ele desmonta o compartilhamento e remove a pasta cdm8240!

# systemctl restart autofs
# find /srv/xray/ -ls
406293    0 drwxr-xr-x   2 root     root            0 Jun  6 08:20 /srv/xray/

E mesmo alterando as permissões em /srv/xray/, deixando-o com 755 em vez dos 777 que tinha antes! E volto à primeira situação e a entrada de montagem está errada.

Atualização 1

Tentei com o modo "direto" e parece bom agora

# tail -1 /etc/auto.master
/-   /etc/auto.xray

# cat /etc/auto.xray 
/test/cdm8240  -fstype=cifs,ro,credentials=/etc/.cdm8240cred,vers=2.1,file_mode=0775,dir_mode=0775,users  ://my.server/share

então, é bug no modo indireto ou algo "normal"?

Atualização 2 Conforme explicado abaixo, estava tudo bem. Eu adicionei --ghosta opção no meu arquivo auto.master da seguinte maneira

/srv/autofs/xray   /etc/auto.xray --ghost

agora o compartilhamento é exibido e tudo está funcionando bem.

Responder1

Isso parece perfeitamente normal.

O automounter assume o diretório de nível superior, /srv/xraypara todas as montagens definidas no arquivo ou programa correspondente, /etc/auto.xray. (No seu caso, é um arquivo normal.)

Os sistemas de arquivos são montados apenas sob demanda; portanto, quando você olhasse para dentro, /srv/xrayinicialmente não veria nada. Mas quando você executou ls -ld /srv/xray/cdm8240/o automounter viu a referência ao diretório mapeado cmd8240e montou o sistema de arquivos correspondente /srv/xray/cdm8240para você.

Em algum momento no futuro, quando você parar de acessar o sistema de arquivos montado no /srv/xray/cdm8240automounter, ele será desmontado e /srv/xrayparecerá vazio mais uma vez.


O que eu pessoalmente acho útil é executar o montador automático abaixo /var/autofs, para que auto.misceu tenha um arquivo de mapeamento /var/autofs/misce uma entrada remotenesse auto.miscarquivo /var/autofs/misc/remote.

Em seguida, crio um diretório de nível superior /autofse diretórios de links simbólicos de /var/autofs/misc/. Dessa forma, eles ficam visíveis para mim mesmo quando não estão montados, e nunca mais preciso me preocupar com a /var/autofs/miscárvore de diretórios.

mkdir -p -m755 /autofs
cd /autofs
ln -s ../var/autofs/misc/remote    # Create link to automounted 'remote'

informação relacionada