以前は、同じOSでCentOS 6.6を実行していましたautofs
。
サーバーシステムはまだCentOS 6.6を実行しており、VMはCentOS 7を実行しています(Debian Wheezyを実行している他のVMでも試してみましたが、まだ機能していません)。
サーバー(centosserv
)は192.168.1.89で実行されており、クライアント(centoscli
CentOS 7)は192.168.1.100で実行されています。
共有しようとしているファイルシステムは/NFSSHARE
次の/NFSSHARE/mydir
とおりであるため、/etc/exports
サーバー上のファイルには次のものが含まれます。
/NFSSHARE 192.168.1.100(fsid=0,rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir 192.168.1.100(ro,sync,no_subtree_check)
実行すると、showmount -e
次のような結果が得られます。
[root@centosserv ~]# showmount -e
Export list for centosserv:
/NFSSHARE/mydir 192.168.1.100
/NFSSHARE 192.168.1.100
だから、これまではすべてが大丈夫に見えます。
クライアント側で/etc/auto.master
次の行を編集しました。
/mnt/nfs /etc/auto.nfs-share --timeout=90
/etc/auto.nfs-share
次に、次の内容でファイルを作成します。
[root@centoscli ~]# cat /etc/auto.nfs-share
writeable_share -rw 192.168.1.89:/
non_writeable_share -ro 192.168.1.89:/mydir
これは次の出力でも機能するようです。
[root@centoscli ~]# mount | grep nfs-share
/etc/auto.nfs-share on /mnt/nfs type autofs (rw,relatime,fd=18,pgrp=2401,timeout=90,minproto=5,maxproto=5,indirect)
この時点では、次のように直接アクセスしない限り、まだインストールされません/mnt/nfs/writeable_share
。/mnt/nfs/non_writeable_share
このチュートリアル(これは前回NFSサーバーを設定したときと同じです*)。したがって、試した後にのみインストールする必要がありますls -l /mnt/nfs/writeable_share
。しかし、私が得た結果は次のとおりです。
[root@centoscli ~]# ls -l /mnt/nfs/writeable_share
ls: cannot access /mnt/nfs/writeable_share: No such file or directory
私はping
クライアントでサーバーを編集し、その逆もまた互いに接続できることを確認するために編集しました。
私がしたことはすべて最初と同じように機能しましたが、何らかの理由で今回は正しく機能しませんでした。/etc/fstab
を使用する代わりに、クライアント側でファイルを手動で編集してこれを試しましたが、うまくいかないautofs
ようです。iptables
サーバー側で無効にするとfstab
手動で機能しますが、autofs
まだ機能していません。
他に何を確認できますか?それとも何が間違っていますか?
nfs-common
* files というサービスがないため、最初の 3 段階以外は/etc/default/nfs-common
。
編集する
チェックアウト中です。このチュートリアルはFBのCentOSグループに関するものです。サーバー側が解決されたと言い、クライアント構成を開始する準備ができたら、次のように言います。
NFS サーバーが見えるかテスト:
showmount -e
したがって、私はshowmount -e
これをクライアントで使用すると、サーバーからいくつかの情報を取得できるか、少なくともそのサーバー上のファイルシステムをそのクライアントにマウントできるかどうかを確認できると思います。ただし、showmount -e 192.168.1.89
クライアント側でそれを使用しようとしたときに受信される唯一のメッセージは次のとおりです。
clnt_create: RPC: Port mapper failure - Unable to receive: errno113 (No route to host)
これは問題かもしれないと思いますが、それが何を意味するのかよくわかりません。
編集2
サーバー側でこれを無効にした後、クライアントiptables
側で使用されたときにエクスポートされたファイルシステムを表示できるようになりました。showmount -e 192.168.1.89
私はこれが上記の最初の編集を無意味にすると思います。しかし、私はまだそれを使用できませんautofs
。
編集3
[OK]、[iptables
無効]に加えて、/etc/exports
サーバーとクライアント/etc/auto.nfs-share
でも次のように編集しました。
[root@centosserv ~]# cat /etc/exports
/NFSSHARE 192.168.1.100(fsid=0,rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir 192.168.1.100(rw,sync,no_subtree_check,root_squash,anonuid=1000,anongid=1000)
/NFSSHARE/mydir/ro 192.168.1.100(ro,sync,no_subtree_check)
[root@centoscli ~]# cat /etc/auto.nfs-share
writeable_share -fstype=nfs4,rw 192.168.1.89:/mydir
non_writeable_share -fstype=nfs4,ro 192.168.1.89:/mydir/ro
私ができると思う場所山ファイルシステムですが、クライアントで書かないでください。:
[root@centoscli ~]# touch /mnt/nfs/writeable_share/test_from_client.file
touch: cannot touch ‘/mnt/nfs/writeable_share/test_from_client.file’: Permission denied
答え1
ここでの問題は、サーバー側からエクスポートしたフォルダの権限設定のようです。したがって、サーバーで次のことを行うと、クライアントが書き込むことができます。
[root@centosserv ~]# chmod 777 /NFSSHARE
私はサーバーとクライアントの両方を新しくインストールしながらこれを行いました。iptables
サーバーで無効にしようとせずに同じ問題が再度発生し、今回質問で編集した変更を完了し、権限が正しく設定されていることを/NFSSHARE
確認することにしました。成功したようです。