• 締切済み

NFSの仕組み・動作について(サーバを再起動する時に、NFSクライアントをアンマウントをする理由が知りたいです)

NFSの仕組みについて調べております。 ◆背景 近々、お客様サーバセンターにて停電があります。 現在、Webサーバが画像サーバのディレクトリを NFSにてマウントしております。 今回、停電にて電源の落とす必要があるサーバは、 このNFSサーバとなります。 nfsクライアント(Webサーバ) ↓ nfsサーバ(画像サーバ) ◆質問 私の会社では、NFSサーバを再起動する際は、 必ずNFSクライアントにてマウントされているディレクトリを アンマウントし、NFSサーバにマウントがない状態で NFSサーバ再起動を行っております。 ※理由は、過去にNFSクライアントのアンマントを行わずにNFSサーバを  再起動したことがあり、その際にNFSクライアントのマウントが  できないことがありました。 今回、この停電はお客様のデータセンターで行われるため 「NFSサーバを再起動するために、NFSクライアントをアンマウントしないといけません!」と言いたいのですが、 技術的になぜその必要があるかをお客様にお話しする必要があります。 そこで、アンマウントをしないといけない理由をご存知の方 いらっしゃいましたら教えていただけますでしょうか。 また、そもそも「アンマウントなんて必要ない」というのであれば ご指摘いただけると助かります。 あわせて、NFSの技術的な情報を教えていただけますとなおありがたいです。 よろしくお願いいたします。

みんなの回答

  • vaidurya
  • ベストアンサー率45% (2714/5983)
回答No.3

NFSに限らず、ファイルサーバーってアクセス中に落とすと クライアント側で、データ保存ミスが出るリスクがあると思っていますけど。 もちろん、短時間で書き込みが終了すれば サーバーの終了段階で正しく終了できる気がしますけど 大量のファイルを転送している途中に落とすと… たとえば、5つめのファイルを書き終えた時点でサーバーが遮断され 6つめのファイルは書き込んでいないのに 書き込み作業を行なった人が勘違いしてOSを落としたりして エラーが出たことに誰も気づかないままになったりすると思います。 そういうミスは起きにくいようにサーバーもクライアントも それなりの設計がなされているかとは思いますけど 「できるはずのこと」を過信してトラブルがおきても ソフトのせいにすればいいってことは、どこでも無いと思います。 つまり、アンマウントしてからサーバーを落とすのは サーバーにバグがあったとしても、事故を防げる手順です。

  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.2

No.1の方が書いてますが、 「過去にこうゆう事例がありましたので、安全のためにこうしています」 と説明すればいいだけだと思いますけど。 要はお客さんを納得させればよいのでしょうから、あまり技術論にこだわると逆効果です(お客さんが理解できなくなる)。 それよりは、「Windowsのファイル共有とNFSとは違う」「過去にこういう事例があった」と言った点から説得する方が通りやすいのではないかと。 あとは、「ファイルが開いている状態でサーバを再起動するとファイルが壊れる」とか「WEBサーバがNFSサーバの応答待ちをしてしまうから危険」とかでしょうか。 要は「やってもいいけどトラブりますよ。(その場合の責任は持ちませんよ)」という方向で話をすればよいかと。

  • dev_null
  • ベストアンサー率67% (37/55)
回答No.1

RFCに記述されてるかも知れませんが実装を調べる以外に正確な情報は得られません。 > 技術的になぜその必要があるかをお客様にお話しする必要があります。 ここで言われている技術的がどのようなものか分かりませんが、 正しく説明するには、TCP/IPの説明からする必要もありませんか? 個人的な意見ですが、bunmeidou様が指摘している内容を 説明するだけで十分ではないでしょうか。 安全にNFSサーバの再起動を行うための手順で 下記のようなリスクを回避するために必要ですとか.. ・WEBサーバのハングアップ ・レスポンス低下 ・マウントエラーの発生 ・ファイルの破損 例えば、電動ドリルの刃を交換する際にドリルが回転している状態で 行うことは通常しませんよね。 ドリルを止めて、出来れば電源も抜いておいた方が安全ですよね。

関連するQ&A

  • NFSでサーバ側を再起動させた場合のマウント

    OSは3台ともCentOS4.4です。 DB(NFSサーバ)web1(NFSクライアント)web2(NFSクライアント) webi、web2からDBのディレクトリをマウントして見えるようにしてあります。NFSクライアントを再起動した場合AUTOマウント出来るように設定はしてあり、そこは問題ないのですが、DB(NFSサーバ)側を再起動した場合クライアント側でマウントコマンドを叩かないとマウントされませんよね?それとも何か設定があるのでしょうか? 自分なりに調べたのですが、いまいちわからないのでわかる方教えてください。 よろしくお願いします。

  • MacOS X での NFSサーバ・クライアント

    2台のコンピュータ(OSはMacOS X)で、1台をNFSサーバに、もう1台をクライアントにして、サーバ・クライアント型のネットワークにしたいのですが、どのように設定すればできるのでしょうか? 私なりにNetInfoの情報を書き換えて、クライアント側で「mount -a」コマンドによりサーバのディレクトリをマウントすることはできるのですが、コンピュータの起動時に有効にすることができません(rootでmount -aコマンドを実行すればできます)。 何か、良い対処方法がありましたら教えてください。 また、MacOS Xについて詳しく解説してあるページがあれば教えてください。 お願いします。

    • 締切済み
    • Mac
  • mount -t nfs・・・・を起動時に実行

    教えてください。 nfsクライアントのサーバが再起動する時などに、nfsサーバに対して自動でマウントが実行されるようにしたいのですが、どのようにすれば良いか教えていただけますでしょうか? #mount -t nfs・・・・のコマンドを実行させるようにしたいです。 よろしくお願いします。

  • [UNIX]NFSクライアントでのrpcbind起動の意味

    いつも勉強させてもらっております。 HP-UX(UNIX)について質問させてください。 NFS(Network File System)についてになります。 NFSにはサーバとクライアントという役割が二つ存在しますが、 サーバ側には、NFSサーバデーモンを起動させると、「rpcbind」というポート111を空けてクライアントからの要求を待ちうけ、要求に応じたプログラムを実行させるデーモンがあがります。 一方、クライアント側でも、NFSクライアントデーモンを起動させると、同じく「rpcbind」が起動されます。 クライアント側でのrpcbindが起動する理由とはなんなのでしょうか。

  • NFSサーバ使用時のポートについて

    NFSサーバの知識が乏しいのですが、もしお分かりの方がいらっしゃいましたらご教授ください。 AWSにて、下記サイトを参考にして、NFSサーバを構築し動作させています。 http://shibukixxx.hateblo.jp/entry/2014/01/29/201633 セキュリティグループ許可 TCP: 111, 892, 2049, 32803 UDP: 111, 892, 2049, 32769 今までとくに問題なく動作していたので、気にしていなかったのですが、 他のサイトを見てみると、上記以外も許可が必要のように感じました。 http://hesonogoma.com/linux/NFSserver-BoundToParticularPorts.html RQUOTAD_PORT=875 STATD_PORT=662 STATD_OUTGOING_PORT=2020 RDMA_PORT=20049 現在の許可の設定で、問題なく動作しているのですが(クライアントでディレクトリマウントして読み書き可能)、他のポート(875,662,2020,20049)を許可していなかった場合、今後不具合があるのでしょうか。 そもそも、ポート設定が不足していた場合、正常にNFSサーバが動作しないと思うのですが、 NFSは一部が動けば問題ないのでしょうか。

  • マウントしたnfsディレクトリの権限

    すみません。教えてください。 2つサーバーがあり、片方をNFSサーバとして使います。NFSサーバ側で/etc/exportsに以下の内容を記述しました。 /マウントさせるディレクトリ IPアドレス(rw,no_root_squash,sync) NFSクライアントにSSHでログインし、マウントしたディレクトリにアクセスすると、その中のファイルなどは開くことができ、書き込みもできます。 しかし、ブラウザを使ってそのマウントしたディレクトリの中をファイルを開こうとすると403 Forbiddenの権限エラーになります。(※NFSクライアント側はWebサーバとなります。) マウントではなく、同階層に別のテスト用ディレクトリを作り、同じファイルをコピーし、ブラウザで開こうとすると問題無く開き、書き込むこともできます。 NFSサーバもしくはNFSクライアントどちらかに(追加?)何か権限設定をしなければならないのでしょうか? もしくはhttpd.confの設定でしょうか? 宜しくお願い致します。

  • nfsマウントしたリモートディレクトリをftpdで公開できますか?

    nfsでマウントした別サーバーのディレクトリをftpで公開できるでしょうか?できるなら設定方法を教えてください。 Solaris ・nfsサーバ FedoraCore4 ・nfsクライアント ・vsftpd SolarisのディレクトリをFedoraCoreでnfsマウント。 このディレクトリをftpdで公開したい。 よろしくお願いいたします。

  • Linuxサーバ間でのマウントについて

    NFSサーバ側にクライアント側のディレクトリが見れるようにマウント設定したのですが、 サーバを再起動した後、NFSサーバのserver_mountディレクトリの中身とクライアント側のclient_mountの中身が 同期が取れていないような状況です。 また、異なったファイルがそれぞれ存在したりします。 (説明がわかりづらくてすみません。現象がよくわかりません。) 以下の通り設定したのですが、何か足りない箇所がありますでしょうか。 すみません。教えてください。 【NFSサーバ側】(IP:192.168.1.1) (1)/home/server_mountというNFSサーバ側のディレクトリを作成 (2)/etc/exportsに以下の1行を記述  /home/server_mount 192.168.1.2(rw,no_root_squash,sync) (3)service nfs start及びchkconfig nfs onをしておく。 ※ちなみに現在iptablesはoffにしています。 【NFSクライアント側】(IP:192.168.1.2) (1)マウントするディレクトリをルート直下、/client_mountとして生成 (2)#mount -t nfs 192.168.1.1:/home/server_mount /client_mount コマンド実行でエラー無し。

  • ユーザーごとにNFS経由でマウントするディレクトリを変えたい

    計算機#AからNFSサーバの計算機#Bのあるディレクトリをマウントするさいにユーザーのごとにマウント先を変えたいと考えています。 また、マウント/アンマウントのタイミングは、ユーザーのログイン/ログアウト時に設定するように考えています。 このような場合、各ユーザーのホームに.login、.logoutを用意してマウント/アンマウントするようにすればよいのかと思いましたが、これだと、telnet、rloginでログインしたときもマウントが発生してしまいよろしくありません。 できれば、コンソールログイン、ログアウトしたときのみ設定したいと思います。 そこで、上記のようなことをしたい場合、どういうふうにすればよいでしょうか?アドバイスください。

  • サーバからクライアントファイルの起動

    当方に深い知識がないことをご理解のうえ、助言いただければ有難いです。 あるサーバ上にWebフォームをおき、ボタンを設置しています。クライアントPCから、ブラウザ画面にてクリックでローカル上にあるEXEファイルを起動したいのですが、セキュリティ面の理由から上手く起動しないようです。サーバの設定を変えずに起動することは不可能でしょうか?  onclick="file:///c:/***.exe"