Autofs は起動時に共有をマウントしません

Autofs は起動時に共有をマウントしません

私は、LDAP と NFS を介してホームを共有する OpenSuSE 12.1 を使用しています。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"

何か見逃しているのでしょうか?

答え1

この質問はコミュニティによって取り上げられ、かなり古いものです。
長年にわたり多くのことが起こり、Michael は fstab を使用するという 1 つの解決策を挙げました。そして、元の問題はおそらく起動時に実行順序が適切でなかったことによるものでした。ネットワークの準備ができていなかった、一部のサービスが開始されていなかったなどです。

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

この方法の唯一の欠点は、サービススクリプトの名前に注意する必要があることです。ここですが、要約すると、サービスファイルはマウントするパスにちなんで命名する必要があります。また、自動マウントが機能するには、サービスファイル名のパス内のすべてのスラッシュを に置き換える必要があります。上記のmnt-remote_share.mount`-の例/mnt/remote_share would be a service-file called

たくさんありますオプションこれに付随します。systemd
が気に入らない場合は、オートかなり良い仕事をする側(私の好みとしては少々複雑ですが)

代わりに 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

どちらも機能しない場合は、pure-fstab ソリューションもあります。

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

この件に関する優れたドキュメントへのリンクをいくつか紹介します (これは別の OS であることに注意してください。ただし、この記事の執筆時点では、この Wiki は市場で最も優れたものの 1 つです)。

答え2

マウント場所を fstab に追加するだけでは不十分です。

sshfs を使用することもできます。公開鍵認証を使用するように ssh を設定します。


サーバー側:
sudo apt-get install openssh-server
/etc/ssh/sshd_configにServerKeyBits 2048を変更するか追加します


クライアントで、
ssh-keygen -t rsa -b 2048
ssh-copy-id を実行して、クライアント コンピューターからサーバーにコピーします。サーバー マシンのユーザーのパスワードを使用してログインします
。/etc/ssh/sshd_config を変更します: PasswordAuthentication no、UsePAM no。SSH
を強化するために他の設定も使用しますが、この例では必要ありません。LAN
の外部にいる場合は、dyndns または noip updater を設定し、ルーターでポート転送を設定して、ポート 23 またはサービスを難読化するために使用するポートがサーバーの IP アドレスに転送されるようにします。サポートが必要な場合は、お問い合わせください。


次に、
sshfs USER@SERVERADDRESS:/mnt/DRIVELOCATION /PATH/TO/MOUNT/DRIVE/TO と
入力します。このコマンドを、一部のドライブのメイン メニューのランチャーとして設定し、その他のドライブについては fstab で設定します。
この同じ設定と強化を毎日使用しているため、これが機能することはわかっています。
この方法では、autofs とその必要なオーバーヘッドが不要になります。

関連情報