web-dev-qa-db-ja.com

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

LDAPとNFSを介して共有される家でOpenSuSE12.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"

私は何かが足りないのですか?

11
igor012

この質問はコミュニティによってぶつかりました、そしてそれはかなり古いです。
何年にもわたって多くのことが起こりました、マイケルは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

これの唯一の欠点は、サービススクリプトの名前に注意する必要があることです。最もよく説明されているのは ここ ですが、tl; dr-versionは、マウントするパスにちなんでサービスファイルに名前を付ける必要があるということです。また、自動マウントを機能させるには、上記のパスのすべてのスラッシュをサービスファイル名の-に置き換える必要があります。上記の/mnt/remote_share would be a service-file calledmnt-remote_share.mount`の例

これに合わせて options がたくさんあります。
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

このテーマに関する優れたドキュメントへのリンクをいくつかドロップします(念のために言っておきますが、これは別のOSです。しかし、彼らのWikiは、これを市場で最高のものの1つとして書いています)。

1
Torxed

マウント位置をfstabに追加してみませんか。

Sshfsを使用することもできます。公開鍵認証を使用するようにsshを構成します。


サーバー上:
Sudo apt-get install openssh-server
ServerKeyBits2048を/ etc/ssh/sshd_configに変更または追加します


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


次に:
sshfs USER @ SERVERADDRESS:/ mnt/DRIVELOCATION/PATH/TO/MOUNT/DRIVE/TO
このコマンドを、一部のドライブとfstabのメインメニューのランチャーとして設定しました。
これと同じセットアップと硬化を毎日使用しているので、うまくいくことはわかっています。
このようにして、autofsの必要性とそれに必要なオーバーヘッドを取り除くことができます。

0