トップページunix
982コメント306KB

【NFS】Network File System

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/03/28(火) 11:42:41
nfsに関する話題を扱うスレ
0314名無しさん@お腹いっぱい。2008/04/01(火) 02:59:21
>>310
NFSをasyncにしてみたら?
0315名無しさん@お腹いっぱい。2008/04/01(火) 04:09:49
cacheも増やすべき。acdirmax辺り。
mountオプソンで指定。
0316名無しさん@お腹いっぱい。2008/04/01(火) 07:49:06
時間割くなら、try&errorの厨ニングよりプログラム直した方が幸せになれると思われ。
NFSだろうがなかろうが、バッファリングせず100byteずつwrite(2)ってのは頭おかしい。
データの整合性を維持する意図でそうしてるならasync mountで動かすのは本末転倒だしな。
ソースがないならご愁傷様。
03173152008/04/01(火) 08:49:29
あれ? 小さいファイルをたくさん作るのかと思ったよ。
どっちとも取れるけど、一つのファイルに少しづつ書くなら、
ディレクトリがアクセスできなくなるのはおかしいなあ。
0318名無しさん@お腹いっぱい。2008/04/02(水) 01:41:55
>>310
現状のマウントオプション晒しなYo!
0319名無しさん@お腹いっぱい。2008/04/05(土) 13:20:26
まあrhelなら4.6はあるけど板違いだしなあ
0320名無しさん@お腹いっぱい。2008/04/09(水) 09:41:04
NFSv3 で同じLANにつながっているマシン同士ではサクサク
ファイル公開できているんだけど、セキュリティ上の理由から
TCPしか通してくれないL3スイッチ越しの隣の部屋のNFSサーバの
ディレクトリを NFSv4 でマウントしたら ls に引っかかる。

ファイルの読み書き、でっかいファイルの転送速度に関しては
たいした違いも無いんだけど、 ls で引っかかる。数秒。
何が原因なんでしょうか?

当然 portmap なんかも通らないんですが、それが原因
なんでしょうか・・・でも NFSv4 だしなぁ。2049/tcp
だけで使えると思うんだけど。
0321名無しさん@お腹いっぱい。2008/04/09(水) 09:47:49
>>320
L3が糞
0322名無しさん@お腹いっぱい。2008/04/09(水) 09:55:21
>>321
id でも引っかかるんで、nsswitch.conf 見てみたら、
hosts に wins が指定されていた orz
samba とか使ってねぇのに。
0323名無しさん@お腹いっぱい。2008/04/09(水) 10:36:20
NFSv4のクライアントは何?
Solaris以外でまともに使えるのある?
0324名無しさん@お腹いっぱい。2008/04/09(水) 10:46:04
>>323
>>322 で自己解決したようです
>>321 ハズレ
03253232008/04/09(水) 11:58:15
いや、トラブルとは関係ない質問
0326名無しさん@お腹いっぱい。2008/04/09(水) 12:51:31
まともに使える=俺の環境・俺の使ってるアプリケーションが動く、だから
基準が人によって全然違うんだよな。
クライアントは1台なのか100台なのか、
テキストエディタでファイルが開けばいいのか、データベースが置けないとダメなのか。
03273232008/04/09(水) 13:09:20
基準は>>320の基準でいいや。
「〜をこう使っていてトラブルなし」ってんで。

ちなみに俺は自宅のファイル共有で使うことしか想定してない。
v3→v4の移行するかどうか。

仕事ならクライアントサイドはSolaris以外でv4使わないし。
0328320=3222008/04/09(水) 13:28:11
server Ubuntu 6.06.2 LTS / kernel 2.6.15
client CentOS 5 / kernel 2.6.18
0329名無しさん@お腹いっぱい。2008/04/13(日) 03:40:27
質問です、自宅のLANにCentOS5.1のマシンが4台入る予定なのですが、なるだけ
少ない台数で集中管理したいと思っています。
1台の/homeを他3台でシェアしようと思うのですが、自宅LANのような小規模な環境
だとあまり意味の無い方法でしょうか?
それか、みなさんの書き込みを読んでいると人気の、rsyncをつかって1台のデータを
共有しようかと思ったのですが、リアルタイムに同期してる訳じゃないですよね。
03303232008/04/13(日) 09:05:07
>>328
Linuxかあ。今度トライしてみるわ。
ちなみにサーバはOpenSolaris。
0331名無しさん@お腹いっぱい。2008/04/13(日) 09:08:15
>>329
全部、デスクトップ機なの?
ノートにNFSホームは良くないと思うけど、
デスクトップならオフライン利用考える必要ないしNFSでいいと思うよ。
0332名無しさん@お腹いっぱい。2008/04/13(日) 12:01:06
>>331 サンクスっ!
NFSでシンプルに構成しようと思います。
よく考えてみりゃ/homeだけってのももったいないから他のも共有マウントしよう
かと思うのだけど、みんなどんな感じでマウントしてるんでしょう?定石ってあるのでしょうか。
マウントする側(3台の方)のHDDって80GBもあるんだけど、マウントしちゃうと余計HDD領域が余っちゃう
よね、なんだかもったいねえ。
0333名無しさん@お腹いっぱい。2008/04/13(日) 12:20:52
クライアントはHDD外してディスクレスだよ。
ネットブートして、/ 全体すべて NFSだよ。
LANが速いと、かえってローカルHDDより速い感じがするくらい。
0334名無しさん@お腹いっぱい。2008/04/13(日) 13:04:27
>>333
素人に無駄な期待を抱かせるような書き込みはよせ。

それはハイエンドのNFS専用鯖機のときの話だ。
0335名無しさん@お腹いっぱい。2008/04/13(日) 13:41:34
>>334
自宅のふつーのPCで >>333 みたいなことしてるけど、、
0336名無しさん@お腹いっぱい。2008/04/13(日) 14:22:05
>>335
さて、これが無駄な期待でない理由を説明してくれ。

「ローカルHDDより速い感じがするくらい。」
0337名無しさん@お腹いっぱい。2008/04/13(日) 17:00:31
誇張表現
0338名無しさん@お腹いっぱい。2008/04/13(日) 17:56:21
そりゃ、ユーザ一人とか、Networkスカスカなら
そこそこ良いかもしれんけど・・・・・
0339名無しさん@お腹いっぱい。2008/04/13(日) 18:08:20
自宅でやっているときの話とかいているから
ユーザーは分かっている範囲だしネットワークはすかすかだろうな
0340名無しさん@お腹いっぱい。2008/04/14(月) 00:51:14
>>332
・/homeと/usr/localだけ共有。
相互依存が起きないように両方同じサーバに。
・システムが必要とする分だけを全て/パーティションに。
パッケージシステムに任せて決して共有しない。
・残りは別パーティションとし、nfs exportして、
画像、音楽データを入れたり、バックアップに使ったり。
0341名無しさん@お腹いっぱい。2008/04/14(月) 08:38:20
ぶっちゃけ自宅ならば/homeというよりも、/home/homepageだけをシェアして
基本的にワンユーザー(homepage)で運用したほうが効率いいんでないかい?
あとは>>340の言うとおり/usr/localもかなあ
個人的にはDNSやsambaを設定してる/etcの一部ファイルもうまくシェアできないかと悩み中
0342名無しさん@お腹いっぱい。2008/04/14(月) 08:40:19
>>341
おまえ家族いないのか?
0343名無しさん@お腹いっぱい。2008/04/14(月) 19:52:49
むしろ家族がいてNFSを使っているような奴が異常
0344名無しさん@お腹いっぱい。2008/04/14(月) 20:00:20
鯖なんか立てたら、

うるせーよとクレームくる。
0345名無しさん@お腹いっぱい。2008/04/14(月) 20:49:40
居間のPCでも寝室のPCでも子供部屋のPCでも、
どのPCからログインしても自分の$HOMEで同じ環境にするには
ふつーNFSだろ。
0346名無しさん@お腹いっぱい。2008/04/14(月) 21:03:29
寝室でエロ動画ばっか見てないで、たまには奥さんの相手してやれよ。
0347名無しさん@お腹いっぱい。2008/04/14(月) 21:32:01
恥ずかしがり屋の妻がPCの中から出てきてくれません
0348名無しさん@お腹いっぱい。2008/04/14(月) 22:19:54
君のPCの中にいてくれるならそれでいいじゃないか
0349名無しさん@お腹いっぱい。2008/04/14(月) 22:33:23
>>348
生きろ
0350名無しさん@お腹いっぱい。2008/04/15(火) 02:29:46
/homeを共有したとしてもログインするためのアカウントやパスワード情報がシェアできなきゃ意味なくね?
0351名無しさん@お腹いっぱい。2008/04/15(火) 03:40:35
ホームと比べて人力同期の手間が大した事ない上にスレ違い。
0352名無しさん@お腹いっぱい。2008/04/15(火) 06:27:47
>>350
だから NIS使うんだろ。
0353名無しさん@お腹いっぱい。2008/04/15(火) 07:42:33
NFSはv4でTCPだけで使えるようになったけど、
NISはやっぱりportmap必須でポートの制御が難しいね。
LDAPでもよくね?
0354名無しさん@お腹いっぱい。2008/04/15(火) 08:48:17
UDP通してなんか問題ある? ポートの制御? そのなの必要ある?
0355名無しさん@お腹いっぱい。2008/04/15(火) 13:48:51
ていうかエルダップ使えよ、
国民は全員使ってるぜ、おまえんち以外は。
0356名無しさん@お腹いっぱい。2008/04/15(火) 14:14:35
そもそもportmap(rpcbind)は、ポート番号を意識せずに、
さらに言えば、下位レイヤーがTCP/IPソケットかどうかすら意識せずに
通信できる上位レイヤーのための概念だ。
それを使わずにポート番号固定にしてTCP/IPに依存するのは昔の考え方。
0357名無しさん@お腹いっぱい。2008/04/15(火) 14:24:09
誰も固定にするなんて言っていない。
0358名無しさん@お腹いっぱい。2008/04/15(火) 14:47:45
そういう場合はどうすると言ったのかを言わないと「固定にする」と言ったとみなされたままになる。
0359名無しさん@お腹いっぱい。2008/04/15(火) 22:30:41
べつにNISでもLDAPでもNetInfoでもいいよ
0360名無しさん@お腹いっぱい。2008/04/16(水) 02:54:04
>>359
比較するとしたらどれが良いと思う?
0361名無しさん@お腹いっぱい。2008/04/16(水) 04:21:04
LDAP
0362impress入門者2008/04/16(水) 16:14:03
>>682, 683

マイレイアウト追加って出来ますか?
数式の規定フォントの指定って出来ますか?
0363名無しさん@お腹いっぱい。2008/04/16(水) 16:25:44
NFSじゃ無理
0364名無しさん@お腹いっぱい。2008/04/16(水) 22:21:40
いや、なんとかすりゃできるかもよ?
俺は教えないけどね
0365名無しさん@お腹いっぱい。2008/04/19(土) 03:14:55
NFSで/usrをシェアするってどうなの?
0366名無しさん@お腹いっぱい。2008/04/19(土) 06:55:24
どうって、普通だよ
0367名無しさん@お腹いっぱい。2008/04/19(土) 13:57:21
や、/usr/localを共有するもんだと思ってたんだけど
>>365みたく/usrなんて共有していいものなのか?
0368名無しさん@お腹いっぱい。2008/04/19(土) 14:53:31
>>367
/usrだからこそ共有していい。

ホスト間で共有できるものは /usr以下(/usr/bin /usr/lib /usr/sbin等)に。
ホスト間で共有できないものは /etc /var /bin /sbin /lib等に
というルールになっている。
Solarisではホスト間で共有できるファイルを増やすため、
/binをsymlinkにして、すべて/usr/binに移動している。
0369名無しさん@お腹いっぱい。2008/04/19(土) 16:58:26
NFS鯖に障害が出たときにすげー面倒くさそう。/sbinだけあってもなぁw
用途や規模や更新頻度にもよるけど、漏れはrsyncとかパッケージの管理とかで
統一する方が好きかな。
0370名無しさん@お腹いっぱい。2008/04/19(土) 21:36:28
んじゃ、NFSじゃなくrsyncで全ホスト間の/usrで同期をとるならば
cronとかで定期的に親機から全ホストに対してrsyncするスクリプトを叩く、でおk?
一時間おきとかに。
0371名無しさん@お腹いっぱい。2008/04/20(日) 11:17:05
パッケージとパッチ使えよ。
0372名無しさん@お腹いっぱい。2008/04/20(日) 12:23:00
/usr以下なら、更新したタイミングで同期すればいいじゃない
0373名無しさん@お腹いっぱい。2008/04/20(日) 12:58:33
ガチで管理したいならもうpuppetとか導入しちゃった方がいいんじゃない?
0374名無しさん@お腹いっぱい。2008/04/25(金) 02:29:03
パペットってどうよ?
10台以下の環境で使うほどの必要あるかな
0375名無しさん@お腹いっぱい。2008/04/27(日) 10:35:38
RDISKはNFSですか?
0376名無しさん@お腹いっぱい。2008/05/02(金) 07:46:00
NFSでマウントしたボリュームについても,クライアント側で
通常のファイルシステムのようにキャッシュは有効なのでしょうか?

NFS 鯖においてあるファイルを NFSv3 でマウントして,
そこそこ大きなファイル(10M程度のログファイル)を
何度も読み込むとすると,何度もトラフィックが発生
するものなのでしょうか?

Linux ユーザなのですが NFS のスレが Linux 板にないのでここに来ました.
なお,FS-Cache とか cachefilesd は使っていません.
通常のディスクキャッシュの仕組みがNFSでマウントした
ボリュームでも働くかどうかということです.
0377名無しさん@お腹いっぱい。2008/05/02(金) 07:51:22
>>376
当然キャッシュされる。もちろん、クライアントの搭載メモリ次第だが。
同じファイルを読み込む場合、2回目は速い。
0378名無しさん@お腹いっぱい。2008/05/02(金) 09:19:12
>>376
man 5 nfsも読んどいてくれ
03793762008/05/02(金) 13:35:30
レスありがとうございます。最近NFSを利用している
クライアントマシンから「NFSが気絶してる」という
苦情を受けるので、使い方を聞いてみたら10000個ほどの
10MB程度のファイルを次々と grep しただけ、とのこと。
しかも1ファイルごとに100回くらい読み直したとのコト。

せめてクライアント側でキャッシュが有効なら同じファイル
100個読むのは別に負荷じゃないよなぁとおもったのです。

さきほど nfsstat をサーバ側でやってみたら、

Server nfs v3:
null getattr setattr lookup access readlink
6 0% 18278453 80% 143964 0% 781712 3% 2524218 11% 0 0%
read write create mkdir symlink mknod
352987 1% 455073 1% 54698 0% 6321 0% 0 0% 0 0%
remove rmdir rename link readdir readdirplus
51737 0% 5598 0% 88 0% 0 0% 107265 0% 27950 0%
fsstat fsinfo pathconf commit
8 0% 2 0% 0 0% 17191 0%

うむむ、getattr だけで 80% らしい。80% というのが回数なのか
そのコールを処理するのにかかった時間なのかわかりませんが、
なんにせよ getattr 恐るべし。man 5 nfs によるとディレクトリ
エントリがらみのキャッシュ時間を設定しろということなのでしょうか。

うちの使い方では関係ないですが、ディレクトリエントリを
キャッシュしちゃうとロックファイルのような使い方を
してるアプリケーションにとってはまずいことがおきる?
0380名無しさん@お腹いっぱい。2008/05/02(金) 13:44:43
>>379
RHEL4ならbugzilla見にいけ
03813762008/05/02(金) 16:31:35
>>380
サーバは Ubuntu LTS 6.0.6 LTS です。が
今使ってるカーネルのバージョンに絡んだ何かが
あるかもしれないので時間のあるときに見てみます。

ところで、みなさん nfsd の数ってどうやって最適値を
見積もってらっしゃるんでしょうか? デフォルトが 8
だし、デュアルコアだから 16、いや、20 くらいにしておこう
程度の発想しかできないんですが、たとえば /proc 以下の
何かをモニタしていればヒントが得られるのでしょうか。
0382名無しさん@お腹いっぱい。2008/05/02(金) 16:42:55
>>381
ttp://nfs.sourceforge.net/
03833762008/05/02(金) 18:48:15
>>382 THX
0384名無しさん@お腹いっぱい。2008/05/03(土) 01:38:24
>>379
NFSマウントしているところで、
シリアスな「ロックファイル」を使っちゃいかん。
firefoxの二重起動禁止程度の奴なら実用上問題ないけど。
0385名無しさん@お腹いっぱい。2008/05/05(月) 02:07:33
NFSで10台くらいとシェアするとやっぱりパフォーマンス落ちますか
0386名無しさん@お腹いっぱい。2008/05/05(月) 03:26:14
サーバによるよ。
ローカルディスクより速いサーバは一杯ある。
0387名無しさん@お腹いっぱい。2008/05/05(月) 12:57:28
ML115なんですが
0388名無しさん@お腹いっぱい。2008/05/05(月) 13:56:40
マウントするだけなら変わらない(当たり前?)。
少々のコマンドを読む程度ならそれもあまり変わらない。
I/Oを大量に発生させるクライアントが多ければ、下がる。

としか言いようがないよ。

ここ参考にならんかな?
http://www.spec.org/benchmarks.html#nfs
ならんか。
0389名無しさん@お腹いっぱい。2008/05/05(月) 14:27:08
実際にやってみて問題がでたら、ひとつずつ解消してきゃいい。
そういう手間暇かけて試行錯誤するのが許されず、
一発で正着が欲しいなら、経験のある人に頼めばいい。
0390名無しさん@お腹いっぱい。2008/05/05(月) 17:06:14
NFSやるならNISも必須だろ
0391名無しさん@お腹いっぱい。2008/05/05(月) 18:03:12
いやそれほどでも
0392名無しさん@お腹いっぱい。2008/05/05(月) 19:49:13
NISとかLDAPとかNetInfoとかアカウント管理なくても、
NFSプロトコルは問題なく動きます。
0393名無しさん@お腹いっぱい。2008/05/05(月) 20:00:13
アカウント管理なんてする必要あるのか?
100台だろうが1万台だろうが、手作業でアカウント設定すりゃいいじゃん
0394名無しさん@お腹いっぱい。2008/05/05(月) 20:05:59
アイデンティティ管理って奴ですかな。
0395名無しさん@お腹いっぱい。2008/05/05(月) 20:07:52
認証したい時(UNIX認証は除く)はsecure RPCかKerberosが必要になる。
03963952008/05/05(月) 20:08:47
>>395
Secure RPCのDES認証かKerberos認証というべきだった。
0397名無しさん@お腹いっぱい。2008/05/08(木) 11:00:16
サーバ、クライアントともに
Ubuntu Linux 6.06 LTS
kernel 2.6.15
で nfs4 での利用を試みているのですが、
ブート後数日は普通に動いているのに
いつの間にか ls すると Input/ouptut error
と表示されるようになります。

でもディレクトリエントリが取得できないだけで
そこにあるはずのファイルは読み書きできます。
何が起こっているのでしょうか?
ちなみに Netfilter (iptables) や hosts.{allow|deny}
での制限は一切無しの状態です。

/etc/exports を書き換えて、同じ場所を
NFS v3 でエクスポートしてマウントすると
普通に ls できます。NFS において ls だけできない
(そこにあるはずのファイルにはアクセスできているのに)
というのはどんな状態なのでしょうか?
0398名無しさん@お腹いっぱい。2008/05/08(木) 11:05:27
>>397
>というのはどんな状態なのでしょうか

普通に、ディレクトリだけが読めない状態。
NFS関係なしに、
chmod a-r .
ってやると、カレントディレクトリをlsできなくなるが、
その下にあるファイルは(ファイル名がわかっていれば)読める。
03993972008/05/08(木) 11:12:12
複数台あるファイル鯖で、NFS v3 で普通はマウントしていて
幸せな暮らしを営んでいるのですが、ファイアウォールの関係で
隣の部署からは NFS v4 (proto=tcp) でマウントしています。

そいつだけたまにディレクトリエントリが見えなくなるのです。
ファイルにはアクセスできているので気づかないことも多いです。
障害発生時刻とログをつぶさに観察していると

nfs_update_inode : inode number mismatch
expected (0:14/0x2), got(0:14/0xb001)

がサーバ側で出たあとにクライアント側からディレクトリ
エントリが見えなくなるようです。それが出たあとも
気を取り直して NFS v3 でマウントしているクライアントからは
何も障害が見えません。

さらに NFS 鯖のログをさかのぼってみていると
nfs4_cb : server xxx.xxx.xxx.xxx not responding, timed out
が頻繁に出ています。これと関係あるのでしょうか。
nfs4_cb が何かこれからググろうと思いますが、
属性キャッシュがらみなのだろうか・・
0400名無しさん@お腹いっぱい。2008/05/08(木) 11:17:59
まずfirewallを疑えよ。
firewallの中でnfs4で確かめてみたら。
0401名無しさん@お腹いっぱい。2008/05/08(木) 11:18:43
スキルもなく実績もないUbuntuLTSなんか使うなよ。
04023972008/05/08(木) 11:42:00
>>400
ファイル鯖上で localhost がエクスポートしているものを
localhost でマウントしても同じ障害が発生します。
とりあえず週末に業務が終わったらカーネルを差し替えるべく
VMware 上で他のバージョンのカーネルでの挙動を確かめてみます。
0403名無しさん@お腹いっぱい。2008/05/08(木) 11:59:23
TCPにしたいだけなら、NFSv3のTCPにすればいいじゃないか。
04043972008/05/08(木) 13:06:30
>>403
できれば idmap も使いたく・・
0405名無しさん@お腹いっぱい。2008/05/08(木) 13:12:41
uid振り直して統一しておけばいい。
0406名無しさん@お腹いっぱい。2008/05/08(木) 13:19:01
Googleもいいけど、そこまでログ追ったならソースコード見た方が早いよ
0407名無しさん@お腹いっぱい。2008/05/09(金) 17:45:30
サーバをSolarisに変えろ! > NFSv4
0408名無しさん@お腹いっぱい。2008/05/10(土) 04:31:26
>>397
NFSv4 で認証した時のプロセスID が変わってたらそれが原因の一つでは?

任意の時間で、チェックしてアクティブに umount してからマウントしな
おすと何事もなかったように見えるのではないでしょうか。
0409名無しさん@お腹いっぱい。2008/05/11(日) 14:29:05
>>407みたいなこという人ってどこまで本気なんだろう?
0410名無しさん@お腹いっぱい。2008/05/12(月) 18:17:58
まじ
0411名無しさん@お腹いっぱい。2008/05/13(火) 15:31:21
LinuxでNFSサーバとかどこまでマジなの? という切り口もあるので
どっちもどっち。立ち位置の違いに過ぎない。
0412名無しさん@お腹いっぱい。2008/05/13(火) 16:10:19
NECと富士通の独自NFSサーバはLinux製。
ただしNFSモジュールは別途開発したものに差し替えてる。
0413名無しさん@お腹いっぱい。2008/05/15(木) 00:31:40
nfs mount 時の rsize, wsize ですが、これを指定しない場合は
いくらになるんでしょうか?
0414名無しさん@お腹いっぱい。2008/05/15(木) 07:00:16
>>413
指定しなければデフォルトの値になります。
指定しなかったからといって決して 0にはなりませんので、ご安心ください。
■ このスレッドは過去ログ倉庫に格納されています