AutoFS не работает должным образом с общими ресурсами CIFS

AutoFS не работает должным образом с общими ресурсами CIFS

У меня такая установка

Клиент:Centos 7.6.1810 обновлен

Сервер:Windows 7 профессиональная

Конфигурация 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

если я вручную монтирую этот ресурс, то все нормально

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

Если я попробую использовать autofs, у меня будет неправильная запись монтирования.

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

Затем я попытался заранее создать точку монтирования cdm8240в папке /srv/xray/...

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

...перезагрузите autofs и получите доступ к общему ресурсу, и все заработает

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

Но вот что странно: если я перезапущу autofs, он отмонтирует общий ресурс и удалит папку cdm8240!

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

И даже изменение прав доступа к /srv/xray/, оставив его с 755 вместо 777, которые были раньше! И я возвращаюсь к первой ситуации, и это неправильная запись монтирования.

Обновление 1

Попробовал в режиме «прямой» и теперь все выглядит нормально.

# 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

так это ошибка в косвенном режиме или что-то «нормальное»?

Обновление 2 Как объяснялось ниже, все было хорошо. Я добавил --ghostопцию в свой файл auto.master следующим образом

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

теперь ресурс отображается и все работает нормально.

решение1

Это выглядит совершенно нормально.

Автомонтирование берет на себя каталог верхнего уровня /srv/xrayдля всех монтирований, определенных в соответствующем файле или программе /etc/auto.xray. (В вашем случае это обычный файл.)

Файловые системы монтируются только по требованию, поэтому, когда вы заглянули внутрь, /srv/xrayвы изначально ничего не увидели. Но когда вы запустили ls -ld /srv/xray/cdm8240/автомонтирование, оно увидело ссылку на отображенный каталог и смонтировало для вас cmd8240соответствующую файловую систему ./srv/xray/cdm8240

В какой-то момент в будущем, как только вы прекратите доступ к файловой системе, смонтированной с помощью /srv/xray/cdm8240автомонтирования, она будет размонтирована, и /srv/xrayона снова будет казаться пустой.


Лично я считаю полезным запустить автомонтирование под ним /var/autofs, чтобы для файла сопоставления auto.miscу меня был файл /var/autofs/misc, а для записи remoteв этом auto.miscфайле у меня был файл /var/autofs/misc/remote.

Затем я создаю каталог верхнего уровня /autofsи символические ссылки на каталоги из /var/autofs/misc/. Таким образом, они видны мне, даже если не смонтированы, и мне /var/autofs/miscбольше никогда не придется беспокоиться о дереве каталогов.

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

Связанный контент