标签: autofs

automount nfs:不可靠服务器的 autofs 超时设置 - 如何避免挂断?

我正在为我们的平板共享运行一个小型服务器。它主要是带有一些附加服务的文件服务器。客户端是 Linux 机器(主要是 Ubuntu,但也有其他一些发行版)和介于两者之间的一些 Mac(-Book)(但它们对于问题并不重要)。服务器运行的是Ubuntu 11.10 (Oneiric Ocelot)“服务器版”,我从中进行设置和测试的系统运行的是 11.10“桌面版”。我们使用 Samba(我们更熟悉)运行我们的共享很长一段时间,然后迁移到NFS(因为我们在 LAN 中没有任何 Windows 用户并想尝试一下),到目前为止一切正常.

现在我想使用autofs设置自动挂载以平滑一切(到目前为止,每个人都在需要时手动挂载共享)。自动安装似乎也有效。问题是我们的“服务器”不是 24/7 全天候运行以节省能源(如果有人需要服务器上的东西,他/她会打开它然后关闭它,所以它每天只运行几个小时)。但是由于 autofs 设置客户端挂断时服务器没有运行时经常退出。

  • 即使服务器没有运行,我也可以很好地启动所有客户端。

  • 但是,当我想显示一个目录(在终端或 nautilus 中)时,该目录包含指向共享的符号链接,/nfs而服务器未运行时,它会挂起至少两分钟(因为 autofs 无法连接到服务器但保持尝试,我假设)。

    • 有没有办法避免这种情况?这样挂载会延迟到目录更改或访问该目录的内容?不是在“查看”下共享的链接时/nfs?我认为不是,但也许有可能不尝试访问它这么长时间?只需给我一个空目录或“无法找到/连接到该目录”或类似的内容。
  • 当服务器运行时,一切正常。

  • 但是当服务器关闭时,卸载共享之前,工具(如dfll)挂起(假设是因为他们认为共享仍然存在但服务器将不再响应)。

    • 当连接丢失时,有没有办法自动卸载共享?
  • 此外,当服务器关闭并且它们仍然安装了共享时,客户端也不会关闭或重新启动。它们在“杀死剩余的进程”中挂起(看起来是无限的)并且似乎什么也没发生。

我认为这一切都归结为安装和卸载的简洁超时值。并且可能在与服务器的连接丢失时删除所有共享。

所以我的问题是:如何处理这个?作为奖励:是否有一种/nfs无需挂载真实共享即可在内部链接的好方法(autofs 选项或可能使用/nfs在挂载发生或类似情况时被替换的伪 FS )?

我的设置

NFS设置是非常基本的,但我们很好,到目前为止(使用服务的NFSv4):

/etc/default/nfs-common

NEED_STATD=
STATDOPTS=
NEED_IDMAPD=YES
NEED_GSSD=
Run Code Online (Sandbox Code Playgroud)

/etc/idmapd.conf

[General]
Verbosity = 0
Pipefs-Directory = …
Run Code Online (Sandbox Code Playgroud)

file-server configuration automounting nfs autofs

18
推荐指数
3
解决办法
6万
查看次数

如何在 Linux 中查看自动挂载点?

我们在工作中使用 autofs,但我很难记住一些挂载点。使用 autofs,您只能查看特定机器上当前或最近安装的卷。我怎么能看到其余的?

autofs

14
推荐指数
2
解决办法
2万
查看次数

systemd:如何使用 /etc/fstab 自动挂载 USB 文件系统?

我希望我的 USB 文件系统在我连接设备时自动挂载。

如何使用systemdvia设置自动挂载/etc/fstab

automounting autofs systemd

14
推荐指数
1
解决办法
7755
查看次数

Linux:将 autofs 与 NFS 结合使用与仅使用 fstab 的区别

使用 auto.master 和让 autofs 自动挂载您的 NFS 挂载点与仅将信息放在 fstab 中有什么区别?Linux 红帽 5/6

nfs autofs fstab

13
推荐指数
2
解决办法
2万
查看次数

如何处理网络断开后由 autofs 引起的死机

我安装四个服务器(3通过cifs,经由1 sshfs)使用autofs

auto.master

/- /etc/auto.all --timeout=60 --ghost
Run Code Online (Sandbox Code Playgroud)

auto.all

/mnt \
  /server1        -fstype=cifs,rw,credentials=/etc/.smbcredentials.txt,uid=1000,file_mode=0775,dir_mode=0775,users ://server1/ \
  /server2/      -fstype=cifs,rw,credentials=/etc/.smbcredentials.txt,uid=1000,file_mode=0775,dir_mode=0775,users ://server2/ \
  /server3   -fstype=cifs,rw,credentials=/etc/.smbcredentials.txt,uid=1000,file_mode=0775,dir_mode=0775,users ://server3/ \
  /server4        -fstype=fuse,rw,allow_other,uid=1000,users,reconnect,cache=yes,kernel_cache,compression=no,large_read,Ciphers=arcfour :sshfs\#user@server\:/home
Run Code Online (Sandbox Code Playgroud)

``

当我进行干净启动时,一切都很好。我连接到我的网络(使用 VPN)并autofs安装所有内容。

问题

当网络断开时,例如当我休眠我的笔记本电脑或连接到不同的网络时,autofs会导致我的资源管理器(海豚)冻结,因为它试图无限加载远程共享。

它变得无响应,甚至不响应 SIGTERM 命令。有时候,我很幸运,并呼吁sudo service autofs stopsudo automount帮助解决问题。然而,它通常仍然保持冻结状态。有时,我的整个 Dock 甚至会因为这使所有应用程序无法选择而冻结。然后我必须完全重新启动..

我已经搜索了数周来寻找如何处理autofs这种情况的解决方案。在使用 之前autofs,我通过安装了所有东西,/etc/fstab但在每次网络中断后也需要手动重新安装。

我以为autofs会在这里帮助我,但它给我带来了更多的麻烦。

问题

  1. 我忽略了可以解决冻结问题的任何一点吗?
  2. 是否有一种完全不同的方法可能比 更适合我的情况autofs

PS:我在 Kubuntu 16.04

automounting autofs sshfs kubuntu cifs

12
推荐指数
1
解决办法
7618
查看次数

Autofs 不会在启动时挂载共享

我将 OpenSuSE 12.1 与通过 LDAP 和 NFS 共享的家一起使用。ldap 存储映射。我的问题是我无法在启动时安装共享。它仅在手动重新启动 autofs 服务时有效。在 CentOS 6.3 上没有这样的问题。

我的/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
Run Code Online (Sandbox Code Playgroud)

我的/etc/openldap/ldap.conf

SIZELIMIT       20
TIMELIMIT       15
#DEREF          never
TLS_REQCERT     demand
uri     ldap://10.0.0.1
base    dc=domain,dc=com
Run Code Online (Sandbox Code Playgroud)

我的/etc/sssd/sssd.conf

[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = …
Run Code Online (Sandbox Code Playgroud)

ldap opensuse nfs autofs

11
推荐指数
1
解决办法
3970
查看次数

autofs 挂载在非活动状态后不会断开连接

我在几个 Linux 服务器上安装了autofs,这些服务器连接到用户 /home 目录的中央 NFS 服务器。在登录时挂载目录时效果很好,但挂载似乎永远不会超时。我检查了 /etc/sysconfig/autofs 并且默认值确实设置为 300,所以这些应该在 5 分钟后超时。

重新启动autofs确实会卸载所有目录,所以我知道它是有能力的。

我尝试在目录上随机使用lsof,但任何时候都没有文件打开。

我还安装了一个我知道不是活动的随机目录,但这些目录永远不会自行卸载。其中一些盒子有 10 多个用户登录一次,并且坐骑永远不会下降。

我只是想找出一种更好的方法来找出原因。我在任何日志中都看不到任何具体内容。

任何建议表示赞赏。谢谢!

更新

我打开了autofs 的调试,但它似乎没有显示任何异常。这些日志是在 /home/user1 最初安装后 7 分钟和 6 分钟不活动后生成的。根据 5 分钟的默认设置,这应该已卸载。我从来没有看到通过日志表明甚至尝试卸载。

Jan 11 12:52:00 linux automount[26505]: st_expire: state 1 path /home
Jan 11 12:52:00 linux automount[26505]: expire_proc: exp_proc = 3055176592 path /home
Jan 11 12:52:00 linux automount[26505]: expire_proc_indirect: expire /home/user1
Jan 11 12:52:00 linux automount[26505]: expire_proc_indirect: expire /home/user2
Jan 11 12:52:00 linux automount[26505]: …
Run Code Online (Sandbox Code Playgroud)

rhel nfs mount autofs

11
推荐指数
1
解决办法
2万
查看次数

在 Debian 上自动挂载 U 盘

我在插入式计算机上运行 Debian Squeeze(因此只有 SSH,没有 GUI),我想要做的是获取它,以便在插入 USB 记忆棒时,它会自动安装。

我所做的是autofs从我收集的内容中安装它来处理自动安装,前提是它知道设备在/dev.

问题是 USB 记忆棒并不总是在相同的设备名称上。有时是/dev/sdc1,有时/dev/sdd1,等等。

我认为为了解决这个问题,我需要使用udev来确保 USB 记忆棒始终具有相同的名称。

我得到了以下信息udevadm

Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single …
Run Code Online (Sandbox Code Playgroud)

debian udev automounting autofs

10
推荐指数
2
解决办法
3万
查看次数

Linux 上完整自动挂载解决方案的 udev、udisks、autofs、通知设置所需的建议

继续在 linux 中自动挂载插入的设备,这让事情有点基础。运行 Gentoo,我使用 autofs-5.0.4-r5 在我的笔记本电脑上自动挂载本地和网络设备的组合。单独做 autofs 给了我一些抱怨:

  • 我必须为每个设备的挂载点预定义名称,但偶尔在重新启动我的 MMC 读卡器后,我的可启动 U 盘会切换位置
  • 我希望出现基于 LABEL 的自动挂载点,仅 autofs AFAIK 无法做到这一点

这就是 udev 和 udisks 当然能够做的事情。但:

  • 我不想在插入设备时自动挂载文件系统,给我一个名为 LABEL 的幽灵挂载点

实际的文件系统挂载应该只在第一次访问挂载点时发生,就像 autofs 重影一样。这应该会降低因意外拔出设备而弄脏文件系统的风险,同时仍然提供很好的可访问性。

最重要的是,我可以随时了解我的 DE 中发生了什么。

  • 是否有系统托盘应用程序能够指示所有自动安装的状态,即绿色 = 未安装任何内容,红色 = 已安装某些内容?
  • 是否有一种与分发无关的方式来提供文件系统(卸载)挂载操作通知,例如使用通知发送?Gentoo-specific 怎么样,这对我也有用。脚本 udev 对 NFS 和 CIFS 没有帮助,对吧?

这个组合应该是最终的自动挂载设置,还是我遗漏了什么?

networking gentoo udev automounting autofs

9
推荐指数
1
解决办法
2581
查看次数

带有 sshfs 的 autofs 不再工作

我刚刚从 Ubuntu 12.04 升级到 12.10。在此之前,我备份了运行良好的 autofs 配置。我将旧行附加/etc/auto.master到新行:

+dir:/etc/auto.master.d
+auto.master
/mnt /etc/auto.sshfs uid=1000,gid=1000,--timeout=30,--ghost,--verbose
Run Code Online (Sandbox Code Playgroud)

/etc/auto.sshfs看起来像这样:

mymount -fstype=fuse,rw,nodev,nonempty,noatime,allow_other,max_read=65536 :sshfs\#myuser@mydomain:/mnt/mymount
Run Code Online (Sandbox Code Playgroud)

我手动尝试了这个,Connetion reset by peer所以我添加了选项IdentityFile=/home/myuser/.ssh/id_rsa。现在,当我尝试访问/mnt(使用手动和自动文件)时会发生这种情况:

myuser@laptop /mnt % la
ls: cannot access mymount: No such file or directory
total 4
drwxr-xr-x  3 root root    0 Oct 19 10:34 ./
drwxr-xr-x 25 root root 4096 Oct 18 23:17 ../
d?????????  ? ?    ?       ?            ? mymount/
Run Code Online (Sandbox Code Playgroud)

我的相关条目/var/log/syslog是这样的:

Oct 19 00:17:56 laptop automount[1250]: attempting to …
Run Code Online (Sandbox Code Playgroud)

ubuntu fuse autofs sshfs

8
推荐指数
1
解决办法
4692
查看次数