2016-05-09 16 views
-1

SolarisサーバーとFreeBSDクライアントを持つNFSバージョン4を正常にマウントして使用しました。 バージョン4でFreeBSDサーバとFreeBSDクライアントを使用すると問題が発生します。バージョン3は優れた動作をします。FreeBSDでホストされているFreeBSDのNFS V4は正常にマウントされますが、ファイルシステムに読み書きはありません。入出力エラー

私は、FreeBSD verson 4.5(その後IBM AiXクライアントを持っている)からFreeBSD NFSサーバーを使用しています。

問題: マウントOK、ないプリンシパルが読み取りまたはマウントされたファイルシステムに書き込もうとしたとき、私はエラーが出るのKerberosキャッシュで表示され、存在しない:入力/出力エラーを

NFS /サーバ - fqdn @ REALMとnfs/client-fqdn @ REALMプリンシパルはkerberosサーバーで作成され、両側にkeytabファイルで正しく保存されます。

私はルートのケルベロスキャッシュの両側に上記を使用してKDCからtgtチケットを発行します。

私は適切なサービスを開始します。

rpcbind_enable="YES" 
gssd_enable="YES" 
rpc_statd_enable="YES" 
rpc_lockd_enable="YES" 
mountd_enable="YES" 
nfsuserd_enable="YES" 
nfs_server_enable="YES" 
nfsv4_server_enable="YES" 
/etc/rc.confを ファイル

その後、私はクライアントにサービス を開始:すべてのエクスポートファイルを持つ上記のサーバーでのrpcbind、GSSD、nfsuserd、 :

V4: /marble/nfs -sec=krb5:krb5i:krb5p -network 10.20.30.0 -mask 255.255.255.0 

私はマウント:

# mount_nfs -o nfsv4 servername:/ /my/mounted/nfs 
# 
# mkdir /my/mounted/nfs/e 
# mkdir: /my/mounted/nfs/e: Input/output error 
# 

even an lsコマンドでも同じ結果が得られます。 klistは、ルートのキャッシュまたはその他のキャッシュに新しいプリンシパルを表示しません。 バージョン3の素晴らしいパフォーマンスは大好きですが、NFS4のローカルロックファイル機能が必要です。 第2の理由はセキュリティです。 kerberised RPC呼び出し(-sec = krbp)が必要です。

NFSバージョン4のFreeBSDサーバを使用している方は、この質問にフィードバックをお寄せください。お手数ですが、嬉しいです。

+0

私はFreeBSD上でV4クライアント/サーバーを使用していますが、ケルベロス認証は使用していません。私の目的では '-mapall = 1001:1001'で十分です。これは問題ではありませんが、私は 'V4:'行の前に共有をリストアップしています(つまり、V3の各共有の1行と、V3のすべての共有の親フォルダのV4設定の1行)。あなたはケルベロスなしでそれを働かせることを多分試みることができますか?例えば。 'V4:/ marble/-sec = sys 192.168.2.200'であれば、Kerberosを追加しようとしますか? – Amiramix

+0

私の質問に答える時間を取ってくれてありがとう、ありがとう。 –

+0

私の質問に答える時間を取ってくれてありがとう、ありがとう。残念ながら、エクスポート時に-sec = sysを指定しても同じ結果が得られます。( 'root @ lucy#mount -o nfsv4 lynx://root/ela/ root @ lucy#mkdir/root/ela/a mkdir:/ root/ela/a:入力/出力エラー '返信ありがとうございます.NISとのユーザマッピングのためにSolarisを使用したくないのですが、SolarisのNISはひどいです。 NISを使用していますFreeBSDのNISは素晴らしいです。ありがとう –

答えて

0

コメントは、コード例を示すのは良くありません。ここで私のために働くFreeBSDクライアントとFreeBSDサーバの設定です。私はKerberosを使用しませんが、この最小構成で作業するようにしておけば、後でKerberosを追加できます(私は信じています)。

サーバーrc.conf

nfs_server_enable="YES" 
nfs_server_flags="-u -t -n 4" 
nfsv4_server_enable="YES" 
nfsuserd_enable="YES" 
mountd_flags="-r" 

サーバー/etc/exports

/parent/path1 -mapall=1001:1001 192.168.2.200 
/parent/path2 -mapall=1001:1001 192.168.2.200 
... (more shares) 
V4: /parent/ -sec=sys 192.168.2.200 

クライアントrc.conf

nfs_client_enable="YES" 
nfs_client_flags="-n 4" 
rpc_lockd_enable="YES" 
rpc_statd_enable="YES" 

クライアントfstab

192.168.2.100:/path1/ /mnt/path1/ nfs rw,bg,late,failok,nfsv4 0 0 
192.168.2.100:/path2/ /mnt/path2/ nfs rw,bg,late,failok,nfsv4 0 0 
... (more shares) 

クライアントは、/parent/パスの後ろのものだけをサーバー上のV4行にマウントしようとします。 192.168.2.100はサーバIP、192.168.2.200はクライアントIPです。この設定では、1つのクライアントがサーバーに接続できるようになります。

私は何かを見逃していないことを願っています。 BTWはStackOverflowではなく、SuperUserやServerFaultでこのような質問をしてください。

+0

セットアップで失敗した再試行を軽視すると、セキュリティが "sys"にダウングレードされても、もう一度あなたの答えをありがとうと思います。私は間違っています サイトのヒントをありがとう;) –

+0

あなたが迷っていることが明らかな場合は、いつでもhttps://forums.freebsd.org/を試すことができます。 – Amiramix

関連する問題