none
NFS接続先のlockdポートが変わるとアクセスができなくなる RRS feed

  • 質問

  • お世話になっております。

    Windows2008サーバをNFSクライアントとして、商用UNIX機のNFSサーバのフォルダをマウントしています。

    商用UNIX機のほうで、再起動により lockd のポートが変わることがあります。

    このとき、Windows側でファイルアクセスができなくなり、かつ umount → mount を行ってもまだ駄目で、Windows OSを再起動するしか方法が見当たらない状態です。

    パケットキャプチャしたところ、アクセス時にWindows側が SYN をUNIX側の再起動前の lockd のポート(閉じている)に送り、RST+ACK を返されていることがわかりました。

    商用UNIXのほう(NFSサーバ)でポートの固定ができれば一番いいのですが、OSのバージョンが古いなど諸事情があり困難とのことです。

    Windows側(NFSクライアント)でなんとかする方法はありますでしょうか?

    2011年5月26日 5:35

回答

  • こんにちは、フォーラムオペレーターの三沢健二です。

    もしかしたらですが、ご利用の環境の組み合わせで発生している問題かもしれませんので、可能であればサーバー側のバージョンを変えてみて(新しくして) 、解消されるかどうか検証していただければと思います。
    (本番環境で検証できない場合はテスト環境を構築してお試しください)


    クライアント側での対処方法ですが、OS 再起動ではなく、NFS クライアントサービスの再起動などもお試しください。

    あとは、クライアント側でキャッシュを保持しているようですので、下記の情報などを参考にしていただき、キャッシュに関するレジストリを変更して解消されるかどうかもお試しいただければと思います。
    (実際に試したわけではないので、どういった設定が良いかは分かりませんが、、、)

    - 参考情報
    You experience a delay before the list of new files is returned when you run the DIR command or the LS command after you upgrade to Windows Services for UNIX 3.0 or to Windows Services for UNIX 3.5
    http://support.microsoft.com/kb/894071/en-us


    それでは、こちらの情報が少しでもお役にたてれば幸いです。

    ______________________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    • 回答としてマーク 服部清次 2011年6月8日 8:59
    2011年6月1日 7:31
    モデレータ
  • ありがとうございます。

    やっと検証が終わりましたので、遅ればせながらご報告します。

     

    まず、レジストリの変更をしても挙動は同じでした。

    (なお、dir コマンドでは NLM へのアクセスにはいかないようです。)

     

    サービスの再起動ですが、「サービス」や、コマンドラインから「net stop "Client for NFS"」

    でサービスを停止すると、再び開始できない問題が生じました。(OS再起動で治る)

    この原因は不明です。

     

    結局、コマンドラインから "nfsadmin client stop", "nfsadmin client start" をすることによってアクセスができるようになりました。

    パケットキャプチャからも、これをすると次回アクセス時に NFSサーバへ再度 portmapper でNLMポート番号の問い合わせをしていることがわかりました。

    ありがとうございました。

    2011年6月16日 0:56

すべての返信

  • こんにちは、フォーラムオペレーターの三沢健二です。

    もしかしたらですが、ご利用の環境の組み合わせで発生している問題かもしれませんので、可能であればサーバー側のバージョンを変えてみて(新しくして) 、解消されるかどうか検証していただければと思います。
    (本番環境で検証できない場合はテスト環境を構築してお試しください)


    クライアント側での対処方法ですが、OS 再起動ではなく、NFS クライアントサービスの再起動などもお試しください。

    あとは、クライアント側でキャッシュを保持しているようですので、下記の情報などを参考にしていただき、キャッシュに関するレジストリを変更して解消されるかどうかもお試しいただければと思います。
    (実際に試したわけではないので、どういった設定が良いかは分かりませんが、、、)

    - 参考情報
    You experience a delay before the list of new files is returned when you run the DIR command or the LS command after you upgrade to Windows Services for UNIX 3.0 or to Windows Services for UNIX 3.5
    http://support.microsoft.com/kb/894071/en-us


    それでは、こちらの情報が少しでもお役にたてれば幸いです。

    ______________________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 三沢健二

    • 回答としてマーク 服部清次 2011年6月8日 8:59
    2011年6月1日 7:31
    モデレータ
  • takagiko さん、

    こんにちは。
    フォーラム オペレーターの服部 清次です。

    takagiko さんがこちらの質問を投稿されてから少し経ちましたが、
    弊社の三沢健二の回答はご確認いただけましたでしょうか?

    今回、参考情報および確認ポイントとして弊社の三沢の回答を役立てていただけるのではないかと思いましたので、
    勝手ながら、いったん私の方で [回答としてマーク] させていただきました。

    また何か困ったことなどがありましたら、ぜひ TechNet フォーラムをご活用ください。
    今後ともよろしくお願いします!
    それでは、また。


    __________________________________________________
    日本マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2011年6月8日 9:00
  • ありがとうございます。

    やっと検証が終わりましたので、遅ればせながらご報告します。

     

    まず、レジストリの変更をしても挙動は同じでした。

    (なお、dir コマンドでは NLM へのアクセスにはいかないようです。)

     

    サービスの再起動ですが、「サービス」や、コマンドラインから「net stop "Client for NFS"」

    でサービスを停止すると、再び開始できない問題が生じました。(OS再起動で治る)

    この原因は不明です。

     

    結局、コマンドラインから "nfsadmin client stop", "nfsadmin client start" をすることによってアクセスができるようになりました。

    パケットキャプチャからも、これをすると次回アクセス時に NFSサーバへ再度 portmapper でNLMポート番号の問い合わせをしていることがわかりました。

    ありがとうございました。

    2011年6月16日 0:56