- ベストアンサー
NFSでsoft-updates
FreeBSD 4.7-RELEASEを二台稼動させています。 一台のあるファイルシステムをもう一台にNFSでマウントさせています。 しかし書き込み速度が遅い為soft-updatesを有効にしてマウントさせたいのですが、 どのようにしたらNFSでsoft-updatesが有効になるのか解りません。 検索もしたのですが、それらしき文献が見つかりませんでした。 ご教示頂けますと幸いです。 何卒よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
なんだか、いまだに疑問だらけです。 NFSでユーザのホームディレクトリをマウントしているのだとすると、NISを使っていますよね?シェルだけならNISのコマンドで変更できますが、それでは不足なんでしょうか? なぜそんなに頻繁にユーザシェルを変更するのか、ユーザ名まで変更する必要性は何か、あえて/etc/passwdを持っているサーバからクライアントにSSHして、/etcをNFSマウントまでしてpwやvipwする必然性がどこにあるのか、… 一旦はクライアントにログインしないといけないのなら、そこからサーバに(リモートシェルとして)sshしてpwするという素直な方法はだめなのですか? No.1でもかいたように、NFS経由での変更はやめるのがスマートでしょう。 素直にNISでできることだけする、必要ならサーバ側に入って作業する、多少先進的なことをするならLDAPを試してみる(4.7Rではだめかも)という順序で考えましょう。
その他の回答 (2)
- kaitou-man
- ベストアンサー率60% (86/141)
あまり状況がのみこめていないのですがpasswd関連の重要なファイルをNFSで、しかもsoft updatesやasyncで使いたいということでしょうか?安全のために、少なくともNFSによる共有はしない方がいいかと思います。 リモートの/etc/passwdを変更したいということでしょうか?そのために ssh remote して、pwしようとしたら落ちるということでしょうか?負荷が高いとはどういうことでどのように確認されましたか?ネットワークですか?CPUですか?ディスクですか?1000人が同時にログインしているから負荷がかかるということですか?/etc/passwdに1000行あるという意味ですか?他に何が動いているでしょうか?
お礼
お礼をするところがないので、こちらに失礼します。 少し解ってきましたが、既に当初の質問と内容が違うので一度締め切りますね。 道が開けた感じでとても助かりました。 どうもありがとうございました。
補足
何度もありがとうございます、説明不足でした。 NFSサーバの方の/etc/passwdに1,000行近いユーザ数が登録されています。 SSHでNFSクライアントの方にログインしてNFSサーバをマウントし、 # pw -V /mnt usermod user -s /bin/csh とか、コマンドを打つと処理が終了しないうちにSSHが落ちてしまいます。 問題なく終了する場合もありますが、かなりの時間を要します。 ロードアベレージは確認してませんでした、すみません。 # pw -V /mnt usershow user などは比較的すぐに結果を得られるのですが、 vipwで直接編集してもやはりデータベースの更新にやたらと時間がかかっているようです。 最初はプロセス間通信で別サーバのPerlを起動させて書き換えていたのですが、 どうもスマートではないような気がしまして、NFSで試していたところです。 安全かつスマートな方法はないでしょうか? 大変恐縮ですが、アドバイスよろしくお願い致します。
- kaitou-man
- ベストアンサー率60% (86/141)
soft updatesは、マウント時のオプションなどではなく、ファイルシステムにそのことを示すフラグがつけられているかどうかで判断されます。ローカルなファイルシステムのみが対象です。 NFSではプロトコル上、書込みなどの要求に対して、それが完全に終わってから制御が戻ることになっていますので、非同期的な書込みはできません。 サーバ上のローカルファイルシステムが時間を食っているのでしたら、これをsoft updatesにすることはできますが、NFSのプロトコル的には厳密には規約違反になります。
補足
早速のご回答ありがとうございます。 実は間違えて「暇な時」にしてしまいましたが、非常に困っておりました。 そうしますと、NFSではやはりasyncを使うしか方法がないのでしょうか? 何をしたいかと申しますと、 別サーバの /etc/passwd を pw コマンドで書き換えたいのですが、 (ユーザ名やシェルのみです。) ユーザ数が1,000を越えている事もあってか、SSHが落ちるほどの負荷がかかってしまいます。 何か他でも良い方法があればアドバイスをお願いします。 何卒よろしくお願い致します。
お礼
アドバイスありがとうございます。 今回は二台のサーバという単純な構成を例としてあげましたが、 実は何十台というサーバの/etc/passwdの書き換えを一台のサーバ(管理サーバとしましょう)のHTTPD(ブラウザ)からボタン一つでシームレスに実行させる事が目的でした。 恥ずかしながら、NISを知りませんでした。 これで何とかなるかもしれません。 今回はお礼として投稿させて頂きますが、 NISを調べる時間と、もう少しだけお付き合い頂けましたら幸いです。 LDAPは少々取っ付きにくい感がありまして敬遠しておりました。 取り急ぎ、アドバイスをくださったお礼です。 ありがとうございました。 もう少々、よろしくお願い致します。
補足
NISの設定をしてみたのですが、 少しアドバイスを頂けませんでしょうか? NISマスターサーバとNISクライアントの設定をしました。 やりたいのは管理サーバの/etc/passwdを他の全てのサーバに反映させたいのですが、 イマイチNISのシステムが把握できておらずにいます。 なんか本来の使い方と少し違うような気がしまして。 管理サーバをNISマスターサーバにして、他の全てのサーバをNISクライアントにすればいいのでしょうか? しかし、操作は管理サーバで行いたいので管理サーバにもNISクライアントを入れる必要があるような? ハンドブックも何度も読み返したのですが。 意味不明な事を書いていたら申し訳ありません。 ご教示の程、どうぞよろしくお願い致します。