【NFS】Network File System
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2006/03/28(火) 11:42:410015名無しさん@お腹いっぱい。
2006/04/23(日) 17:21:160016名無しさん@お腹いっぱい。
2006/04/23(日) 18:00:54rpcbindの問題は解決したようだね。
次の問題としては、NFS鯖側から見て、クライアントのIPアドレスが
逆引き出来てなくてPermission deniedになってる可能性がある。
あと、クライアントのOSにもよるが、
ソースポートがroot特権ポート以外からのmount要求になってる場合は、
NFS鯖側でinsecureまたはmountdに-nオプションとか、OSによって違うが
そういう設定が必要。
0017名無しさん@お腹いっぱい。
2006/04/29(土) 15:57:08LinuxでNFSやっているかも?と仮定してちょっとフォロー
1.NFS鯖でexportfs -a を行っているかチェック。
2.シンボリックリンクが存在し、リンク先が/etc/exports に記述されていない。
0018名無しさん@お腹いっぱい。
2006/04/29(土) 16:26:47>>14 ではrpcbindって言ってるからLinuxじゃないね。(Linuxはportmap)
0019名無しさん@お腹いっぱい。
2006/04/29(土) 17:40:19何日も前の、しかも不備な質問に、わざわざエスパーして回答してやるこたぁない。
0020名無しさん@お腹いっぱい。
2006/05/05(金) 15:43:58分かりません。
と言うのは、匿名ユーザからのNFSマウントと言う場面を実機で作り事が出来ないで
いるからです。UNIX機では、どんなUIDを用いても匿名ユーザ扱いされないように見え
ます。
anon=0を使用した場合、匿名ユーザからroot権限でmountするにはどの様にすれば良い
のでしょうか?
0021名無しさん@お腹いっぱい。
2006/05/05(金) 18:20:28それ、完全に勘違いしてるね。
NFSでは、セキュリティ上、rootで直接マウントできないように、
rootのNFSクライアントを匿名ユーザに置き換える。
で、この置換えを辞めてrootのままマウントさせるオプションが、
anon=0(匿名ユーザのUIDを0にするという意味)や
root=ホスト名、なわけ、root=ホスト名、の方が、
特定のホストにのみ許可できるから安全。
で、質問の、「匿名ユーザからroot権限でmountするには」
ということは普通はできない。UIDをマップするようなオプションを使えば
できるOSもあるが、一般的ではないし、そもそもそういうことをするのは危険。
0022名無しさん@お腹いっぱい。
2006/05/05(金) 18:55:22anon=0,rw=ホスト名 とroot=ホスト名は セキュリティ上、等価と考えて良いのですか?
0023名無しさん@お腹いっぱい。
2006/05/05(金) 19:36:50なんでやねん。
0024名無しさん@お腹いっぱい。
2006/05/05(金) 20:41:35anon=0でも、アクセス可能なホストを制限すればセキュリティ的に等価になるかなと
思ったのですが。
気になっているのはroot=ホスト名ではなく、anon=0を使用した場合のセキュリティ上の
リスクなんです。
0025名無しさん@お腹いっぱい。
2006/06/13(火) 22:11:03使用感とか漠然とだけど聞きたいな。
0026名無しさん@お腹いっぱい。
2006/08/07(月) 13:57:02サーバーがexportしている1つのディレクトリに対して、
2台のnfsクライアント(A,B)がマウントしています。
その2台のマシンから、exportされているディレクトリ以下にある、
ファイルに対してflockをかけるのですが、
Aでflockをした後、Bでもflockできてしまいます。
NFSで1つのファイルに対する排他制御って、flockでは
できないのでしょうか?それとも、NFSの設定がおかしいのでしょうか?
よろしくお願いします。
0027名無しさん@お腹いっぱい。
2006/08/07(月) 14:10:38NFSv3以前では無理と思うべき。NLMとかlockdとかあるけど、
あんなもんじゃ複数クライアントからのまともなロックはできん。
0028名無しさん@お腹いっぱい。
2006/08/07(月) 14:15:18NFSのロックはflock()じゃできない。
lockf()を使うこと。(またはfcntl())
常識中の常識。
あと、動いてるとは思うけど、lockf()が動作するには
(rpc.)lockdと、(rpc.)statd相当のデーモンが必要。
詳細はOSによって多少違うが。
0029名無しさん@お腹いっぱい。
2006/08/07(月) 14:50:330030名無しさん@お腹いっぱい。
2006/08/07(月) 15:07:01lockf()は実はフロントエンドであって、
内部でfcntl()を呼んでるわけだが。
lockf()の関数は互換性のため残ってるだけ。
なので、fcntl()で当然排他制御ができる。
なお、NFSはv2であってもOKだよ。
003129
2006/08/07(月) 15:37:30ん? なんか論点が食い違っているような・・・
flock, lockf, fcntlとNFSの関係に関しては漏れも理解しているつもり。
fcntlを使えばロックができることも知っているし、経験的にもそれが
出来てはいるんだけど、ただ、複数のクライアントのときにうまく
行かなかったのよね。サーバとクライアントが仕様通りの実装に
なっていれば、ちゃんとfcntlでロックできるもんなの?
2台のクライアントからすさまじく高速にロックルーチンを回す試験を
してて、たまにファイルがぶっ壊れてましたけどw
0032名無しさん@お腹いっぱい。
2006/08/07(月) 15:52:53>>30
了解です。
で、fcntlでロックをしようとすると、今度は
「No locks available」のエラーになっちゃう・・・
ローカルディレクトリで、同じプログラムを動作させると、
ちゃんとロックするんですが。
教えてくんですみませんが、原因などご存知でしたら教えてください。
0033名無しさん@お腹いっぱい。
2006/08/07(月) 16:09:28>>28 が書いてるとおり、lockd statdを起動していないからだと思われ。
0034名無しさん@お腹いっぱい。
2006/08/07(月) 18:19:04rpc.statdと、lockdはクライアント側、サーバー側で、
rpcinfo -p
で、statusとnlockmgrもいます。
クライアント側から、rpcinfo -p サーバーIPで、
サーバー側も見れます。
なにか設定がおかしいんでしょうかね・・・?
0035名無しさん@お腹いっぱい。
2006/08/07(月) 18:49:45fcntl()の、引数指定間違えてない?
一度 lockf()使って呼んでみれ。
0036名無しさん@お腹いっぱい。
2006/08/07(月) 18:59:09ロックが多過ぎてロックテーブルがオーバーフローした状態なわけだが。
テストプログラム起動し過ぎてるとかない?
0037名無しさん@お腹いっぱい。
2006/08/07(月) 19:29:22>>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を手動で起動しているだけなので。
0038名無しさん@お腹いっぱい。
2006/08/08(火) 11:43:37ファイアーウォールとかで閉じてるんじゃない?
ポート番号は変化するので大変だけど。
rpcinfo -pだと、111ポートだけが開いてればstatus/nlockmgrが
表示されるけど、それだけだと確認にならない。
0039名無しさん@お腹いっぱい。
2006/08/19(土) 12:20:18お詳しい方がいらっしゃるので、私もこれから勉強していきたいと思います。
私はあまり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でインストールしたり運用するキットを開発・公開しています。
非常にマイナーな世界の話ですが、もし興味があればいらして下さい。
0040名無しさん@お腹いっぱい。
2006/08/19(土) 15:38:470041名無しさん@お腹いっぱい。
2006/08/20(日) 09:00:25セッション管理をmysqlとかDBで行う様にした方が良いんじゃない?
確かPHPにそういう仕組みを実現する何かがあったと思うんだが。
外してたらゴメン。
0042名無しさん@お腹いっぱい。
2006/08/21(月) 02:00:54遅レスだけど使ってるよ
鯖、蔵ともにFedora Rawhide、ハードは普通のPCだけど?
0043名無しさん@お腹いっぱい。
2006/10/09(月) 00:29:140044名無しさん@お腹いっぱい。
2006/10/22(日) 22:29:030045名無しさん@お腹いっぱい。
2006/10/22(日) 22:47:200046名無しさん@お腹いっぱい。
2006/10/23(月) 22:26:41サーバー・クライアント間にFirewallを設置せず、
ハードウェア障害のケースを想定しないで
NFSv3を使うことにすれば、
何のOSでもたいていOK、多分ね
全部逆と想定したら、まず神頼みが必要かも
0047名無しさん@お腹いっぱい。
2006/10/23(月) 23:11:29>何のOSでもたいていOK
ダウト。
FreeBSDでは未だにクライアント間でのNFSロックが効かない。
0048名無しさん@お腹いっぱい。
2006/10/25(水) 03:31:38標準はnsswitchで決められて、あとはnisだとかldapだとかにid管理任せればいいんじゃないの?
http://www.citi.umich.edu/projects/nfsv4/crossrealm/libnfsidmap_config.html
うちはnfs4でもマシン数台なんで手動管理。。。
0049名無しさん@お腹いっぱい。
2006/10/25(水) 17:47:17> FreeBSDでは未だにクライアント間でのNFSロックが効かない。
本当?
0050名無しさん@お腹いっぱい。
2006/10/25(水) 17:57:320051名無しさん@お腹いっぱい。
2006/10/28(土) 00:34:22rpc_statd_enable="YES"
でも?
0052名無しさん@お腹いっぱい。
2006/10/28(土) 11:33:21FreeBSD の rpc.lockdは動作がおかしい。
FreeBSD自身の lockf()は、flock()として動作してるw
よって、全然駄目駄目。
試しに、複数のFreeBSDクライアントから lock書ける実験をしてみるといい。
lock無視してファイル壊すから。
0053名無しさん@お腹いっぱい。
2006/10/28(土) 12:32:210054名無しさん@お腹いっぱい。
2006/10/28(土) 13:18:50rpc.lockdの件はともかく、
flock/lockfの件も直ったの?
直ったかどうかというより、これってFreeBSDの仕様の問題だから、
今までflockの動作をしていたのを急にlockfの動作にすると
別の部分で不具合が出るから、直しようがないと思うんだが、、
0055名無しさん@お腹いっぱい。
2006/11/10(金) 14:32:56いつの時代の話?
lockf(3) は内部で fcntl(2) を呼ぶようになっていますが。flock(2) ではなく。
0056名無しさん@お腹いっぱい。
2006/11/12(日) 15:53:180057名無しさん@お腹いっぱい。
2006/11/12(日) 16:49:440058名無しさん@お腹いっぱい。
2006/11/12(日) 22:45:010059名無しさん@お腹いっぱい。
2006/11/12(日) 22:58:160060名無しさん@お腹いっぱい。
2006/11/13(月) 09:37:560061名無しさん@お腹いっぱい。
2006/11/17(金) 15:36:580062名無しさん@お腹いっぱい。
2006/11/17(金) 16:18:120063名無しさん@お腹いっぱい。
2006/11/17(金) 19:02:550064名無しさん@お腹いっぱい。
2006/11/17(金) 19:05:16と聞いてるのと同じ。
0065名無しさん@お腹いっぱい。
2006/11/18(土) 01:13:200066名無しさん@お腹いっぱい。
2006/11/18(土) 04:22:470067名無しさん@お腹いっぱい。
2006/11/18(土) 05:58:43ユーザ領域をNFSマウントしちゃえたことあるよ
28.8bpsで
0068名無しさん@お腹いっぱい。
2006/11/18(土) 06:04:12遠隔地でも出来るできないで言えば出来る
実使用上のいろいろな問題があるだろうけど
0069名無しさん@お腹いっぱい。
2006/11/18(土) 09:12:09IPレベルでは同じ事。NFSはポート番号が変わるため、ファイアーウォールで
NFSだけをうまく許可する方法が難しいという点は確かに違うが、、
0070名無しさん@お腹いっぱい。
2006/11/18(土) 09:17:210071名無しさん@お腹いっぱい。
2006/11/18(土) 09:27:390072名無しさん@お腹いっぱい。
2006/11/18(土) 10:19:58設計されたものなんだが、、実際はTCP/IP版以外は使われていないけど、、
0073名無しさん@お腹いっぱい。
2006/11/19(日) 23:19:20めちゃくちゃ遅いじゃん。TCPパケットヘッダ送るだけで
2秒以上掛かるのか。
0074名無しさん@お腹いっぱい。
2006/11/21(火) 14:43:05NFS v4 VS iSCSI
でどっちが早いのか・・・
0075名無しさん@お腹いっぱい。
2006/11/21(火) 22:03:41私の勘違いでしょうか
0076名無しさん@お腹いっぱい。
2006/11/21(火) 22:17:010077名無しさん@お腹いっぱい。
2006/11/21(火) 23:07:520078名無しさん@お腹いっぱい。
2006/11/21(火) 23:33:46007974
2006/11/21(火) 23:42:49難しいかな・・・
XENでNFSで共有するか
OCFS+iSCSIで共有するかでどっちが良いか検討したかったのですけど
>76
文字足らずなのに理解して頂けたようで感謝です。
ATA-over-Ethernet
も検証候補に入れておきます。
0080名無しさん@お腹いっぱい。
2006/11/21(火) 23:46:390081名無しさん@お腹いっぱい。
2006/11/22(水) 00:47:30金物屋で売ってたよ
0082名無しさん@お腹いっぱい。
2006/11/22(水) 00:59:43鉱床からの金貨収集速度が20%上昇した
0083名無しさん@お腹いっぱい。
2006/11/22(水) 21:48:00「オスマン金物屋使った後、スペイン・オスマン金物屋は使用できない」
0084名無しさん@お腹いっぱい。
2006/11/22(水) 22:51:590085名無しさん@お腹いっぱい。
2006/11/23(木) 14:16:32ttp://www.coraid.com/products.html
これはいいSupermicroですね。
0086名無しさん@お腹いっぱい。
2006/11/23(木) 15:14:200087名無しさん@お腹いっぱい。
2006/11/23(木) 18:21:320088名無しさん@お腹いっぱい。
2006/11/29(水) 17:12:39黒字になる前に、他の業者が販売し始めて、赤字決済。
いや、是非やってくれ。
0089名無しさん@お腹いっぱい。
2006/12/06(水) 14:56:580090名無しさん@お腹いっぱい。
2006/12/10(日) 15:05:28Oracle 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は最近どうなった?
0091名無しさん@お腹いっぱい。
2006/12/10(日) 15:26:40しかも1990年代の時点で。
リストもらっておけばよかったなあ。
009291
2006/12/10(日) 15:29:04>>91の[A-Z]の話は、特定の組織でしか使われないとか
論文になったことがある程度のものだったかも。
0093名無しさん@お腹いっぱい。
2006/12/10(日) 16:40:490094名無しさん@お腹いっぱい。
2006/12/10(日) 18:36:420095名無しさん@お腹いっぱい。
2006/12/27(水) 18:36:410096名無しさん@お腹いっぱい。
2006/12/27(水) 23:10:030097名無しさん@お腹いっぱい。
2007/01/16(火) 20:01:18SFU3.5でSolaris上のNFSをマウントしているのですが、
DOSコマンドのmkdirで存在しない中間ディレクトリの作成をするとこけてしまいます。
これってクライアント側の問題ですか?
0098名無しさん@お腹いっぱい。
2007/03/07(水) 11:19:31こけかたを具体的に。
0099名無しさん@お腹いっぱい。
2007/03/07(水) 13:33:44権限周りを調べるべし
0100名無しさんお腹いっぱい
2007/03/08(木) 05:34:050101名無しさん@お腹いっぱい。
2007/04/08(日) 13:46:29これをWindowsから使いたいと考えています。
NFSサーバはNFSv2/v3/v4を扱えますが、
とりあえずNFSv2は使わない方向で考えています。
ユーザ認証用にAcitiveDirectoryを用意してあるので、
SFUを用いてNISにマッピングすることに問題はありません。
Windows側はDHCPでIPアドレスを割り当てていますが
同じサブネット内に他の部署も混じっているため、
IPアドレスベースでのアクセス制御は実質役に立ちません。
特定のWindowsユーザだけにNFSサーバを使わせたいのですが、
うまい方法は無いでしょうか?
0102名無しさん@お腹いっぱい。
2007/04/08(日) 14:00:41っていう社則を作ればOK
0103名無しさん@お腹いっぱい。
2007/04/08(日) 17:12:23>同じサブネット内に他の部署も混じっているため、
>IPアドレスベースでのアクセス制御は実質役に立ちません。
MACアドレスとIPアドレスの1対1のリストを作ってIPアドレスを配布するか
MACアドレスグループに範囲内のIPアドレスを割り当てる設定にするような感じで
DHCPサーバを弄れば良い
0104名無しさん@お腹いっぱい。
2007/04/08(日) 18:14:48その手法は確実そうなのですが
DHCPサーバは全く違う部署で管理している上、
在籍者全員に割り当てられるだけのアドレス空間の余裕がありません。
(離席者のIPアドレスを回収するためにリース期間を非常に短くしてある)
SFU使ってNFS/CIFSゲートウェイを立てるしかないんでしょうか...
性能ががた落ちするのは明らかなので、
何か別に巧い方法があればとは思うのですが。
0105名無しさん@お腹いっぱい。
2007/04/08(日) 18:25:39DHCPサーバの管理が別部門という条件も出てきた以上、仕方ないですね
性能には目をつぶってそうするしかないでしょう
0106101=104
2007/04/08(日) 18:59:54レスどうもです。
ゲートウェイに使えそうな機材余ってたかな...
CIFSのライセンスキーを購入すれば
こんな妙な事をしなくても済むのですが
3桁万円するので予算が(略
0107106
2007/04/19(木) 10:24:22NFS鯖は他の事業所にドナドナされる事になりました。
少なくとも1.5TBは有ったのに orz
NFS/CIFSゲートウェイの件は機会があれば試してみようと思います。
0108名無しさん@お腹いっぱい。
2007/04/21(土) 05:59:15たいした容量じゃない
0109名無しさん@お腹いっぱい。
2007/07/02(月) 17:15:300110107
2007/07/04(水) 10:05:17HDD4台程度のなんちゃってNASとは
比較にならないよ。
速度もだけど、容量単価も別世界w
FC接続の144GB HDDが21台搭載してあった。
冗長性に余裕持たせたり、
システム領域やsnapshot領域の関係で
物理容量の約半分がユーザ容量になる。
なので1.5GBが使える、と。
0111名無しさん@お腹いっぱい。
2007/07/04(水) 10:07:49たいへんですね。業者にもってかれましたか?
0112名無しさん@お腹いっぱい。
2007/07/12(木) 00:51:220113110
2007/07/15(日) 00:30:53単位間違えてたのか
1.5TBね orz
0114NFSできない!
2007/08/12(日) 19:08:55識者の方、どうぞご教示くださいませ。
設定した項目としては下記の様な感じです。
[/etc/exports]
/test -maproot=nobody -network 192.168.1.1
として
# showmount -e
Exports list on localhost:
/test 192.168.1.1
[/etc/rc.conf]
rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
#nfs_reserved_port_only="YES"
mountd_enable="YES"
mountd_flags="-r"rpcbind_enable="YES"
nfs_server_enable="YES"
nfs_server_flags="-u -t -n 4"
#nfs_reserved_port_only="YES"
mountd_enable="YES"
mountd_flags="-r"
[/etc/hosts.allow]
all : 192.168.1.1 : allow
サーバー側の設定は以上で、その後リブートを実施いたしました。
0115名無しさん@お腹いっぱい。
2007/08/12(日) 19:11:03■ このスレッドは過去ログ倉庫に格納されています