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

【NFS】Network File System

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2006/03/28(火) 11:42:41
nfsに関する話題を扱うスレ
0667名無しさん@お腹いっぱい。2009/01/05(月) 08:23:39
UNIX類はほとんど一緒。
0668名無しさん@お腹いっぱい。2009/01/05(月) 08:34:54
知ったか乙
0669名無しさん@お腹いっぱい。2009/01/05(月) 09:15:27
そういや元質問者は OS もバージョンも書いてないのぅ…
0670名無しさん@お腹いっぱい。2009/01/05(月) 09:55:33
>>666
そういう場合は、自分の知っているOSの場合について回答すれば良い。

「OSわからないと答えられない」という奴に限って、
OSがわかっても答えられない。
0671名無しさん@お腹いっぱい。2009/01/06(火) 08:30:00
まあなんだ、いろいろ乙
0672名無しさん@お腹いっぱい。2009/01/06(火) 09:03:09
>>663
man 5 で nfsの項目があるのは Linuxだと、エスパーならわかる。
0673名無しさん@お腹いっぱい。2009/01/06(火) 13:46:50
>>670
どうぞどうぞ。
0674名無しさん@お腹いっぱい。2009/01/16(金) 05:24:18
nfsv4 だと単一ファイルシステムとしてエクスポートしますが、
そのためのディレクトリってどこが標準なんでしょうか。
/export とか /shared とか、これは標準ってないもんですか?
0675名無しさん@お腹いっぱい。2009/01/16(金) 09:09:01
ないね。
0676名無しさん@お腹いっぱい。2009/01/16(金) 09:17:34
NFSエクスポートするディレクトリ名は、

/lBd1sZ35XRpAl

みたいに、ランダムで覚えられない大小英文字と数字の組合せにしましょう。
LAN内からの悪戯でマウントされるのを防ぐためです。
0677名無しさん@お腹いっぱい。2009/01/16(金) 09:28:33
つ showmount -e hostname
0678名無しさん@お腹いっぱい。2009/01/16(金) 09:44:09
「つ」のレスは、外してる、の法則成立
0679名無しさん@お腹いっぱい。2009/01/16(金) 10:00:09
pgr
0680名無しさん@お腹いっぱい。2009/01/16(金) 10:05:22
ちゃんと説明できないから「つ」でごまかしてんだよな。
0681名無しさん@お腹いっぱい。2009/01/18(日) 10:24:18
>LAN内からの悪戯でマウントされるのを防ぐためです。

それで防げるのか?
0682名無しさん@お腹いっぱい。2009/01/18(日) 11:42:06
管理しきれないホストがつながるセグメントなのに、
exportsにセグメントを指定しているのか?
0683名無しさん@お腹いっぱい。2009/01/19(月) 06:29:35
nfs4でマウントしているんだけど,rpc.idmapdが動いているのに
クライアント側にはUID=GID=4294967294 で公開されてる.
俺の rpc.idmapd ちゃんがちゃんと動いているかどうか
もっと詳しく知りたいのだが…
06846832009/01/19(月) 06:31:51
サーバは Debian i386 クライアントは Debian sparc で
クライアント側のログはこんな感じ.

Jan 19 06:30:00 nas-01-CD-4C rpc.idmapd[8371]: libnfsidmap: using domain: localdomain
Jan 19 06:30:00 nas-01-CD-4C rpc.idmapd[8371]: libnfsidmap: using translation method: nsswitch
Jan 19 06:30:00 nas-01-CD-4C rpc.idmapd[8372]: Expiration time is 600 seconds.
Jan 19 06:30:00 nas-01-CD-4C rpc.idmapd[8372]: Opened /proc/net/rpc/nfs4.nametoid/channel
Jan 19 06:30:00 nas-01-CD-4C rpc.idmapd[8372]: Opened /proc/net/rpc/nfs4.idtoname/channel

プロセス自体は起動しているようなんだが.
0685名無しさん@お腹いっぱい。2009/01/19(月) 08:37:06
つ rpc.idmapd -d "exsample.com" -f -vvv
0686名無しさん@お腹いっぱい。2009/01/19(月) 22:32:30
一般的にNAS(NFS)にDBを乗せるとパフォーマンスが出ないって言いますが、
FibreChannelのストレージだと乗せても大丈夫と聞きました。
ロックの問題があるかもしれませんが、それ以外の部分でNFSがFibreChannelに劣っている部分ってどこですか?
0687名無しさん@お腹いっぱい。2009/01/19(月) 23:33:27
ローレベルなアクセスができないことだな。
VFSを経由したアクセスがすべて。
0688名無しさん@お腹いっぱい。2009/01/20(火) 13:08:46
>>686
>>687 の指摘通り、
DBエンジンがストレージの下の層へ直接アクセスできないのが弱点。

NASを使用した場合、ファイルシステムを介してのみ
表領域へアクセスできるわけで、
SANの時には介在しない層がオーバーヘッドになってくる。

まあ、Oracle 本社みたいに、NAS使ってる事例もあるから
一長一短じゃないかなと。

今はNASをSANに統合(SANにNASコントローラを接続)する方法も、
NASにSANを統合(NASがSANをエミュレーション)する方法も
あるから、何を重視するかによって選べば良いのでは。
0689名無しさん@お腹いっぱい。2009/01/20(火) 22:07:26
NASだとパフォーマンスでないというか、
NASだとパフォーマンスでない設定が簡単にできるって感じかな。
長い時間書込みが続くような非現実的なベンチだとかなり差がつくけど。
0690名無しさん@お腹いっぱい。2009/01/23(金) 15:49:29
ここで聞くべきかどうか分からんがちょっとこれを見てくれ

〔NFSサーバ側〕
[hostA]と[hostB]
OS:solaris 10 x86
3台のHDD(ATA)全体をZFSのストライプで構成
sharenfs=onで共有
どちらもオンボードコントローラでハードウェアRAID無し

相違点はHDD
[hostA]が20G×3
[hostB]が40G,60G,160G

〔クライアント側〕
OS:winXP(SFUを導入)
TCPでハードマウント、再試行間隔:0.8秒、読み取りバッファ:16KB、書き込みバッファ:32KB
ユーザー名マッピングはpasswd,groupを利用

〔問題点〕
winXPからhostAの共有をエクスプローラで表示する際
hostBに比べて表示速度がかなり遅い(3分以上かかる場合がある)

〔環境〕
どのマシンも100BASE-Tの全二重、同じサブネットに属する
1つのHUBに3台のみの環境でテストしたためこれ以外のトラフィックは無し

というわけなんだが誰か何か分かる人居ないかな?
他に情報が欲しければ出すけど
0691名無しさん@お腹いっぱい。2009/01/23(金) 17:35:13
なんという上から目線・・・
0692名無しさん@お腹いっぱい。2009/01/23(金) 18:08:52
お取り引き先業者にインシデント先払いにてお申し付けください
0693名無しさん@お腹いっぱい。2009/01/23(金) 22:09:59
>>690
欲しい情報はオマエの名前と会社名
0694名無しさん@お腹いっぱい。2009/01/23(金) 23:20:18
AとBそれぞれにアクセスした際のtcpdump結果を比較しる。
0695名無しさん@お腹いっぱい。2009/01/23(金) 23:24:16
tcpdump結果…?
問題ありませんが、
ハイ次。
0696名無しさん@お腹いっぱい。2009/01/23(金) 23:27:07
終了
ハイ次。
0697名無しさん@お腹いっぱい。2009/01/23(金) 23:32:40
すみませんが詳しい方のみ回答をお願いします
0698名無しさん@お腹いっぱい。2009/01/23(金) 23:43:27
ワロスw
遅いってんだから、どっかで遅延してる原因があるだろ?
タイムスタンプ付きでtcpdumpして、そのポイントを調べろよ。
まずは切り分けして行くことが大事だろうて。
0699名無しさん@お腹いっぱい。2009/01/23(金) 23:43:43
すみませんが、インシデント料をお支払いただける方のみ質問をお願いします
0700名無しさん@お腹いっぱい。2009/01/23(金) 23:45:42
終了だな。はい、次の方〜
0701名無しさん@お腹いっぱい。2009/01/23(金) 23:50:57
質問料は払えませんが、NFSって何でステートレスなんて無謀な事考えたんですか?
0702名無しさん@お腹いっぱい。2009/01/23(金) 23:54:04
終了
ハイ次。


0703名無しさん@お腹いっぱい。2009/01/24(土) 00:03:47
>>701
サーバを再起動しても、
ファイルサービスを続行できるから。
0704名無しさん@お腹いっぱい。2009/01/24(土) 00:27:00
裏2chに原因書いておいたよ
0705名無しさん@お腹いっぱい。2009/01/24(土) 00:28:55
ワッフルワッフル
0706名無しさん@お腹いっぱい。2009/01/24(土) 16:25:41
よくあるミスだが、
ホスト名の解決ができずに、応答待ちになっている。
WebDAVが有効になっていて、その応答待ちになっている。
0707名無しさん@お腹いっぱい。2009/02/22(日) 09:30:08
idmapd を使ったからといって、パーミッションまで
面倒みてくれるわけじゃないんだね・・・

ls -ln で見る限りちゃんとUIDのマッピングもやってくれてる
ように見えるけど、いざ touch x とかやると Permission denied になる。

http://linux-nfs.org/pipermail/nfsv4/2009-January/009809.html
0708名無しさん@お腹いっぱい。2009/02/22(日) 09:45:16
AuthorizationはRPCでやっているので、
NFSしか面倒を見ないidmapdで、
remoteのauthorizationをどうこうするわけにはいきません。
0709名無しさん@お腹いっぱい。2009/02/22(日) 14:04:00
ふうむ、そうなんですか…
ではidmapdって何のためにって感じもするんですが
uidとユーザ名合わせておかなきゃならないなら
いままで通りNISと合わせて運用するのがいいみたいですね。
0710名無しさん@お腹いっぱい。2009/02/22(日) 14:08:09
今はLDAPでしょ。
0711名無しさん@お腹いっぱい。2009/02/22(日) 15:00:20
Kerberosって帰ってくると思ってた.
0712名無しさん@お腹いっぱい。2009/02/22(日) 15:07:59
NFSとCIFSのパフォーマンスの比較について書かれたドキュメントってありません?
0713名無しさん@お腹いっぱい。2009/02/22(日) 17:54:38
>>711
Kerberosは、authorizationが足りません。
LDAPで言うところのNIS schemaがない。
つまりuid, gid, グループ所属、パスワード期間を管理できない。
>>712
プロトコル上の優劣はほとんどないです。
それより問題になるのはAAAの仕組み、
特にauthorizationの仕組みが違うことでしょう。
0714名無しさん@お腹いっぱい。2009/03/28(土) 11:27:12
solarisで言うforcedirectioってLinuxだとどうやって設定したらいいですか?
0715名無しさん@お腹いっぱい。2009/03/28(土) 11:28:16
Solarisで言うforcedirectioってLinuxだとどうやって設定したらいいんですか?
0716名無しさん@お腹いっぱい。2009/03/28(土) 11:38:23
キャッシュ切れないです。
i-nodeの方だけnoacで切れます。
0717名無しさん@お腹いっぱい。2009/04/01(水) 21:45:44
どこかにRFC1813の和訳はありませんか?
0718名無しさん@お腹いっぱい。2009/04/01(水) 22:01:10
ググった限りない。
自動翻訳版 ttp://pentan.info/doc/rfc/j1813.html
0719名無しさん@お腹いっぱい。2009/04/05(日) 10:19:38
Linux (RHEL) の NFS クライアントに forcedirectio 機能はないよ。
他のディストリビューションは知らん。
0720名無しさん@お腹いっぱい。2009/05/17(日) 16:24:51
>>714
noac,syncでforcedirectoioぽいかなとおもったけど差が分からん・・・
0721名無しさん@お腹いっぱい。2009/05/18(月) 22:43:42
NASの移行考えているけど、rsyncよりいい方法ない?

ベンダー製品はタケーし
0722名無しさん@お腹いっぱい。2009/05/21(木) 18:20:04
>>721
なんでrsync以外のものを探しているのか書かないと誰からもレス付かない予感
0723名無しさん@お腹いっぱい。2009/05/21(木) 22:45:30
>>721
一回こっきりのデータ移行ならrcp,scpとか
0724名無しさん@お腹いっぱい。2009/05/23(土) 08:06:33
NFSのクライアント側でのデータ本体(メタデータ部分ではなくて)
のキャッシュって Linux だと FS-Cache というのが標準的
なんでしょうか?
0725名無しさん@お腹いっぱい。2009/06/11(木) 10:50:00
LinuxでNFS4はいつまでexperimentalなんだよ〜
0726名無しさん@お腹いっぱい。2009/06/14(日) 12:31:27
NFS4ってステートレス、Kerberos認証があるとかは分かるんだが、
この他にNFS3と比較してパフォーマンス面などで有利な点はあったりする?

今自宅のLinuxマシンのファイルサーバをNFS3で運用しているんだが、
小規模な構成でもNFS4を使う意味があるなら移行しようと思っているので。
0727名無しさん@お腹いっぱい。2009/06/14(日) 12:50:05
>>726
こんなん?
http://www.linux.com/archive/feature/138453
http://sourceforge.jp/magazine/08/07/02/0114246/3
0728名無しさん@お腹いっぱい。2009/06/14(日) 13:21:18
>>727
トンクス。
やっぱり今の段階ではあまり移行する意味は無いんだな。
exportするディレクトリを一々bindマウントするのも面倒だから
あと数年はNFSv3で頑張ることにするわ。
0729名無しさん@お腹いっぱい。2009/06/14(日) 14:17:46
>>726
> NFS4ってステートレス、Kerberos認証があるとかは分かるんだが、

v3に追加されたのはステートフルの方です。
NFSは昔からステートレス。
Kerberos認証も昔からありました。(v2でも運用経験あり)

ステートフル以外にもcompound operationがあるので、
v4は速度的に有利ですが、
Linuxその他PC-UNIXなら速度以上に枯れたNFSスタックを使うことが優先では?
NASサーバ+Solarisクライアントならv4の方が速いですが。

結局Linuxにしても*BSDにしても、
パフォーマンス改善やるほど人手がない感じですね。
Linux使った商用NASサーバあたりは自前のNFSスタックです。
07307292009/06/14(日) 14:18:26
< v4に追加されたのはステートフルの方です。

の間違い
0731名無しさん@お腹いっぱい。2009/06/14(日) 14:40:39
>>729
ステートフルと書いたつもりだったのにtypoでした。

色々と参考になる情報ありがとうございます。
やっぱり今でもNFSはお膝元のSolarisが一番なんですね。
自宅で夫婦2人で2TB程度のLinuxファイルサーバにアクセスする程度なんで
そこまで枯れてなくても良いんですが、パフォーマンスが出ないようなので。
NFSのユーザが少なくなってきたからなのか、寂しい限りです。
0732名無しさん@お腹いっぱい。2009/06/14(日) 18:53:05
>>夫婦2人で
ステートフルよりハートフル
0733名無しさん@お腹いっぱい。2009/06/14(日) 19:24:18
俺は今年もハートレス
0734名無しさん@お腹いっぱい。2009/06/15(月) 14:36:49
>>731
でかいファイルのコピーに限れば、
sambaの方が速いケースもあります。
0735名無しさん@お腹いっぱい。2009/06/23(火) 05:17:58
ポートの制御がしやすいからNFSv4のほうが好きだな。
男らしく / ごと export してるぜ。
0736名無しさん@お腹いっぱい。2009/06/23(火) 08:06:16
男らしくっつーかNFSv4のダメなところをしかたなくそれで対処してるじゃん
0737名無しさん@お腹いっぱい。2009/06/23(火) 19:02:33
ファイル転送ならば無理にmountしなくても
ftpかsftp でいいんじゃないかと思うのですが...スレチごめん
0738名無しさん@お腹いっぱい。2009/06/24(水) 21:21:38
任意のタイミングで意図的にgetattrさせたいのですが良い仕組みはないでしょうか?
できればシェルスクリプトとかPerlで出来ると嬉しいのですが・・・・・
0739名無しさん@お腹いっぱい。2009/06/24(水) 23:07:43
つ stat(2)
0740名無しさん@お腹いっぱい。2009/07/10(金) 10:22:18
NFS サーバ側からのコマンドか何かで、どれだけの NFS クライアントが現在
マウント中かを見ることってできますか?サーバは Linux です。
0741名無しさん@お腹いっぱい。2009/07/10(金) 10:58:15
showmount
0742名無しさん@お腹いっぱい。2009/07/10(金) 11:02:45
クライアントが落ちたりしてもそのままだし当てにならんよ
0743名無しさん@お腹いっぱい。2009/07/10(金) 11:05:16
>>741
「現在」マウント中かを見ること

showmountでは、「過去」のmountまですべて表示される。質問欲嫁。
0744名無しさん@お腹いっぱい。2009/07/14(火) 22:23:36
>>743
> すべて表示
「すべて」は表示されんよ。mountしてからちゃんとumountしてみ。
0745名無しさん@お腹いっぱい。2009/07/14(火) 22:29:04
>>744
umountしても shoumountには表示される。当然何度も試した。常識。

それがステートレスというもの。サーバー側にはmount中かどうかは原理的にわからない。
0746名無しさん@お腹いっぱい。2009/07/14(火) 22:35:24
俺も試してから言ってるんよ
0747名無しさん@お腹いっぱい。2009/07/14(火) 22:43:34
ちなみに、RFC 1094 の A. あたりに、
mount/umountに関連したプロトコルは定義されてるから、
それをちゃんと実装してあれば、不確実かもしれないけどマウント状態は把握可能。
0748名無しさん@お腹いっぱい。2009/07/14(火) 22:45:14
umount の時点で UMNT procedure を発行する OS を見たことがない。
もし存在するなら、その OS を教えて欲しい。
0749名無しさん@お腹いっぱい。2009/07/14(火) 23:11:52
あぁ、FreeBSDはてっきりnfsレベルでやってるのかと思ってた。
調べたらumountが直接RPCMNT_UMOUNTを送ってて、
mountdがmounttabから消してるわ。

ともかく、umountすればshowmountから消える実装はあるってことで。
0750名無しさん@お腹いっぱい。2009/07/15(水) 00:05:26
>>745
> umountしても shoumountには表示される。当然何度も試した。常識。
> それがステートレスというもの。サーバー側にはmount中かどうかは原理的にわからない。

どれだけ理解が出鱈目なんだよ、お前は。
0751名無しさん@お腹いっぱい。2009/07/15(水) 14:00:56
>>749
umountシステムコールのレベルじゃやってないよね。
0752名無しさん@お腹いっぱい。2009/07/15(水) 14:59:08
スレのレベルに恐れおののきながらNFSを初めて使った者が質問します。

サーバ側 Mac XServe、クライアント側 Linuxなのですが、
サーバ(XServe)を再起動などして接続が一旦切れてしまった後、
クライアントが自動的に再度正常にマウントしてくれず↓のような状態になります。

# df /XServe
ファイルシステム サイズ 使用 残り 使用% マウント位置
192.168.11.3:/Volumes/export
- - - - /XServe

もちろん正常な場合にはサイズ、使用容量などの数字が表示されるのですが。
この状態のとき
○ ls するとマウントポイントも見えなくなっている
○ 手動で umount → mount をやると正常に使えるようになる
○ コンソールや/var/log 以下にエラーメッセージは一切出ていない
という状況です。
マウントオプションは rw,hard,intr が指定されており、
もちろんfstabの指定でクライアント側の起動時にも正常にマウント & 読み書きできています。

サーバ復帰後、自動的に再度マウントさせるにはどうすればよいのでしょう?
0753名無しさん@お腹いっぱい。2009/07/15(水) 15:01:00
あ、dfの表示が崩れてしまった。

要するに全項目「-」の表示になっていて
マウントポイントは /XServe です。

失礼しました。
0754名無しさん@お腹いっぱい。2009/07/15(水) 22:48:43
>>752
とりあえずOSのバージョン位は書こうや
0755名無しさん@お腹いっぱい。2009/07/15(水) 22:51:34
>>754
バージョン書いてもキミには答えられない
0756名無しさん@お腹いっぱい。2009/07/15(水) 23:06:12
>>752
autofs使えば?
0757名無しさん@お腹いっぱい。2009/07/16(木) 01:49:32
>>752
少なくともサーバ/クライアントの片側くらいは、
まともな実装にした方がいいと思われ
0758名無しさん@お腹いっぱい。2009/09/12(土) 12:44:52
FreeBSDでは、touch -h コマンドなどで symlink自体のタイムスタンプを
任意の時刻に変更できますが、SolarisやLinuxでは出来ません。

ところが、SolarisまたはLinuxをNFSサーバーとして、
それをFreeBSD(NFS client)に mountして、
FreeBSD上で touch -h を実行すると、
Solaris(またはLinux)のファイルシステム上の symlinkのタイムスタンプを
変更できるのです。

これはどういうことでしょうか?
OSの仕様上、Solaris(またはLinux)ではsymlinkのタイムスタンプを
変更する手段がないのかと思ったらそうではなく、
NFSを通せば変更できるとは。

ちなみに、Solaris(またはLinux)には lutimes()がないので、
システムコールではsymlinkのタイムスタンプを変更できません。
システムコールになくても、NFSを通すと可能になるって、
一体どういう仕組みでしょうか?

あと、Solaris(またはLinux)上で直接symlinkのタイムスタンプを変更するような
NFSの命令(?)を発行するにはどうすればいいですか?
0759名無しさん@お腹いっぱい。2009/09/12(土) 15:05:37
>これはどういうことでしょうか?
そういうことです。
0760名無しさん@お腹いっぱい。2009/09/12(土) 15:10:44
すみませんが詳しい方のみ回答をお願いします
0761名無しさん@お腹いっぱい。2009/09/12(土) 15:11:24
futimes(2)はないの?
新しいLinuxならlutimes(3)はある。
0762名無しさん@お腹いっぱい。2009/09/12(土) 15:14:47
>>761
futimes()はあるけど、これはシンボリックリンク自体を変更できないよ。
(lutimes()がないOSでもNFS経由でシンボリックリンクの時刻変更ができてしまう)

たぶん、システムコールは使ってなくて、
NFSサーバー専用の何らかのコールが存在してると踏んでいるんだけど。
0763名無しさん@お腹いっぱい。2009/09/12(土) 15:16:44
>>761
futimes()はあるけど、シンボリックリンクそのもののファイルディスクリプタを
取得できないから、futimes()ではタイムスタンプ更新できない。

(symlinkをopen()すると、リンク先のファイルが開く)
0764名無しさん@お腹いっぱい。2009/09/12(土) 15:19:52
>>762
utimensat(2) つかってんじゃねーの。
AT_SYMLINK_NOFOLLOWを指定して。
*at(2)系の必要性についてはPOSIXの解説でも読んで。
0765名無しさん@お腹いっぱい。2009/09/12(土) 15:26:19
>>764
それも考えたけど、
(f)utimensat(2) を使っても symlinkのタイムスタンプは変更できないんだよ。

*at(2)系の必要性は(知ってるけど)今の問題には関係ないので置いといて。
0766名無しさん@お腹いっぱい。2009/09/12(土) 15:35:36
AT_SYMLINK_NOFOLLOW
If pathname specifies a symbolic link, then update the times-
tamps of the link, rather than the file to which it refers.
だけど?
■ このスレッドは過去ログ倉庫に格納されています