06/03/28 11:53:37
/' ! ━┓┃┃
-‐'―ニ二二二二ニ>ヽ、 ┃ ━━━━
ァ /,,ィ=-;;,,, , ,,_ ト-、 ) ┃ ┃┃┃
' Y ー==j 〈,,二,゙ ! ) 。 ┛
ゝ. {、 - ,. ヾ "^ } } ゚ 。
) ,. ‘-,,' ≦ 三
ゞ, ∧ヾ ゝ'゚ ≦ 三 ゚。 ゚
'=-/ ヽ゚ 。≧ 三 ==-
/ |ヽ \-ァ, ≧=- 。
! \ イレ,、 >三 。゚ ・ ゚
| >≦`Vヾ ヾ ≧
〉 ,く 。゚ /。・イハ 、、 `ミ 。 ゚ 。 ・
3:名無しさん@お腹いっぱい。
06/03/28 16:30:12
nfsの利用は危険です。
4:名無しさん@お腹いっぱい。
06/03/28 20:44:11
玄箱をNFSサーバとして使ってる。
5:名無しさん@お腹いっぱい。
06/03/30 16:55:01
NFSで接続したディレクトリをsambaで公開することはできないのでしょうか?
6:名無しさん@お腹いっぱい。
06/03/30 16:58:35
OSによるんじゃね
7:名無しさん@お腹いっぱい。
06/03/30 17:18:29
NFSマウントしたディレクトリをSambaで公開することなら、
OS関係なしにできる。
同じNFSディレクトリを、複数のホストでSamba公開すると
ファイルのロックが問題になるので、その点だけ注意すればいいだけ。
8:名無しさん@お腹いっぱい。
06/04/02 17:42:54
nfsdのCPU使用率が異常に高いのですが、考えられる原因を教えてください
9:名無しさん@お腹いっぱい。
06/04/03 00:49:53
マシンのスペックがしょぼい。
10:名無しさん@お腹いっぱい。
06/04/03 16:24:43
NFSマンセー
11:名無しさん@お腹いっぱい。
06/04/23 16:17:54
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:名無しさん@お腹いっぱい。
06/04/23 16:20:50
>>11
それは、NFS鯖でportmapまたはrpcbindが起動していない時の症状。
rpcinfo -p 192.168.0.18
の結果貼ってみろ。
13:11
06/04/23 16:27:34
>>12
ありがとうございます
rpcinfo -p 192.168.0.18
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
になります。
すいませんがよろしくお願いいたします
14:11
06/04/23 16:45:31
うぅーーむ・・。
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:名無しさん@お腹いっぱい。
06/04/23 17:21:16
貼れっていったんだから最後まで面倒見てやれよ
16:名無しさん@お腹いっぱい。
06/04/23 18:00:54
>>14
rpcbindの問題は解決したようだね。
次の問題としては、NFS鯖側から見て、クライアントのIPアドレスが
逆引き出来てなくてPermission deniedになってる可能性がある。
あと、クライアントのOSにもよるが、
ソースポートがroot特権ポート以外からのmount要求になってる場合は、
NFS鯖側でinsecureまたはmountdに-nオプションとか、OSによって違うが
そういう設定が必要。
17:名無しさん@お腹いっぱい。
06/04/29 15:57:08
>>14
LinuxでNFSやっているかも?と仮定してちょっとフォロー
1.NFS鯖でexportfs -a を行っているかチェック。
2.シンボリックリンクが存在し、リンク先が/etc/exports に記述されていない。
18:名無しさん@お腹いっぱい。
06/04/29 16:26:47
>>17
>>14 ではrpcbindって言ってるからLinuxじゃないね。(Linuxはportmap)
19:名無しさん@お腹いっぱい。
06/04/29 17:40:19
一般に、返事がない場合はすでに解決済みとみなして良い。
何日も前の、しかも不備な質問に、わざわざエスパーして回答してやるこたぁない。
20:名無しさん@お腹いっぱい。
06/05/05 15:43:58
NFSのshareオプションでanon=0と言う物がありますがroot=ホスト名との違いが今一つ
分かりません。
と言うのは、匿名ユーザからのNFSマウントと言う場面を実機で作り事が出来ないで
いるからです。UNIX機では、どんなUIDを用いても匿名ユーザ扱いされないように見え
ます。
anon=0を使用した場合、匿名ユーザからroot権限でmountするにはどの様にすれば良い
のでしょうか?
21:名無しさん@お腹いっぱい。
06/05/05 18:20:28
>>20
それ、完全に勘違いしてるね。
NFSでは、セキュリティ上、rootで直接マウントできないように、
rootのNFSクライアントを匿名ユーザに置き換える。
で、この置換えを辞めてrootのままマウントさせるオプションが、
anon=0(匿名ユーザのUIDを0にするという意味)や
root=ホスト名、なわけ、root=ホスト名、の方が、
特定のホストにのみ許可できるから安全。
で、質問の、「匿名ユーザからroot権限でmountするには」
ということは普通はできない。UIDをマップするようなオプションを使えば
できるOSもあるが、一般的ではないし、そもそもそういうことをするのは危険。
22:名無しさん@お腹いっぱい。
06/05/05 18:55:22
>>21
anon=0,rw=ホスト名 とroot=ホスト名は セキュリティ上、等価と考えて良いのですか?
23:名無しさん@お腹いっぱい。
06/05/05 19:36:50
>>22
なんでやねん。
24:名無しさん@お腹いっぱい。
06/05/05 20:41:35
>root=ホスト名、の方が、特定のホストにのみ許可できるから安全
anon=0でも、アクセス可能なホストを制限すればセキュリティ的に等価になるかなと
思ったのですが。
気になっているのはroot=ホスト名ではなく、anon=0を使用した場合のセキュリティ上の
リスクなんです。
25:名無しさん@お腹いっぱい。
06/06/13 22:11:03
NFSv4 って使ってる人いる? もしいたら、OS とかストレージ名とか
使用感とか漠然とだけど聞きたいな。
26:名無しさん@お腹いっぱい。
06/08/07 13:57:02
すんません、NFSのファイルのロックに関して教えてください。
サーバーがexportしている1つのディレクトリに対して、
2台のnfsクライアント(A,B)がマウントしています。
その2台のマシンから、exportされているディレクトリ以下にある、
ファイルに対してflockをかけるのですが、
Aでflockをした後、Bでもflockできてしまいます。
NFSで1つのファイルに対する排他制御って、flockでは
できないのでしょうか?それとも、NFSの設定がおかしいのでしょうか?
よろしくお願いします。
27:名無しさん@お腹いっぱい。
06/08/07 14:10:38
>>26
NFSv3以前では無理と思うべき。NLMとかlockdとかあるけど、
あんなもんじゃ複数クライアントからのまともなロックはできん。
28:名無しさん@お腹いっぱい。
06/08/07 14:15:18
>>26
NFSのロックはflock()じゃできない。
lockf()を使うこと。(またはfcntl())
常識中の常識。
あと、動いてるとは思うけど、lockf()が動作するには
(rpc.)lockdと、(rpc.)statd相当のデーモンが必要。
詳細はOSによって多少違うが。
29:名無しさん@お腹いっぱい。
06/08/07 14:50:33
fcntlでも複数クライアントはできないんじゃない?
30:名無しさん@お腹いっぱい。
06/08/07 15:07:01
>>29
lockf()は実はフロントエンドであって、
内部でfcntl()を呼んでるわけだが。
lockf()の関数は互換性のため残ってるだけ。
なので、fcntl()で当然排他制御ができる。
なお、NFSはv2であってもOKだよ。
31:29
06/08/07 15:37:30
>>30
ん? なんか論点が食い違っているような・・・
flock, lockf, fcntlとNFSの関係に関しては漏れも理解しているつもり。
fcntlを使えばロックができることも知っているし、経験的にもそれが
出来てはいるんだけど、ただ、複数のクライアントのときにうまく
行かなかったのよね。サーバとクライアントが仕様通りの実装に
なっていれば、ちゃんとfcntlでロックできるもんなの?
2台のクライアントからすさまじく高速にロックルーチンを回す試験を
してて、たまにファイルがぶっ壊れてましたけどw
32:名無しさん@お腹いっぱい。
06/08/07 15:52:53
皆様レスありがとう。
>>30
了解です。
で、fcntlでロックをしようとすると、今度は
「No locks available」のエラーになっちゃう・・・
ローカルディレクトリで、同じプログラムを動作させると、
ちゃんとロックするんですが。
教えてくんですみませんが、原因などご存知でしたら教えてください。
33:名無しさん@お腹いっぱい。
06/08/07 16:09:28
>>32
>>28 が書いてるとおり、lockd statdを起動していないからだと思われ。
34:名無しさん@お腹いっぱい。
06/08/07 18:19:04
>>33
rpc.statdと、lockdはクライアント側、サーバー側で、
rpcinfo -p
で、statusとnlockmgrもいます。
クライアント側から、rpcinfo -p サーバーIPで、
サーバー側も見れます。
なにか設定がおかしいんでしょうかね・・・?
35:名無しさん@お腹いっぱい。
06/08/07 18:49:45
>>34
fcntl()の、引数指定間違えてない?
一度 lockf()使って呼んでみれ。
36:名無しさん@お腹いっぱい。
06/08/07 18:59:09
"No locks available"って、errnoに ENOLCKがセットされた時のエラーで、
ロックが多過ぎてロックテーブルがオーバーフローした状態なわけだが。
テストプログラム起動し過ぎてるとかない?
37:名無しさん@お腹いっぱい。
06/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を手動で起動しているだけなので。
38:名無しさん@お腹いっぱい。
06/08/08 11:43:37
lockd/statdが使用してる(RPC登録してる)ポートを
ファイアーウォールとかで閉じてるんじゃない?
ポート番号は変化するので大変だけど。
rpcinfo -pだと、111ポートだけが開いてればstatus/nlockmgrが
表示されるけど、それだけだと確認にならない。
39:名無しさん@お腹いっぱい。
06/08/19 12:20:18
最近出来たスレなんですね。
お詳しい方がいらっしゃるので、私もこれから勉強していきたいと思います。
私はあまりNFSに詳しくないのですが、
以前からNFSROOT好きです。
Solaris/x86をNFSROOT化したり、
「Fedora Core Linux ディスクレス化キット」を開発したりしています。
昨日ホームページを開設しまして、「Fedora Core Linux ディスクレス化キット」
を公開しました。
URLリンク(wikiwiki.jp)
Fedora Core をカーネルリコンパイルせずにNFSROOT化するキットです。
また、URLリンク(dl-x86solaris.sourceforge.jp)では
Solaris/x86をNFSROOTでインストールしたり運用するキットを開発・公開しています。
非常にマイナーな世界の話ですが、もし興味があればいらして下さい。
40:名無しさん@お腹いっぱい。
06/08/19 15:38:47
>>39 GJ あとで見ておく。
41:名無しさん@お腹いっぱい。
06/08/20 09:00:25
>>37
セッション管理をmysqlとかDBで行う様にした方が良いんじゃない?
確かPHPにそういう仕組みを実現する何かがあったと思うんだが。
外してたらゴメン。
42:名無しさん@お腹いっぱい。
06/08/21 02:00:54
>>25
遅レスだけど使ってるよ
鯖、蔵ともにFedora Rawhide、ハードは普通のPCだけど?
43:名無しさん@お腹いっぱい。
06/10/09 00:29:14
nfs4のidmapdで、uidの異なるマシン間でuidをマップする方法をご存じの方、教えていただけませんか?
44:名無しさん@お腹いっぱい。
06/10/22 22:29:03
今、NFSが一番安心して使えるOSはどれですか?
45:名無しさん@お腹いっぱい。
06/10/22 22:47:20
Solaris.
46:名無しさん@お腹いっぱい。
06/10/23 22:26:41
サーバーとクライアントを同じプラットフォームで統一して、
サーバー・クライアント間にFirewallを設置せず、
ハードウェア障害のケースを想定しないで
NFSv3を使うことにすれば、
何のOSでもたいていOK、多分ね
全部逆と想定したら、まず神頼みが必要かも
47:名無しさん@お腹いっぱい。
06/10/23 23:11:29
>>46
>何のOSでもたいていOK
ダウト。
FreeBSDでは未だにクライアント間でのNFSロックが効かない。
48:名無しさん@お腹いっぱい。
06/10/25 03:31:38
>>43
標準はnsswitchで決められて、あとはnisだとかldapだとかにid管理任せればいいんじゃないの?
URLリンク(www.citi.umich.edu)
うちはnfs4でもマシン数台なんで手動管理。。。
49:名無しさん@お腹いっぱい。
06/10/25 17:47:17
>>47
> FreeBSDでは未だにクライアント間でのNFSロックが効かない。
本当?
50:名無しさん@お腹いっぱい。
06/10/25 17:57:32
Yes
51:名無しさん@お腹いっぱい。
06/10/28 00:34:22
rpc_lockd_enable="YES"
rpc_statd_enable="YES"
でも?
52:名無しさん@お腹いっぱい。
06/10/28 11:33:21
>>51
FreeBSD の rpc.lockdは動作がおかしい。
FreeBSD自身の lockf()は、flock()として動作してるw
よって、全然駄目駄目。
試しに、複数のFreeBSDクライアントから lock書ける実験をしてみるといい。
lock無視してファイル壊すから。
53:名無しさん@お腹いっぱい。
06/10/28 12:32:21
今年の5月か6月あたりに直ったんじゃなかったっけ。
54:名無しさん@お腹いっぱい。
06/10/28 13:18:50
>>53
rpc.lockdの件はともかく、
flock/lockfの件も直ったの?
直ったかどうかというより、これってFreeBSDの仕様の問題だから、
今までflockの動作をしていたのを急にlockfの動作にすると
別の部分で不具合が出るから、直しようがないと思うんだが、、
55:名無しさん@お腹いっぱい。
06/11/10 14:32:56
>>54
いつの時代の話?
lockf(3) は内部で fcntl(2) を呼ぶようになっていますが。flock(2) ではなく。
56:名無しさん@お腹いっぱい。
06/11/12 15:53:18
NFS over SSHのやり方を教えてください。
57:名無しさん@お腹いっぱい。
06/11/12 16:49:44
URLリンク(www.google.com)
58:名無しさん@お腹いっぱい。
06/11/12 22:45:01
結局ステートレスじゃないNFSに替わるネットワークを透過的に使えるファイルシステムなんてものは無いということなのか?
59:名無しさん@お腹いっぱい。
06/11/12 22:58:16
つ SMB
60:名無しさん@お腹いっぱい。
06/11/13 09:37:56
mjsk
61:名無しさん@お腹いっぱい。
06/11/17 15:36:58
NFSv4の立場は・・・・・・
62:名無しさん@お腹いっぱい。
06/11/17 16:18:12
FreeBSDの NFSv4対応はいつになりますか? Linuxでさえ対応してるのに、、
63:名無しさん@お腹いっぱい。
06/11/17 19:02:55
NFSって遠隔地、例えば東京大阪間のようなものでもグローバルIPさえあればつなぐことができるのでしょうか?
64:名無しさん@お腹いっぱい。
06/11/17 19:05:16
電子メールって遠隔地、例えば東京大阪間のようなものでもグローバルIPさえあれば送ることができるのでしょうか?
と聞いてるのと同じ。
65:名無しさん@お腹いっぱい。
06/11/18 01:13:20
同じかなー
66:名無しさん@お腹いっぱい。
06/11/18 04:22:47
なんか怖いな
67:名無しさん@お腹いっぱい。
06/11/18 05:58:43
20世紀の頃、某ISPのWebサーバの
ユーザ領域をNFSマウントしちゃえたことあるよ
28.8bpsで
68:名無しさん@お腹いっぱい。
06/11/18 06:04:12
電子メールによる比喩はちがう気がする
遠隔地でも出来るできないで言えば出来る
実使用上のいろいろな問題があるだろうけど
69:名無しさん@お腹いっぱい。
06/11/18 09:12:09
素の TCPでの接続か、RPCでポート番号が一定しない接続かの違いがあるだけで
IPレベルでは同じ事。NFSはポート番号が変わるため、ファイアーウォールで
NFSだけをうまく許可する方法が難しいという点は確かに違うが、、
70:名無しさん@お腹いっぱい。
06/11/18 09:17:21
いやほら電子メールならUUCPとかでも送れたりするじゃん?
71:名無しさん@お腹いっぱい。
06/11/18 09:27:39
そういうことか。じゃあ FTPでたとえた方がいいのかな。
72:名無しさん@お腹いっぱい。
06/11/18 10:19:58
RPCだって、本来はTCP/IP以外のプロトコルスタック上にも実装できるように
設計されたものなんだが、、実際はTCP/IP版以外は使われていないけど、、
73:名無しさん@お腹いっぱい。
06/11/19 23:19:20
>>67
めちゃくちゃ遅いじゃん。TCPパケットヘッダ送るだけで
2秒以上掛かるのか。
74:名無しさん@お腹いっぱい。
06/11/21 14:43:05
NFSのベンチ結果やlinux iSCSI Targetとの比較結果をまとめているサイトってありませんか?
NFS v4 VS iSCSI
でどっちが早いのか・・・
75:名無しさん@お腹いっぱい。
06/11/21 22:03:41
比較にならないものを比較しようとしてませんか?
私の勘違いでしょうか
76:名無しさん@お腹いっぱい。
06/11/21 22:17:01
AoEの圧勝
77:名無しさん@お腹いっぱい。
06/11/21 23:07:52
AppleShare over Ethernet?
78:名無しさん@お腹いっぱい。
06/11/21 23:33:46
Age of ...
79:74
06/11/21 23:42:49
>75
難しいかな・・・
XENでNFSで共有するか
OCFS+iSCSIで共有するかでどっちが良いか検討したかったのですけど
>76
文字足らずなのに理解して頂けたようで感謝です。
ATA-over-Ethernet
も検証候補に入れておきます。
80:名無しさん@お腹いっぱい。
06/11/21 23:46:39
AoEデバイスって国内でどっか買えるの?
81:名無しさん@お腹いっぱい。
06/11/22 00:47:30
>80
金物屋で売ってたよ
82:名無しさん@お腹いっぱい。
06/11/22 00:59:43
「金物屋 AoE」でググった。
鉱床からの金貨収集速度が20%上昇した
83:名無しさん@お腹いっぱい。
06/11/22 21:48:00
「金物屋 AoE」でググった。
「オスマン金物屋使った後、スペイン・オスマン金物屋は使用できない」
84:名無しさん@お腹いっぱい。
06/11/22 22:51:59
誰も売ってないという事は俺がCoraidを輸入して売れば儲かるという事ではないだろうか
85:名無しさん@お腹いっぱい。
06/11/23 14:16:32
>84
URLリンク(www.coraid.com)
これはいいSupermicroですね。
86:名無しさん@お腹いっぱい。
06/11/23 15:14:20
スーパーマイクロと聞くとSONY NEWSのことが真っ先に頭がよぎるのは私だけ?
87:名無しさん@お腹いっぱい。
06/11/23 18:21:32
社員乙
88:名無しさん@お腹いっぱい。
06/11/29 17:12:39
>>84
黒字になる前に、他の業者が販売し始めて、赤字決済。
いや、是非やってくれ。
89:名無しさん@お腹いっぱい。
06/12/06 14:56:58
>>58 RedHat だけど、GFS なんてどうなんだろうね。興味はあるけど暇がねぇ。
90:名無しさん@お腹いっぱい。
06/12/10 15:05:28
共有ファイルシステム古今東西、
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:名無しさん@お腹いっぱい。
06/12/10 15:26:40
[AからZ]FSの全部が揃ってるという話は聞いたことあるよ。
しかも1990年代の時点で。
リストもらっておけばよかったなあ。
92:91
06/12/10 15:29:04
>>90は実用のものを挙げてあるけど、
>>91の[A-Z]の話は、特定の組織でしか使われないとか
論文になったことがある程度のものだったかも。
93:名無しさん@お腹いっぱい。
06/12/10 16:40:49
pvfs2 とか 9fs とか
94:名無しさん@お腹いっぱい。
06/12/10 18:36:42
afsとかwebfsとか
95:名無しさん@お腹いっぱい。
06/12/27 18:36:41
SFUを使ってNSFをWindowsにマウントしようと思うのですが、何か潜在的な問題はありますか?
96:名無しさん@お腹いっぱい。
06/12/27 23:10:03
National Science Foundation
97:名無しさん@お腹いっぱい。
07/01/16 20:01:18
板違いなのかもしれんが他に見当たらないので>>95に便乗。
SFU3.5でSolaris上のNFSをマウントしているのですが、
DOSコマンドのmkdirで存在しない中間ディレクトリの作成をするとこけてしまいます。
これってクライアント側の問題ですか?
98:名無しさん@お腹いっぱい。
07/03/07 11:19:31
>>97
こけかたを具体的に。
99:名無しさん@お腹いっぱい。
07/03/07 13:33:44
>>97
権限周りを調べるべし
100:名無しさんお腹いっぱい
07/03/08 05:34:05
DOSのmkdirはしらないが、solarisならmkdirに -p オプションが必要
101:名無しさん@お腹いっぱい。
07/04/08 13:46:29
超早いNFSサーバ専用機を余らせており、
これをWindowsから使いたいと考えています。
NFSサーバはNFSv2/v3/v4を扱えますが、
とりあえずNFSv2は使わない方向で考えています。
ユーザ認証用にAcitiveDirectoryを用意してあるので、
SFUを用いてNISにマッピングすることに問題はありません。
Windows側はDHCPでIPアドレスを割り当てていますが
同じサブネット内に他の部署も混じっているため、
IPアドレスベースでのアクセス制御は実質役に立ちません。
特定のWindowsユーザだけにNFSサーバを使わせたいのですが、
うまい方法は無いでしょうか?
102:名無しさん@お腹いっぱい。
07/04/08 14:00:41
他の人が使ったら即刻解雇!
っていう社則を作ればOK
103:名無しさん@お腹いっぱい。
07/04/08 17:12:23
>Windows側はDHCPでIPアドレスを割り当てていますが
>同じサブネット内に他の部署も混じっているため、
>IPアドレスベースでのアクセス制御は実質役に立ちません。
MACアドレスとIPアドレスの1対1のリストを作ってIPアドレスを配布するか
MACアドレスグループに範囲内のIPアドレスを割り当てる設定にするような感じで
DHCPサーバを弄れば良い
104:名無しさん@お腹いっぱい。
07/04/08 18:14:48
>>103
その手法は確実そうなのですが
DHCPサーバは全く違う部署で管理している上、
在籍者全員に割り当てられるだけのアドレス空間の余裕がありません。
(離席者のIPアドレスを回収するためにリース期間を非常に短くしてある)
SFU使ってNFS/CIFSゲートウェイを立てるしかないんでしょうか...
性能ががた落ちするのは明らかなので、
何か別に巧い方法があればとは思うのですが。
105:名無しさん@お腹いっぱい。
07/04/08 18:25:39
多分IPアドレスに余裕無いだろうなぁと思って2番目のを提案したのですが
DHCPサーバの管理が別部門という条件も出てきた以上、仕方ないですね
性能には目をつぶってそうするしかないでしょう
106:101=104
07/04/08 18:59:54
>>105
レスどうもです。
ゲートウェイに使えそうな機材余ってたかな...
CIFSのライセンスキーを購入すれば
こんな妙な事をしなくても済むのですが
3桁万円するので予算が(略
107:106
07/04/19 10:24:22
セットアップしようとした矢先、
NFS鯖は他の事業所にドナドナされる事になりました。
少なくとも1.5TBは有ったのに orz
NFS/CIFSゲートウェイの件は機会があれば試してみようと思います。
108:名無しさん@お腹いっぱい。
07/04/21 05:59:15
1.5Tなんて、もうディスクが3台あれば冗長構成で組めるぜ。
たいした容量じゃない
109:名無しさん@お腹いっぱい。
07/07/02 17:15:30
それにクライアントは何台ぶらさがれるのか、という問題があるけど。
110:107
07/07/04 10:05:17
使おうとしてたのはNetAppだった。
HDD4台程度のなんちゃってNASとは
比較にならないよ。
速度もだけど、容量単価も別世界w
FC接続の144GB HDDが21台搭載してあった。
冗長性に余裕持たせたり、
システム領域やsnapshot領域の関係で
物理容量の約半分がユーザ容量になる。
なので1.5GBが使える、と。
111:名無しさん@お腹いっぱい。
07/07/04 10:07:49
1.5GB
たいへんですね。業者にもってかれましたか?
112:名無しさん@お腹いっぱい。
07/07/12 00:51:22
昔のNetAppはそれくらいだったような
113:110
07/07/15 00:30:53
ああ
単位間違えてたのか
1.5TBね orz
114:NFSできない!
07/08/12 19:08:55
FreeBSDでNFSを実装しようとしているのですが、client credential too weakエラーが出力されうまくいきません。
識者の方、どうぞご教示くださいませ。
設定した項目としては下記の様な感じです。
[/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
サーバー側の設定は以上で、その後リブートを実施いたしました。
115:名無しさん@お腹いっぱい。
07/08/12 19:11:03
FreeBSDでNFSがマトモに動いたのは4.xまで。それ以降は本気で使ってはいけない。
116:NFSできない!
07/08/12 19:13:56
次にクライアント側で
[/etc/rc.conf]
nfs_client_enable="YES"
とした後に
rpcinfo -p 192.168.1.1
program vers proto port service
100000 4 tcp 111 rpcbind
100000 3 tcp 111 rpcbind
100000 2 tcp 111 rpcbind
100000 4 udp 111 rpcbind
100000 3 udp 111 rpcbind
100000 2 udp 111 rpcbind
100000 4 local 111 rpcbind
100000 3 local 111 rpcbind
100000 2 local 111 rpcbind
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100005 1 udp 838 mountd
100005 3 udp 838 mountd
100005 1 tcp 741 mountd
100005 3 tcp 741 mountd
で確認をとり念の為クライアント側もリブートを行いました。
117:NFSできない!
07/08/12 19:14:30
その後、rootにて下記コマンドを入力すると
# mount_nfs nfs_server:/test /test
[udp] 59.106.93.70:/test: RPCPROG_MNT: RPC: Authentication error; why = Client credential too weak
となり、文献を調べてみてもクライアント側からrootで上記コマンドを実施していれば問題なさそうなのです。
サーバー側の/var/log/messagesには
Aug 12 19:10:46 ns5 mountd[754]: mount request from 192.168.1.1 from unprivileged port
となります。
ちなみに-Pオプションとかをつけてみても状況変わらずです。
2chのNFS識者の方、是非たすけてください。
118:NFSできない!
07/08/12 19:19:15
>>115
めちゃくちゃ早いレスありがとうございます!
そんな事情があったんですか。うちのサーバー5.4なんで無理っていう事ですかね。。
119:名無しさん@お腹いっぱい。
07/08/12 19:21:27
とりあえず、
mountd_flags="-n"
してみろ。
120:NFSできない!
07/08/12 19:22:43
やってみます!
121:NFSできない!
07/08/12 19:28:03
きたーーーーーーーーーーーーーーーーーーーーーー!
すげーーーーーーーーーーーーーーーーーーーー1
ありがとぅううう
122:名無しさん@お腹いっぱい。
07/08/13 12:33:45
>FreeBSDでNFSを実装しようとしているのですが
すげー
コード書き直してくれてるの?
超期待
123:名無しさん@お腹いっぱい。
07/09/21 12:08:45
>>115
これ本当?
もう6.2Rくらいまで行ってるんだけど未だに改善されてないの?
124:名無しさん@お腹いっぱい。
07/09/21 12:37:43
本当
125:名無しさん@お腹いっぱい。
07/09/21 14:44:28
今NFSv4が一番安定して使えるOSって何?
126:名無しさん@お腹いっぱい。
07/09/21 14:55:04
Windows
127:名無しさん@お腹いっぱい。
07/09/21 15:08:15
>>124-126
この流れを見るととても信用できないなあ
誰も検証してないんだろうか
128:名無しさん@お腹いっぱい。
07/09/21 15:20:12
>>127
せっかく回答もらって「信用できない」かよ。
FreeBSD 6.2で NFS鯖運用してみろよ。ドツボにハマルから。
ひとごとだから別に止めないよ。
129:名無しさん@お腹いっぱい。
07/09/21 15:32:37
>>125
Data ONTAPの7.x系
130:名無しさん@お腹いっぱい。
07/09/21 15:44:27
NFSの話は FreeBSDにおいては禁句です。
多くの開発者が NFSと聞いただけで気分を害します。
分別ある大人なら、FreeBSDコミュニティにおいては
NFSの話はそれとなく避けるのがマナーと言うべきものでしょう。
131:名無しさん@お腹いっぱい。
07/09/21 15:53:44
便所の落書き
132:名無しさん@お腹いっぱい。
07/09/21 16:59:31
本家のMLにはNFSがダメダメという投稿がない上に開発者用の
クラスタなど内部で利用されまくってたりする。
ここではNFSダメダメという書き込みがあるけど不具合の詳細
が全然ない。
133:名無しさん@お腹いっぱい。
07/09/21 17:01:29
たかが2chの書き込みにそこまでの信憑性求めんなよ。
自分で検証すれ。
134:名無しさん@お腹いっぱい。
07/09/21 17:07:50
>>132
FreeBSD同士のNFSだと問題が発覚しにくいんだよ。
異OS間のNFSでとたんに問題発覚する。
手元で試してみろよ。百聞は一見にしかず。
135:名無しさん@お腹いっぱい。
07/09/21 17:12:55
まるでLinuxみたいなことを言うなあ
136:名無しさん@お腹いっぱい。
07/09/21 17:22:22
>>132
>ここではNFSダメダメという書き込みがあるけど不具合の詳細
>が全然ない。
他スレに不具合の詳細あったよ。探して見れ。
137:名無しさん@お腹いっぱい。
07/09/21 17:31:23
>>134
FUDに必死だな
138:名無しさん@お腹いっぱい。
07/09/21 21:10:14
FreeBSD 6.2のNFS鯖から、非FreeBSDのNFSクライアントにマウントし、
マウントされたファイルシステム内で(アプリケーションが)lockfしようとすると
ロックが壊れる。(再現率100%)
6.1以前では、ロックが壊れるのではなく、NFS自体が刺さっていた。
6.2ではNFSは刺さらず、ロックを壊してアプリケーションは続行動作するので、
それを見て「6.2以降ではNFSの問題が直った」と勘違いしている人がいるようだが、
実は問題は直っていない。
(もちろん、必要なlockd statd rpcbindは鯖/クライアント両側で起動してる)
139:名無しさん@お腹いっぱい。
07/09/27 22:42:48
質問。
nohideなんてオプションがあるのはLinux(IRIX由来とmanに書いてあったか)だけ?
最近Solaris使い始めて使えるオプションが意外と少ないことに気付いた
140:名無しさん@お腹いっぱい。
07/09/29 00:40:41
>>138
> マウントされたファイルシステム内で(アプリケーションが)lockfしようとすると
system call として advisory lock しか持っていない OS にそれを求められても...
つか, 今時, lockf とか flock なんて野蛮な排他制御を使ってんのかよ?
141:名無しさん@お腹いっぱい。
07/10/18 18:52:12
NFS mountしたファイルシステムでlockfするアプリケーションを動かすのは、運用が間違っとるよ。
FreeBSDに限らず、Solaris等含めて。
142:名無しさん@お腹いっぱい。
07/10/18 21:56:38
>>141
SolarisではNFS上のlockfは全く平気。
すべてのファイルシステムがNFSであるディスクレスクライアントを実現するため、
lockfを含め、NFSもローカルディスクも全く同じように扱えるというのが
大前提としてあるわけだ。
143:名無しさん@お腹いっぱい。
07/10/19 10:59:03
lockfの話は抜きにしても、
2つのNFSクライアントから同時に mkdir(2)またはsymlink(2)した時、
両方のクライアントが成功(戻り値=0)になってしまう事はないのかな?
144:名無しさん@お腹いっぱい。
07/10/21 20:06:01
そういう等羃でない操作はやらないのがNFSのココロ。
145:名無しさん@お腹いっぱい。
07/10/22 13:17:18
NFS上のmkdirやsymlinkが排他的に実行できることは、SolarisやLinuxでは保証されてる。
FreeBSDではコケるのかも知れんが。
146:名無しさん@お腹いっぱい。
07/10/22 15:37:09
一方的に信頼するのは自由だが、OSとプロトコルの方は「保証」などしとらんと思うがな。
RFC1813(RFC3530でもいいが)のCREATEの所を読んでみてくれ。
147:名無しさん@お腹いっぱい。
07/10/22 18:01:54
複数のホストがからむ話だから、誰が誰に対してどういうレベルで保証しているのかを
明確にしないと議論できないな。
148:名無しさん@お腹いっぱい。
07/10/23 11:01:42
symlinkとかアホくさいことしなくても、
シングルホストなら/varか/tmp以下でlockfすりゃいいじゃん。
マルチホストなら排他制御プロセスいっこ用意すれ。
149:名無しさん@お腹いっぱい。
07/10/23 11:35:04
>>148
lockfが使えるならそれで良い。
>>141 が、NFSでlockfするのは運用が間違ってると言ってるから、
その反論として >>143 が、lockf以外のロック方法を言ってるんじゃないか?
で、シングルホストの話なんか最初から誰もしてない。
マルチホストだからこそ問題になる点の議論。
150:名無しさん@お腹いっぱい。
07/10/25 10:50:37
NFSを想定したコードばかりとは限らない状況で
NFSを使うことになる、なんて話もあるだろう。
そういうときにハマるかハマらないかの差は大きいと思うんだよなあ。
151:名無しさん@お腹いっぱい。
07/10/29 00:31:04
結局なにをどう実験すればいいんだろう。
(1)Solaris10
(2)FreeBSD 6.2(RELENG_6)
(3)NetBSD 3.1
(4)Linux(リリースが新しいもののうちどれか)
これらを混ぜたLANを作り順番にNFSサーバ役をやらせて、
いくつかのロック方法(lockf, flock, fcntl, あと他に何が?)を
使うCのコードを走らせて経過を観察する、でいいのかな?
誰かコード書いてくれないかな。
152:名無しさん@お腹いっぱい。
07/10/29 07:40:49
>>151
flockはもともと単一ホストでしか使えないのでここでは関係なし。
fcntlの(F_SETLKWなど)は、lockfと同じ(というか、lockfがfcntlを呼び出してる)
ので、lockfのみテストすれば桶。
ほか、lockfを使わずに mkdirや symlink や link がロックとして機能するかどうかの
テストができればいいかな。
153:名無しさん@お腹いっぱい。
07/10/29 10:41:18
>lockfがfcntlを呼び出してる
それは実装によって違うだろ
154:名無しさん@お腹いっぱい。
07/10/29 13:52:29
>>152
- 誰かがロック中にサーバが落ちた後のリカバリがまともかどうか
- ロックを獲得したままのクライアントが落ちた後のリカバリがまともかどうか
も必要じゃない?
実装が難しくなるのもそのあたりを考えなきゃいけないからだろうし。
155:名無しさん@お腹いっぱい。
07/10/29 15:02:09
>>154
それはどういう振る舞いをもって「まとも」と見なせばいいんでしょうか。
前者はサーバの落ち具合一つとっても、単なる回線障害なのか、
サーバ側のファイルシステムに絡む問題なのかで話が変わるだろうし。
後者はロックのタイムアウト処理が適切?か、とかですか?
156:名無しさん@お腹いっぱい。
07/10/29 15:33:42
>>149
> その反論として >>143 が、lockf以外のロック方法を言ってるんじゃないか?
symlinkだのmkdirだのは排他制御の方法としてlockf以上に「お話にならない」。
書類審査で落とされる。
157:名無しさん@お腹いっぱい。
07/10/29 15:42:43
>>156
でも、(少なくとも)Solarisだと、symlinkもmkdirもしっかりロックとして
機能するんだよ。
158:名無しさん@お腹いっぱい。
07/10/29 15:56:52
FreeBSDはlockfがダメだからNFSが使いものにならない
↓
NFSでlockfなんか使うのは運用が間違ってる(mkdirやsymlinkを使えば良い)(>>by 141)
↓
symlinkだのmkdirだのはお話にならない(by >>156)
↓
FreeBSDではNFSは使えない。
結局こういうことになるじゃんw
159:名無しさん@お腹いっぱい。
07/10/29 16:02:26
symlinkとかではお話にならないとか言ってる奴は……お話にならないな。
メール関係のデーモンやツールをソースからコンパイルする時に
気づくことすら知らないわけで……
160:名無しさん@お腹いっぱい。
07/10/29 20:47:12
とりあえずポリシーとか仕様とか一切とっぱらいで、
ロックとして使えるもの、使われがちなもの、に対して、
各OSをサーバ、クライアントにしたときの動作相性表を書いてみろ、
ってことか? 横方向クライアントOS、縦方向サーバOSにして、
lockf, flock, fcntl, symlink, mkdir
で表が5枚出来る、と。
161:名無しさん@お腹いっぱい。
07/10/30 00:22:59
nfsv4だったらいいんじゃない。
162:名無しさん@お腹いっぱい。
07/10/30 01:21:29
>>161
スレリンク(unix板:643-652番)n
163:名無しさん@お腹いっぱい。
07/10/30 01:38:08
あるじゃんNFSv4
snowhite.cis.uoguelph.ca/nfsv4/
164:名無しさん@お腹いっぱい。
07/10/30 12:39:49
サーバNetApp, クライアントTurboLinux Fujiという環境で
たまに下記のように .nfs~ で始まるファイルが出来ている
事あるのだけど、これはどういうタイミングで出来るのでしょうか?
また、消してかまわないのでしょうか??
-rw-r--r-- 1 hogehoge admin 2253 10月 10 15:36 .nfs002d56600000001
165:名無しさん@お腹いっぱい。
07/10/30 13:09:57
>>157
仕様上正しく動くことが保証されていないと、1億年と2000年前から動かしたときには
コケることになる。これは排他制御とはいえない。
NFS protocolのsymlinkは保証なんかしていない。
fcntlが使うlockd protocolは保証してるけど、こちらは伝統的にbuggyな実装が多かった。
>>158
なんでNFSで出来ない排他制御をやりたがるのか。問題に応じて解決法はいろいろある。
そもそも遅延とパケットロスのあるTCP/IP越しに排他制御やろうってのが性根が
腐ってるわけで、性能が問題にならないなら1台にまとめればいいし、
性能が重要ならcriticalな処理だけ切り出して1台にまとめ、残りを分散すればよい。
>>159
逆。そういったコードは、NFS越しのファイル操作で排他が保証されないことを
前提に、それでも衝突することがないように(排他できなくてもよいように)
工夫して書かれている。
166:名無しさん@お腹いっぱい。
07/10/30 13:16:18
>>164
UNIXでは、プロセスが開いているファイルでも削除できる。
そのとき、ファイルはすでに削除され見えないのだが、
オープンしたプロセスだけはファイルにアクセスし続けられる。
同じことはNFS上でもできるのだが、NFSでは見えなくするわけにはいかないので、
.nfsXXXX にリネームしてお茶を濁している。
これはプロセスがファイルをクローズしたときに削除される。
クライアントが削除を怠ると(=クライアントのOSが落ちると)
.nfsはストレージ上に残されたまま放置される。
167:名無しさん@お腹いっぱい。
07/10/30 13:51:42
>>165 なんでNFSで出来ない排他制御をやりたがるのか。
だってNFSと銘打ってるのにそれが出来てる(ように見える)OSがあるんだもんよー。
FreeBSDで出来ないのは悔しくね? という話だと思っていた。
168:164
07/10/30 19:31:59
>>166
ありがとうございました。
169:名無しさん@お腹いっぱい。
07/10/31 02:24:25
出来ているように見えるだけで
本当に出来ているのかは定かではないw
170:名無しさん@お腹いっぱい。
07/10/31 12:47:49
>>165
>逆。そういったコードは、NFS越しのファイル操作で排他が保証されないことを
>前提に、それでも衝突することがないように(排他できなくてもよいように)
>工夫して書かれている。
えー。
嘘書いちゃ、だめだよ。
171:170
07/10/31 12:53:50
ああ、プロトコル上だけで実現できるかどうかの話をしてるのか。
symlinkはロック機構じゃないんだから、symlinkの使い方を工夫しないで
実現できないのは当然じゃん。
172:名無しさん@お腹いっぱい。
07/10/31 15:00:03
たとえばqmailのmaildir。
NFS環境下で安全にメッセージを配送するために、
ユニークなファイル名で衝突しないようにしている。
URLリンク(cr.yp.to) を見ると先頭に書いてあるのは、
> Two words: no locks.
173:名無しさん@お腹いっぱい。
07/11/12 14:19:39
実家 in 四国にあるマシンのディスクを
俺んち in 大阪にあるマシンから nfs でマウントするのは無謀?
セキュリティ面はおいといて( VPN 張るので)、
速度的にとか、ファイルの書き換えしてると不意に
ファイルがロストしちゃったりとか、そういうことってある?
174:名無しさん@お腹いっぱい。
07/11/12 14:53:17
俺は東京にいるんだが普通にSan Joseのファイルサーバをマウントしてるぞ。
175:名無しさん@お腹いっぱい。
07/11/12 15:07:04
>>174
そんな無謀な・・・
そういう時って TCP ベースの nfs 使うの?
それとも VPN 張った上でいつもの UDP なやつ?
そもそも NFS で TCP って聞いたときには
うへぇ、と思ったものだが。
176:名無しさん@お腹いっぱい。
07/11/12 17:38:36
> NFS で TCP うへぇ
何で?
177:名無しさん@お腹いっぱい。
07/11/12 19:10:29
>>176
NFS側にリトライ処理が付いてるのに
TCPにする事でTCP側の再送制御が増えるからではないかと。
1000/100Mbps混在でイーサネットスイッチが
バッファ溢れしてデータをポロポロこぼすような環境だと
NFS over TCPはそれなりに有効。
というかウチの社では推奨してる。
エラーフリー環境で使うなら、
TCPよりUDPの方が速いベンチ結果にはなるね。
178:名無しさん@お腹いっぱい。
07/11/13 17:31:15
> 1000/100Mbps混在でイーサネットスイッチが
> バッファ溢れしてデータをポロポロこぼすような環境だと
まてまてIEEE802.3xのフロー制御あるんだからいまどきそんな環境ありえんだろ。
そんなとこでNFS使ったら再送発生するたびにどれだけつっかえるんだよ。
先にまずネットワーク直せよ。
179:名無しさん@お腹いっぱい。
07/11/13 23:07:09
>> 1000/100Mbps混在でイーサネットスイッチが
>> バッファ溢れしてデータをポロポロこぼすような環境だと
>まてまてIEEE802.3xのフロー制御あるんだ>からいまどきそんな環境ありえんだろ。
普通そうだよな。
でも、そんなスイッチが半年前まで現行機種でな。
営業が安さにつられて構成勝手に変えて、
そのゴミスイッチ相手に格闘する羽目に orz
180:名無しさん@お腹いっぱい。
07/11/14 00:33:23
flow controlで送信止められちゃうとnicの送信ディスクリプタが
足りなくなってOS内でパケット捨てることはあるかもしれない。
181:173
07/11/15 19:26:23
なんかうまくいかなかった原因がわかりました。
PPTP で Linux - Linux で VPN 張ってたんですが,
PPP での MTU のネゴシエーションがうまくできてなかったみたいで
1500 になってたのが原因でした.
思い切って 1400 にしたら問題なくなりました.
うむむ,NTT西日本のフレッツとケイオプティコムの
eo光の間の VPN なんですが,結構ヘッダついてるんだなぁ.
最適値は 1408 のような気もするけど面倒なので 1400.
普通は自動的にネゴってくれますよねぇ?
182:名無しさん@お腹いっぱい。
07/11/19 13:13:21
URLリンク(www.linux.or.jp)
183:名無しさん@お腹いっぱい。
07/11/20 11:13:29
NFSに強いスイッチを探してます。クライアントは64台くらいです。
構成としては、クライアントとサーバを1つのスイッチに集約するのではなく、
24ポートを数台使ってツリー型の構成にし、ツリーの上流にサーバを置く
形を想定しています。ネストは2段くらいです。
そのものずばりのお勧めより、こういう用途のときにスイッチに必要な機能は
どういうものかを教えていただけると、品定めするときに参考になるのですが、
お知恵を拝借できますでしょうか?
184:名無しさん@お腹いっぱい。
07/11/20 11:39:49
普通にCatalystで良いジャン
185:名無しさん@お腹いっぱい。
07/11/20 11:56:43
ワイヤースピード、ノンブロッキング
低レイテンシ
広帯域スイッチファブリック
186:名無しさん@お腹いっぱい。
07/11/20 12:54:06
>>184
そこをもうちょっと安めでお願いできますか……
187:名無しさん@お腹いっぱい。
07/11/20 20:32:18
NICは全てIntelで揃えるのが吉。
あと、サーバに極端な負荷がかからないよう、アップリンクだけ1Gにして
クライアントは全て100Mにするのが吉。
188:名無しさん@お腹いっぱい。
07/11/21 08:56:03
Broadcom はだめですか?
AMD Opteron なサーバと Intel の NIC の
相性が悪いとかないかな?
189:187
07/11/21 10:09:53
>>188
> Broadcom はだめですか?
Broadcomは評価した事が無いので知らない。
190:名無しさん@お腹いっぱい。
07/11/22 23:36:32
intelもだめだよなあ。相性悪すぎ。ギガビットは総じてダメ。
191:名無しさん@お腹いっぱい。
07/11/23 01:10:20
蟹ギガ。これ、素人にはお勧めしない
192:名無しさん@お腹いっぱい。
07/11/23 11:57:03
>>190
ちょ、んなこといったら使うものないじゃん。
193:名無しさん@お腹いっぱい。
07/11/23 12:16:00
10Gbとか?
194:名無しさん@お腹いっぱい。
07/11/23 12:18:50
>>192
Broadcomでいいじゃん
195:名無しさん@お腹いっぱい。
07/11/23 23:24:06
broadcomは悪くないがvariantが多すぎて一口に語れないのが問題。
196:名無しさん@お腹いっぱい。
07/11/24 00:21:00
なるほどね
197:名無しさん@お腹いっぱい。
07/11/24 14:06:57
詳しい人に質問、unixでは次のプログラムで読取専用ファイルの作成が可能
int main() {
int fd; char buf[10];
int fd=open("poi", O_CREAT|O_TRUNC|O_WRONLY|O_EXCL, S_IRUSR|S_IRGRP|S_IROTH);
write(fd, buf, sizeof(buf)); /* creatを行ったfdは書き込みが可能 */
fclose(fd);
}
これをNFSv3マウントされたディレクトリ上で実行すると
CREAT, SETATTR, WRITEのprotocolが順に発行されます。
これをNFSサーバ側で問題なく扱おうとすると面倒があって
最後の読取専用へのWRITEを許可するかどうか、
WRITE要求のハンドルがCREATE時のものと一致するかで判断しないといけない。
このような判定の実装はNFSサーバにとって義務なのかな?
198:名無しさん@お腹いっぱい。
07/11/24 14:11:09
>>197
当然義務。
読取専用かどうかは、creatまたはopenの際のみに有効な属性で、
一旦open(ハントル取得)してさえしまえば、
ファイル自体の読みとり専用かどうかに関係なく、
O_WRONLYとかでopenされたのなら書き込みができなければならない。
199:名無しさん@お腹いっぱい。
07/11/24 14:11:38
>>197
プログラム中のfclose(fd)はclose(fd)の間違いです
200:名無しさん@お腹いっぱい。
07/11/24 14:17:29
>>198
おー、こんなピンポイントで回答が来るなんて凄いです 流石unix板
ちなみにこれはCVSが実際にやってくれる操作です
201:名無しさん@お腹いっぱい。
07/11/24 14:19:25
ちなみに、わざわざ C言語でプログラムしなくても、
シェル上で同じことができる。
umask 777
echo hoge > file
とやれば、fileは読み込みも書き込みも不許可で作成されるが、
echo hogeの内容はちゃんとfileに書き込まれる。
fileがNFS上にあっても当然動作しなければならない。
202:名無しさん@お腹いっぱい。
07/11/24 14:21:35
なるほどumaskはそうやって使うんですね
203:名無しさん@お腹いっぱい。
07/11/24 17:34:17
>>198
RFC1813, 4.4 Permission issues の第3段落に書いてありました
204:名無しさん@お腹いっぱい。
07/11/25 15:06:35
RPC でつかうポートが変化するから、
NATルータ越しのNFSは㍉?
VPN 通すしかない?
205:名無しさん@お腹いっぱい。
07/11/25 17:00:41
Intelの82573L で2.4系カーネルでNICのリセット多発した。
結局、NICのROMのアドレス1部変更で直った。
2.6カーネルでは解消された。
206:名無しさん@お腹いっぱい。
07/12/06 13:41:08
>>204
実装によってはポート固定も無理ではないが、
ここで聞かないとわからないレベルならお薦めしない。
あと、WebNFSという選択肢もある。
207:名無しさん@お腹いっぱい。
07/12/19 02:30:55
NFSとiSCSIでよくファイル単位と、ブロック単位という比較を聞くんですが、
NFSサーバに10GBのファイルがあって、それをNFSクライアントで読み込むときに
10GB全部をクライアントでリード・ライトしなきゃいけないとかそういうことなんでしょうか?
208:名無しさん@お腹いっぱい。
07/12/19 09:08:58
>>207
> NFSとiSCSIでよくファイル単位と、ブロック単位という比較を聞くんですが、
どこであるいは誰に聞いた?
209:名無しさん@お腹いっぱい。
07/12/19 09:21:46
>>208
google: NFS iSCSI ファイル ブロック
URLリンク(itpro.nikkeibp.co.jp)
>データ転送の単位は,NASにアクセスするときはファイル単位となる。つまり,NASへのデータ・アクセスでは,ファイル名や共有名などファイルを特定する呼び名で管理している。
>これに対し,SANの場合はブロック単位の処理になる(通常1つのファイルは1つまたは複数のブロックで構成される)。SANでは,リモートにあるディスク装置内のディスクが,あたかもローカル・ディスク(RAWデバイス*4)であるかのように振る舞う。
(略)
>IP-SANには,「FCIP(Fibre Channel over IP)」「iFCP(Internet Fibre Channel Protocol)」「iSCSI(Internet SCSI)」という規格がある。この中で最も期待されているのがiSCSIである。
ってことじゃねーの?
210:名無しさん@お腹いっぱい。
07/12/19 09:58:18
SCSIの復活キター?
211:名無しさん@お腹いっぱい。
07/12/19 11:14:58
って事はiSCSIの方が巨大ファイルでは優位って事なの?
212:名無しさん@お腹いっぱい。
07/12/20 16:46:40
何を持って優劣の指標としているのか明快に述べよ
213:名無しさん@お腹いっぱい。
07/12/20 16:58:19
何を持って誤字の書込みをしているのか明解に述べよ
214:名無しさん@お腹いっぱい。
07/12/27 14:42:36
NFSとiSCSIではファイルシステムの層が違う。
ファイル操作システムコール(API)
VFS
個々のファイルシステム(ext3,xfs,reiserfs,fat16,iso9660)
ドライバ
ハードウェア
NFSってのはファイル操作システムコールに相当、ファイル単位でも扱えるし、
バイト単位で読んだりもできる。VFSから下は考えなくてよい。
iSCSIってのはドライバに相当、ファイル単位では考えないで、
ハードウェアとのやりとりの最小単位(ブロック単位)で考えなければならない。
システムとして利用するには、ファイルシステム、VFS、システムコールも備えていなければならない。
215:名無しさん@お腹いっぱい。
07/12/27 14:48:10
>>212-213
以って?
216:名無しさん@お腹いっぱい。
07/12/27 19:59:34
RedHat Linux Enterprise Linux ES 4 2台で NFS サーバと NFS クライアントの設定をしました。
NFS サーバと NFS クライアント側では、それぞれの /etc/passwd にユーザが同じuid、gidで
登録されていて、group hoge に属するユーザだけに書き込ませたいです。
NFSサーバ側:
# mkdir -p /opt/share; ← NFS で共有したいディレクトリを作成
# chgrp hoge share
# chmod g+ws share;
/etc/exports の内容:
/opt/share 192.168.0.0/255.255.255.0(rw,sync)
NFS クライアント側
# mkdir -p /opt/share ← マウントポイントとなるディレクトリを作成
# chgrp hoge share
# chmod g+ws share;
mount -t nfs {nfs_server_name}:/opt/share /opt/share
ここまでは簡単にできたなのですが、nfs クライアント側から、umask が 0022 なユーザが
書き込みをすると、NFS サーバ側では -rw-r--r-- というファイルができます。
ここまではあたりまえですが、これを NFS 側で、強制的に -rw-rw-r として保存するような設定はありますか?
samba だと smb.conf で、公開ディレクトリのブロックの中で
directory mask = 0664
とできますが、これと同じようなことがしたいです。
217:名無しさん@お腹いっぱい。
07/12/28 05:39:34
/opt/share のファイルシステムのマウントオプションのumaskしだいでは?
NFSサーバの実装によってはそういうのもありえるかもしれないけど、
NFSサーバでumaskを強制させてもあまり意味がないのかも。roかrwくらいだろうし…
218:216
08/01/05 07:48:19
>>217
レスどうもありがとうございます。遅くなってすみません。
結局以下の方法で対応しました。
NFS サーバ側で uid hoge / gid hoge という共通ユーザを作成し、
NFS サーバの /etc/exports で以下のようにした。
/opt/share 192.168.0.0/255.255.255.0(rw,sync,all_squash,anonuid=xxx,anongid=xxx)
↑ uid=xxx gid=xxx は、hoge:hoge の uid と gid
こうすることで、NFS クライアント側は gid hoge に属していれば、uid は別のユーザが
作成したファイルを、別のユーザが消すことができるようになりました。
理想は NFS サーバ側で、どの NFS クライアントのユーザがファイルを作成したか知れたほうが
よかったのですが、ここは目をつぶりました。
なお man mount すると、-t で指定するファイルシステムタイプの中で、
一部では -o に mask みたいなオプションが指定できるようですが、-t nfs のときは、
mask と行ったオプションは用意されていませんでした。
219:名無しさん@お腹いっぱい。
08/01/06 11:20:48
そもそも論になるけど、NIS使えば?
220:名無しさん@お腹いっぱい。
08/01/06 21:59:39
えーマジNISー?w
NISが許されるのは10人未満のLANまでだよねーwww
221:名無しさん@お腹いっぱい。
08/01/06 23:17:07
>>220
じゃあなんNISればいいんですか?><