Autofs在启动时不会挂载共享


11

我将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

我的/etc/openldap/ldap.conf

SIZELIMIT       20
TIMELIMIT       15
#DEREF          never
TLS_REQCERT     demand
uri     ldap://10.0.0.1
base    dc=domain,dc=com

我的/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

我的/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"

我想念什么吗?


2
您的LDAP服务无法及时用于引导文件系统查询吗?这将解释在系统启动并稳定后,重新启动之后的成功。
zedman9991 2012年

autofs和ldap客户端的启动级别是多少(在目标运行级别内)?
尼尔斯2012年

@ zedman9991仅在我的opensuse版本(12.1)上会出现此问题,在Centos 6.3和OpenSuse 11.2上可以正常工作。
igor012

@Nils Autofs的开始上运行级别3和5
igor012

autofs在openuse 11.2上引导时挂载映射的方式有所不同,它会在访问时将其挂载,而在opensuse 12.1上它会全部但不访问地将其挂载。
igor012

Answers:


1

这个问题受到社区的质疑,而且已经很老了。
多年以来,发生了很多事情,Michael提到了使用fstab的一种解决方案。最初的问题很可能是在启动时执行了应有的执行顺序。网络可能尚未准备好,某些服务可能尚未启动等。

如果您正在运行systemd,则还有另一种解决方案(我怀疑OP当时是这样做的,但是如果您最终通过搜索结束了,然后这样做了),这是使用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

这样做的唯一缺点是您必须谨慎使用服务脚本的名称。最好在这里进行描述,但是tl; dr-version是服务文件必须以要挂载的路径命名。并且必须使用-服务文件名替换该路径中的所有正斜杠,以便自动安装工作。上面的/mnt/remote_share would be a service-file calledmnt-remote_share.mount 示例

有很多选择
如果systemd不是您的事,则autofs方面还有很多新功能,它们做得很好(就我的口味而言,一切都有些复杂)

如果要改用fstab条目,但要利用systemd的自动挂钩功能,则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

如果这些都不起作用,那么还有纯fstab解决方案:

10.0.0.1:/share/stuff   /mnt/remote_share   nfs   defaults,soft,rsize=32768,wsize=32768,timeo=900,retrans=5,_netdev 0 0

我将删除有关该主题的良好文档的一些链接(请记住,这是一个不同的操作系统。但是他们的Wiki截至撰写本文时是市场上最好的Wiki):


0

为什么不只是将安装位置添加到您的fstab中。

您也可以使用sshfs。配置ssh以使用公共密钥身份验证。


在服务器上:
sudo apt-get install openssh-server
更改为/ etc / ssh / sshd_config或将ServerKeyBits 2048添加到/ etc / ssh / sshd_config


在客户端
ssh-keygen -t rsa -b 2048
ssh-copy-id从客户端计算机到服务器。在服务器计算机上使用您的用户密码登录
更改/ etc / ssh / sshd_config:PasswordAuthentication否,UsePAM否
我也使用其他设置来强化ssh,但在此示例中不需要。
如果您的局域网外设置了dyndns或noip更新器,并在路由器上设置了portforwarding,那么如果您需要帮助,则将端口23或您决定用来混淆服务的任何端口转发到服务器ip地址。


然后:
sshfs USER @ SERVERADDRESS:/ mnt / DRIVELOCATION / PATH / TO / MOUNT / DRIVE / TO
我在主菜单上将此命令设置为启动器,对于某些驱动器和fstab中的其他驱动器。
我知道它有效,因为我每天都使用相同的设置以及强化功能。
这样,您就可以摆脱对autofs的需求及其所需的开销。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.