web-dev-qa-db-ja.com

autofsの問題「マスターマップの読み取りに問題があり、最大待機時間を超えました」

Autofsを使用してcifsパーティションをマウントしようとしています。多くの試行錯誤の末、私はついにそれをマウントすることができました(私が遭遇した主な問題は、指示の中で、 ここ 、マッピングファイルのこの行です

"[any_name] -fstype=cifs,[other_options] > ://[remote_server]/[remote_share_name]"

本当にあるべきです:

"[remote_share_name] -fstype=cifs,[other_options] ://[remote_server]/"

とにかく、この後、次のコマンドを使用してcifsパーティションをマウントできます。

Sudo automount -f -d &

残念ながら、以下のコマンドを使用して実際のautofsサービスを使用すると、共有がマウントされません。

Sudo /sbin/service autofs restart

Autofs sysconfigをデバッグモードに設定した後に使用してログファイルを確認したところ、次のエラーが表示されました。

12月18日13:33:51SRVR_XYZ自動マウント[7986]:autofsが停止しました
12月18日13:46:09SRVR_XYZ自動マウント[8740]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:46:09SRVR_XYZ自動マウント[8740]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:46:11SRVR_XYZ自動マウント[8740]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:46:13SRVR_XYZ自動マウント[8740]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:46:15SRVR_XYZ自動マウント[8740]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:46:17SRVR_XYZ自動マウント[8740]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:46:19SRVR_XYZ自動マウント[8740]:マスターマップの読み取りに問題があり、最大待機時間を超えました
12月18日13:46:19SRVR_XYZ自動マウント[8740]:自動マウント:警告:待機した後、少なくとも1つのマップソースを読み取れませんでした...
12月18日13:46:19SRVR_XYZ自動マウント[8740]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:53:34SRVR_XYZ自動マウント[9139]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:53:34SRVR_XYZ自動マウント[9139]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:53:36SRVR_XYZ自動マウント[9139]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:53:38SRVR_XYZ自動マウント[9139]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:53:40SRVR_XYZ自動マウント[9139]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:53:42SRVR_XYZ自動マウント[9139]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:53:44SRVR_XYZ自動マウント[9139]:マスターマップの読み取りに問題があり、最大待機時間を超えました
12月18日13:53:44SRVR_XYZ自動マウント[9139]:自動マウント:警告:待機した後、少なくとも1つのマップソースを読み取れませんでした...
12月18日13:53:44SRVR_XYZ自動マウント[9139]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:54:18SRVR_XYZ自動マウント[9250]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:54:18SRVR_XYZ自動マウント[9250]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:54:20SRVR_XYZ自動マウント[9250]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:54:22SRVR_XYZ自動マウント[9250]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:54:24SRVR_XYZ自動マウント[9250]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:54:26SRVR_XYZ自動マウント[9250]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした
12月18日13:54:28SRVR_XYZ自動マウント[9250]:マスターマップの読み取りに問題があり、最大待機時間を超えました
12月18日13:54:28SRVR_XYZ自動マウント[9250]:自動マウント:警告:待機した後、少なくとも1つのマップソースを読み取れませんでした...
12月18日13:54:28SRVR_XYZ自動マウント[9250]:lookup_read_master:lookup(file):マスターマップファイル/etc/auto.masterを開くことができませんでした

なぜこれが適切な権限(chmod 640)と/etc/auto.masterの所有権をrootアカウントに設定しているのかわかりません。

Automoutを手動で起動すると正しく機能するのに、autofsサービスがパーティションをマウントできない理由がわかりません。

私が使う:

自動マウントバージョン5.0.5-133.el6_9
Linuxディストリビューション:CentOSリリース6.9(最終版)

/etc/auto.masterファイルは次のようになります。

#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/misc   /etc/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#       "nosuid" and "nodev" options unless the "suid" and "dev"
#       options are explicitly given.
#
/net    -hosts
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
+auto.master
/mnt/cifs /etc/auto.cifs-shares --ghost

よろしくお願いします。

1
GMCB

AutoFSは、構成ファイルの2レベルの階層を使用します。

  1. トップレベルコントロール_/etc/auto.master_

    階層の最上位のファイルは_/etc/auto.master_であり、AutoFSが制御するディレクトリツリーを定義します。質問のサンプルファイルには、コメント以外の3行が含まれていました。

    _/misc   /etc/auto.misc
    /net    -hosts
    +auto.master
    _

    これは、/ miscがファイルまたはスクリプト_/etc/auto.misc_によってAutoFSを介して管理され、_/net_が「NFSを実行している既知のホスト」のセットから派生することを意味します。最後の行は、中央地図についてNISに相談する必要があることを示しています。 NISを実行しないため、回線は関係ありません。

    _/net_と_+auto.master_の行をコメントアウトして、_/misc /etc/auto.misc_の定義だけを残すことをお勧めします。

  2. 第2レベルの実装

    これで、階層の2番目のレベルである_/etc/auto.misc_のファイルが1つだけ残っています。これを編集して、新しい定義を含めることができます。

    _[share_name] -fstype=cifs,[other_options] ://[remote_server]/[remote_share]"
    _

    たとえば、このエントリは、共有_/misc/myshare_に直接マップする一時的なエントリ_//CIFSSERVER/ITSSHARE_を作成します。

    _myshare -fstype=cifs,noperm,credentials=/root/.cifscred ://cifsserver/itsshare
    _

    共有が明示的な名前でアクセスされるまで、_/misc_には表示されないことに注意してください。ロガーで報告されたエラーを見ることができます(たとえば、私のバージョンのDebianでは_/var/log/syslog_)。


個人的には、_/misc_の名前を_/var/autofs/misc_の_/etc/auto.master_に変更して邪魔にならないようにし、_/autofs_の既知のエントリへのシンボリックリンクを含む最上位ディレクトリ_/var/autofs/misc_を作成するのが好きです。 SOMECODE)__。私の例の場合、

_# Prepare the /etc/auto.master file
#
mkdir -p -m755 /var/autofs/misc /autofs
rmdir /misc
sed -i.bak 's!^/misc!/var/autofs/misc!' /etc/auto.master

# Create the symlink
#
cd /autofs
ln -s ../var/autofs/misc/myshare
_

次に、_/autofs_のAutoFSマウントを参照します。特にAutoFSマウントファイルシステムが低速で高価なプロセスである場合、これはうまくいかないかもしれませんが、すべてのAutoFSマウント名を覚えておく必要はありません。

1
roaima