QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

NFSサーバへの自動マウントについて

追記:
NASとNFSクライアントは同一セグメントに存在します。
--

Linuxベースで稼動するNASに対し、MiracleLinux2.1サーバをNFSクライアントとして
ブート時に自動的にNFSマウントを行おうとしたところ失敗してしまいました。

/var/boot.logには以下の出力がされていました。

--
Jun 22 11:56:31 EKH3LM06 mount: mount: RPC: Unable to receive; errno = No route to host
Jun 22 11:56:31 EKH3LM06 netfs: Mounting NFS filesystems: failed
--

/etc/fstabのエントリは以下のように行っています。

--
EKU1SN01:/vol/vol0/server/EKH3LM01 /EKU1SN01 nfs rw,hard,intr 0 0
--

そしてここが一番の疑問点なのですが、このfstabの記述の通りに手動でmountコマンドを
実行すると何の問題も無くマウントができてしまいました。

--
mount -o rw,hard,intr EKU1SN01:/vol/vol0/server/EKH3LM01 /EKU1SN01
--

実際に、NFSサーバ側のexportsやサーバ、クライアント両方のサービスの稼動状況を
確認してみましたが、特に問題があるとは思えませんでした。

手動マウントが可能な状態でfstabへの記述による自動マウントのみが失敗する
原因としては何が考えられるでしょうか。
[ メッセージ編集済み 編集者: グリーフ 編集日時 2005-06-22 13:15 ]

質問者:グリーフ

回答

MiracleLinuxもNFSもわかりませんが、
networkに繋がる前にmountしようとしているのではないでしょうか?

投稿者:try

編集 履歴 (0)

ご指摘ありがとうございます。

/etc/rc.d/rc3.d/S10network は存在しているのでブート時にネットワークが
有効化されていないということはないと思うのですが、boot.logにnetworkの
ログが出力されていないので、厳密にどのタイミングでネットワークが有効に
なっているのか判断できない状態です。

networkを有効にする、もしくはmountするタイミングを明示的に判断・設定する
方法はあるのでしょうか。

ちなみにMiracleLinux2.1は基本的にRedHat7.3と同様と思っていいと思います。

投稿者:グリーフ

編集 履歴 (0)

こんばんは。

RedHat系の FedoraCore1 の rc を見る限りでは、

  1. ネットワーク系ファイルシステムを除いて mount ( rc.sysinit )
  2. iptables ルール適用 ( iptablesサービス )
  3. network 有効化 ( networkサービス )
  4. noauto でないネットワーク系ファイルシステムの mount ( netfsサービス )

という順序で処理が行われますので、論理的に矛盾は無いのですが…。
ただ、タイミング的な問題でうまく行かないことも考えられます。
( netfs スクリプト中に、適当な sleep を入れて調節してみるとか )

もし、上の 4 以降 ( 例えば rc.local ) にネットワーク系の処理が入るようなら問題があるかもしれません。

どうしても netfs で mount できないなら、rc.local に mount の処理を書く手も回避策としてありかと思います。

以上、ご参考まで。

投稿者:angel

編集 履歴 (0)

angelさん、ご指摘ありがとうございます。

ご指摘の通り、netfsスクリプトの頭にsleep 30を追加してみたところ、
正常にmountできるようになりました!

本当に助かりました。ありがとうございます!

投稿者:グリーフ

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。