1read 100read
2011年10月1期UNIX【NFS】Network File System
TOP カテ一覧 スレ一覧 削除依頼 ▼
・ 次のスレ
Linuxへのコンプレックスを正直に吐露するスレ
テキストエディタ総合スレ
どうしてUNIXユーザーはキモいの?
自分の情報整理スタイルを晒そうよ 4
【NFS】Network File System
- 1 :06/03/28 〜 最終レス :11/12/04
- nfsに関する話題を扱うスレ
- 2 :
-
/' ! ━━┓┃┃
-‐'―ニ二二二二ニ>ヽ、 ┃ ━━━━━━━━
ァ /,,ィ=-;;,,, , ,,_ ト-、 ) ┃ ┃┃┃
' Y ー==j 〈,,二,゙ ! ) 。 ┛
ゝ. {、 - ,. ヾ "^ } } ゚ 。
) ,. ‘-,,' ≦ 三
ゞ, ∧ヾ ゝ'゚ ≦ 三 ゚。 ゚
'=-/ ヽ゚ 。≧ 三 ==-
/ |ヽ \-ァ, ≧=- 。
! \ イレ,、 >三 。゚ ・ ゚
| >≦`Vヾ ヾ ≧
〉 ,く 。゚ /。・イハ 、、 `ミ 。 ゚ 。 ・
- 3 :
- nfsの利用は危険です。
- 4 :
- 玄箱をNFSサーバとして使ってる。
- 5 :
- NFSで接続したディレクトリをsambaで公開することはできないのでしょうか?
- 6 :
- OSによるんじゃね
- 7 :
- NFSマウントしたディレクトリをSambaで公開することなら、
OS関係なしにできる。
同じNFSディレクトリを、複数のホストでSamba公開すると
ファイルのロックが問題になるので、その点だけ注意すればいいだけ。
- 8 :
- nfsdのCPU使用率が異常に高いのですが、考えられる原因を教えてください
- 9 :
- マシンのスペックがしょぼい。
- 10 :
- NFSマンセー
- 11 :
- mount -t nfs 192.168.0.18:/usr/pkgsrc /usr/pkgsrc
とやったら
mount_nfs: rpcbind to nfs on server: RPC: Port mapper failure - RPC: Timed out
といわれるんですけど、何が原因かわかりますかね?
サーバ側のexportsには
/usr/pkgsrc -maproot=root:wheel 192.168.0.0/24
を記述しています
- 12 :
- >>11
それは、NFS鯖でportmapまたはrpcbindが起動していない時の症状。
rpcinfo -p 192.168.0.18
の結果貼ってみろ。
- 13 :
- >>12
ありがとうございます
rpcinfo -p 192.168.0.18
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
になります。
すいませんがよろしくお願いいたします
- 14 :
- うぅーーむ・・。
mountd
rpcbind
nfsd -tun 4
を起動しなおしたら
mount -t nfs 192.168.0.18:/usr/pkgsrc /usr/pkgsrc
mount_nfs: can't access /usr/pkgsrc: Permission denied
こうなりました・・。
どこのパーミッションを直したらいいんですかね・・・。 orz
- 15 :
- 貼れっていったんだから最後まで面倒見てやれよ
- 16 :
- >>14
rpcbindの問題は解決したようだね。
次の問題としては、NFS鯖側から見て、クライアントのIPアドレスが
逆引き出来てなくてPermission deniedになってる可能性がある。
あと、クライアントのOSにもよるが、
ソースポートがroot特権ポート以外からのmount要求になってる場合は、
NFS鯖側でinsecureまたはmountdに-nオプションとか、OSによって違うが
そういう設定が必要。
- 17 :
- >>14
LinuxでNFSやっているかも?と仮定してちょっとフォロー
1.NFS鯖でexportfs -a を行っているかチェック。
2.シンボリックリンクが存在し、リンク先が/etc/exports に記述されていない。
- 18 :
- >>17
>>14 ではrpcbindって言ってるからLinuxじゃないね。(Linuxはportmap)
- 19 :
- 一般に、返事がない場合はすでに解決済みとみなして良い。
何日も前の、しかも不備な質問に、わざわざエスパーして回答してやるこたぁない。
- 20 :
- NFSのshareオプションでanon=0と言う物がありますがroot=ホスト名との違いが今一つ
分かりません。
と言うのは、匿名ユーザからのNFSマウントと言う場面を実機で作り事が出来ないで
いるからです。UNIX機では、どんなUIDを用いても匿名ユーザ扱いされないように見え
ます。
anon=0を使用した場合、匿名ユーザからroot権限でmountするにはどの様にすれば良い
のでしょうか?
- 21 :
- >>20
それ、完全に勘違いしてるね。
NFSでは、セキュリティ上、rootで直接マウントできないように、
rootのNFSクライアントを匿名ユーザに置き換える。
で、この置換えを辞めてrootのままマウントさせるオプションが、
anon=0(匿名ユーザのUIDを0にするという意味)や
root=ホスト名、なわけ、root=ホスト名、の方が、
特定のホストにのみ許可できるから安全。
で、質問の、「匿名ユーザからroot権限でmountするには」
ということは普通はできない。UIDをマップするようなオプションを使えば
できるOSもあるが、一般的ではないし、そもそもそういうことをするのは危険。
- 22 :
- >>21
anon=0,rw=ホスト名 とroot=ホスト名は セキュリティ上、等価と考えて良いのですか?
- 23 :
- >>22
なんでやねん。
- 24 :
- >root=ホスト名、の方が、特定のホストにのみ許可できるから安全
anon=0でも、アクセス可能なホストを制限すればセキュリティ的に等価になるかなと
思ったのですが。
気になっているのはroot=ホスト名ではなく、anon=0を使用した場合のセキュリティ上の
リスクなんです。
- 25 :
- NFSv4 って使ってる人いる? もしいたら、OS とかストレージ名とか
使用感とか漠然とだけど聞きたいな。
- 26 :
- すんません、NFSのファイルのロックに関して教えてください。
サーバーがexportしている1つのディレクトリに対して、
2台のnfsクライアント(A,B)がマウントしています。
その2台のマシンから、exportされているディレクトリ以下にある、
ファイルに対してflockをかけるのですが、
Aでflockをした後、Bでもflockできてしまいます。
NFSで1つのファイルに対する排他制御って、flockでは
できないのでしょうか?それとも、NFSの設定がおかしいのでしょうか?
よろしくお願いします。
- 27 :
- >>26
NFSv3以前では無理と思うべき。NLMとかlockdとかあるけど、
あんなもんじゃ複数クライアントからのまともなロックはできん。
- 28 :
- >>26
NFSのロックはflock()じゃできない。
lockf()を使うこと。(またはfcntl())
常識中の常識。
あと、動いてるとは思うけど、lockf()が動作するには
(rpc.)lockdと、(rpc.)statd相当のデーモンが必要。
詳細はOSによって多少違うが。
- 29 :
- fcntlでも複数クライアントはできないんじゃない?
- 30 :
- >>29
lockf()は実はフロントエンドであって、
内部でfcntl()を呼んでるわけだが。
lockf()の関数は互換性のため残ってるだけ。
なので、fcntl()で当然排他制御ができる。
なお、NFSはv2であってもOKだよ。
- 31 :
- >>30
ん? なんか論点が食い違っているような・・・
flock, lockf, fcntlとNFSの関係に関しては漏れも理解しているつもり。
fcntlを使えばロックができることも知っているし、経験的にもそれが
出来てはいるんだけど、ただ、複数のクライアントのときにうまく
行かなかったのよね。サーバとクライアントが仕様通りの実装に
なっていれば、ちゃんとfcntlでロックできるもんなの?
2台のクライアントからすさまじく高速にロックルーチンを回す試験を
してて、たまにファイルがぶっ壊れてましたけどw
- 32 :
- 皆様レスありがとう。
>>30
了解です。
で、fcntlでロックをしようとすると、今度は
「No locks available」のエラーになっちゃう・・・
ローカルディレクトリで、同じプログラムを動作させると、
ちゃんとロックするんですが。
教えてくんですみませんが、原因などご存知でしたら教えてください。
- 33 :
- >>32
>>28 が書いてるとおり、lockd statdを起動していないからだと思われ。
- 34 :
- >>33
rpc.statdと、lockdはクライアント側、サーバー側で、
rpcinfo -p
で、statusとnlockmgrもいます。
クライアント側から、rpcinfo -p サーバーIPで、
サーバー側も見れます。
なにか設定がおかしいんでしょうかね・・・?
- 35 :
- >>34
fcntl()の、引数指定間違えてない?
一度 lockf()使って呼んでみれ。
- 36 :
- "No locks available"って、errnoに ENOLCKがセットされた時のエラーで、
ロックが多過ぎてロックテーブルがオーバーフローした状態なわけだが。
テストプログラム起動し過ぎてるとかない?
- 37 :
- 皆様、何度もご協力ありがとうございます。
>>35
実は、もともとの問題は、PHPのセッションファイルは、NFSマウントしたディレクトリに置いて、Load balancer配下のサーバーで
共有できるか?というところだったりします。んで、PHP4のセッションファイルを作成しているところのlソースを参照して、
そのロックの手法を抜き出して、そのままテストプログラムにしてます。
テストプログラムは以下のような感じで、
呼び出し側は、php_flock(fp, LOCK_EX)で、
関数は↓
int php_flock(int fd, int operation) {
struct flock flck;
int ret;
flck.l_start = flck.l_len = 0;
flck.l_whence = SEEK_SET;
if (operation & LOCK_SH)
flck.l_type = F_RDLCK;
else if (operation & LOCK_EX)
flck.l_type = F_WRLCK;
else if (operation & LOCK_UN)
flck.l_type = F_UNLCK;
else {
errno = EINVAL;
return -1;
}
ret = fcntl(fd, operation & LOCK_NB ? F_SETLK : F_SETLKW, &flck);
・・・・
}
です。
>>36
テストプログラムは、数多く起動はしていないです。テストプログラムをコンパイルした、
a.outを手動で起動しているだけなので。
- 38 :
- lockd/statdが使用してる(RPC登録してる)ポートを
ファイアーウォールとかで閉じてるんじゃない?
ポート番号は変化するので大変だけど。
rpcinfo -pだと、111ポートだけが開いてればstatus/nlockmgrが
表示されるけど、それだけだと確認にならない。
- 39 :
- 最近出来たスレなんですね。
お詳しい方がいらっしゃるので、私もこれから勉強していきたいと思います。
私はあまりNFSに詳しくないのですが、
以前からNFSROOT好きです。
Solaris/x86をNFSROOT化したり、
「Fedora Core Linux ディスクレス化キット」を開発したりしています。
昨日ホームページを開設しまして、「Fedora Core Linux ディスクレス化キット」
を公開しました。
http://wikiwiki.jp/disklessfun/?disklessfc
Fedora Core をカーネルリコンパイルせずにNFSROOT化するキットです。
また、http://dl-x86solaris.sourceforge.jp/では
Solaris/x86をNFSROOTでインストールしたり運用するキットを開発・公開しています。
非常にマイナーな世界の話ですが、もし興味があればいらして下さい。
- 40 :
- >>39 GJ あとで見ておく。
- 41 :
- >>37
セッション管理をmysqlとかDBで行う様にした方が良いんじゃない?
確かPHPにそういう仕組みを実現する何かがあったと思うんだが。
外してたらゴメン。
- 42 :
- >>25
遅レスだけど使ってるよ
鯖、蔵ともにFedora Rawhide、ハードは普通のPCだけど?
- 43 :
- nfs4のidmapdで、uidの異なるマシン間でuidをマップする方法をご存じの方、教えていただけませんか?
- 44 :
- 今、NFSが一番安心して使えるOSはどれですか?
- 45 :
- Solaris.
- 46 :
- サーバーとクライアントを同じプラットフォームで統一して、
サーバー・クライアント間にFirewallを設置せず、
ハードウェア障害のケースを想定しないで
NFSv3を使うことにすれば、
何のOSでもたいていOK、多分ね
全部逆と想定したら、まず神頼みが必要かも
- 47 :
- >>46
>何のOSでもたいていOK
ダウト。
FreeBSDでは未だにクライアント間でのNFSロックが効かない。
- 48 :
- >>43
標準はnsswitchで決められて、あとはnisだとかldapだとかにid管理任せればいいんじゃないの?
http://www.citi.umich.edu/projects/nfsv4/crossrealm/libnfsidmap_config.html
うちはnfs4でもマシン数台なんで手動管理。。。
- 49 :
- >>47
> FreeBSDでは未だにクライアント間でのNFSロックが効かない。
本当?
- 50 :
- Yes
- 51 :
- rpc_lockd_enable="YES"
rpc_statd_enable="YES"
でも?
- 52 :
- >>51
FreeBSD の rpc.lockdは動作がおかしい。
FreeBSD自身の lockf()は、flock()として動作してるw
よって、全然駄目駄目。
試しに、複数のFreeBSDクライアントから lock書ける実験をしてみるといい。
lock無視してファイル壊すから。
- 53 :
- 今年の5月か6月あたりに直ったんじゃなかったっけ。
- 54 :
- >>53
rpc.lockdの件はともかく、
flock/lockfの件も直ったの?
直ったかどうかというより、これってFreeBSDの仕様の問題だから、
今までflockの動作をしていたのを急にlockfの動作にすると
別の部分で不具合が出るから、直しようがないと思うんだが、、
- 55 :
- >>54
いつの時代の話?
lockf(3) は内部で fcntl(2) を呼ぶようになっていますが。flock(2) ではなく。
- 56 :
- NFS over SSHのやり方を教えてください。
- 57 :
- http://www.google.com/search?num=50&hl=ja&q=%22NFS%26%23160%3Bover%26%23160%3BSSH%22
- 58 :
- 結局ステートレスじゃないNFSに替わるネットワークを透過的に使えるファイルシステムなんてものは無いということなのか?
- 59 :
- つ SMB
- 60 :
- mjsk
- 61 :
- NFSv4の立場は・・・・・・
- 62 :
- FreeBSDの NFSv4対応はいつになりますか? Linuxでさえ対応してるのに、、
- 63 :
- NFSって遠隔地、例えば東京大阪間のようなものでもグローバルIPさえあればつなぐことができるのでしょうか?
- 64 :
- 電子メールって遠隔地、例えば東京大阪間のようなものでもグローバルIPさえあれば送ることができるのでしょうか?
と聞いてるのと同じ。
- 65 :
- 同じかなー
- 66 :
- なんか怖いな
- 67 :
- 20世紀の頃、某ISPのWebサーバの
ユーザ領域をNFSマウントしちゃえたことあるよ
28.8bpsで
- 68 :
- 電子メールによる比喩はちがう気がする
遠隔地でも出来るできないで言えば出来る
実使用上のいろいろな問題があるだろうけど
- 69 :
- 素の TCPでの接続か、RPCでポート番号が一定しない接続かの違いがあるだけで
IPレベルでは同じ事。NFSはポート番号が変わるため、ファイアーウォールで
NFSだけをうまく許可する方法が難しいという点は確かに違うが、、
- 70 :
- いやほら電子メールならUUCPとかでも送れたりするじゃん?
- 71 :
- そういうことか。じゃあ FTPでたとえた方がいいのかな。
- 72 :
- RPCだって、本来はTCP/IP以外のプロトコルスタック上にも実装できるように
設計されたものなんだが、、実際はTCP/IP版以外は使われていないけど、、
- 73 :
- >>67
めちゃくちゃ遅いじゃん。TCPパケットヘッダ送るだけで
2秒以上掛かるのか。
- 74 :
- NFSのベンチ結果やlinux iSCSI Targetとの比較結果をまとめているサイトってありませんか?
NFS v4 VS iSCSI
でどっちが早いのか・・・
- 75 :
- 比較にならないものを比較しようとしてませんか?
私の勘違いでしょうか
- 76 :
- AoEの圧勝
- 77 :
- AppleShare over Ethernet?
- 78 :
- Age of ...
- 79 :
- >75
難しいかな・・・
XENでNFSで共有するか
OCFS+iSCSIで共有するかでどっちが良いか検討したかったのですけど
>76
文字足らずなのに理解して頂けたようで感謝です。
ATA-over-Ethernet
も検証候補に入れておきます。
- 80 :
- AoEデバイスって国内でどっか買えるの?
- 81 :
- >80
金物屋で売ってたよ
- 82 :
- 「金物屋 AoE」でググった。
鉱床からの金貨収集速度が20%上昇した
- 83 :
- 「金物屋 AoE」でググった。
「オスマン金物屋使った後、スペイン・オスマン金物屋は使用できない」
- 84 :
- 誰も売ってないという事は俺がCoraidを輸入して売れば儲かるという事ではないだろうか
- 85 :
- >84
ttp://www.coraid.com/products.html
これはいいSupermicroですね。
- 86 :
- スーパーマイクロと聞くとSONY NEWSのことが真っ先に頭がよぎるのは私だけ?
- 87 :
- 社員乙
- 88 :
- >>84
黒字になる前に、他の業者が販売し始めて、赤字決済。
いや、是非やってくれ。
- 89 :
- >>58 RedHat だけど、GFS なんてどうなんだろうね。興味はあるけど暇がねぇ。
- 90 :
- 共有ファイルシステム古今東西、
Oracle Cluster File System (OCFS)
Google File Systems (Google GFS)
Redhat Global File System (Redhat GFS)
富士通 PRIMECLUSTER GFS (富士通 GFS)
NEC GSTORAGEFS (NEC GFS)
General Parallel File System (IBM GPFS)
SGI Infinite Storage CXFS (SGI CXFS)
VERITAS Cluster File System (VERITAS CFS)
ほかにある?
そういえば、NFSに馴染み深いはずのWAFSは最近どうなった?
- 91 :
- [AからZ]FSの全部が揃ってるという話は聞いたことあるよ。
しかも1990年代の時点で。
リストもらっておけばよかったなあ。
- 92 :
- >>90は実用のものを挙げてあるけど、
>>91の[A-Z]の話は、特定の組織でしか使われないとか
論文になったことがある程度のものだったかも。
- 93 :
- pvfs2 とか 9fs とか
- 94 :
- afsとかwebfsとか
- 95 :
- SFUを使ってNSFをWindowsにマウントしようと思うのですが、何か潜在的な問題はありますか?
- 96 :
- National Science Foundation
- 97 :
- 板違いなのかもしれんが他に見当たらないので>>95に便乗。
SFU3.5でSolaris上のNFSをマウントしているのですが、
DOSコマンドのmkdirで存在しない中間ディレクトリの作成をするとこけてしまいます。
これってクライアント側の問題ですか?
- 98 :
- >>97
こけかたを具体的に。
- 99 :
- >>97
権限周りを調べるべし
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 削除依頼 ▲
・ 次のスレ
Linuxへのコンプレックスを正直に吐露するスレ
テキストエディタ総合スレ
どうしてUNIXユーザーはキモいの?
自分の情報整理スタイルを晒そうよ 4