Automounting

Autofs 不會掛載 Automount -f -v 會掛載的掛載

  • September 12, 2017

我今天遇到了一個問題,這讓我的理智變得非常困難,所以我發布它是為了讓一些追隨我愚蠢腳步的可憐的混蛋可能會找到安慰。

在 RHEL7 上執行 Autofs。基本 CIF 安裝。

auto.direct:

/data -fstype=cifs,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds ://10.10.10.10/Data

啟動autofs,可以看到/data目錄,但是無法訪問。

執行 automount -m 我可以看到掛載,但它不起作用:

autofs dump map information
===========================

Mount point: /-

source(s):

 instance type(s): files
 map: auto.direct

 /data | -fstype=cifs,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds ://10.10.10.10/Data

好的。第一步,直接執行automount -f -v,看看是什麼問題。

Starting automounter version 5.0.7-56.el7, master map auto.master
using kernel protocol version 5.02
mounted direct on /data with timeout 300, freq 75 seconds
attempting to mount entry /data
mounted /data

好的。問題是沒有問題。你在逗我嗎?!

在 autofs.conf 中設置 logging=debug,重啟服務,我得到以下資訊:

systemd[1]: Started Automounts filesystems on demand.
automount[4151]: handle_packet: type = 5
automount[4151]: handle_packet_missing_direct: token 2166, name /data, request pid 17539
automount[4151]: attempting to mount entry /data
automount[4151]: lookup_mount: lookup(file): looking up /data
automount[4151]: lookup_mount: lookup(file): /data -> -fstype=cifs,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds ://10.0.10.10/Data
automount[4151]: parse_mount: parse(sun): expanded entry: -fstype=cifs,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds ://10.10.10.10/Data
automount[4151]: parse_mount: parse(sun): gathered options: nfsvers=3,fstype=cifs,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds
automount[4151]: parse_mount: parse(sun): dequote("://10.10.10.10/Data") -> ://10.10.10.10/Data
automount[4151]: parse_mount: parse(sun): core of entry: options=nfsvers=3,fstype=cifs,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds, loc=://10.10.10.10/Data
automount[4151]: sun_mount: parse(sun): mounting root /data, mountpoint /data, what //10.10.10.10/Data, fstype cifs, options nfsvers=3,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds
automount[4151]: do_mount: //10.10.10.10/Data /data type cifs options nfsvers=3,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds using module generic
automount[4151]: mount_mount: mount(generic): calling mkdir_path /data
automount[4151]: mount_mount: mount(generic): calling mount -t cifs -s -o nfsvers=3,rw,noperm,sec=ntlm,soft,credentials=/etc/data_mnt.creds //10.10.10.10/Data /data
automount[4151]: spawn_mount: mtab link detected, passing -n to mount
automount[4151]: >> mount error(22): Invalid argument
automount[4151]: >> Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

以上帝的名義,nfsvers=3 是從哪裡來的?

因此,這可能已經在我們的環境中被破壞了大約 10 年,但是我們不使用很多 CIF 共享,並且如果掛載字元串明顯是垃圾(例如嘗試設置nfs 版本安裝在 cif 上),所以我很幸運自己找到了這個。

如果您在 automount 和 autofs 的行為之間存在脫節,則答案幾乎肯定在 autofs 的服務配置文件 (/etc/sysconfig/autofs) 中,我在其中發現了以下內容:

OPTIONS="-O nfsvers=3"

這顯然是十年前插入的,以強制與我們在 5 年前擺脫的 NAS 兼容。

引用自:https://unix.stackexchange.com/questions/391863