NFS的基本原刚是容许不同的客户端及服务通过一组PRC分享相同的文件系统,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。NFS在文件传送过程中依赖于RPC协议。远程过程调用Remote Procedure Call是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络时行资料分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能。可以说NFS本身就是便用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现 PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责信息的传输。
服务端:
yum install -y rpcbind nfs-utils
# /etc/init.d/nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS mountd: [ OK ] Starting NFS daemon: [ OK ] Starting RPC idmapd: [ OK ]
# cat /etc/exports /data *(rw)
上面框内容是要分享的目录
查看NFS服务状态:
# /etc/init.d/nfs status rpc.svcgssd is stopped rpc.mountd (pid 29497) is running... nfsd (pid 29513 29512 29511 29510 29509 29508 29507 29506) is running... rpc.rquotad (pid 29492) is running...
[[email protected] Downloads]# /etc/init.d/rpcbind status rpcbind (pid 2608) is running...
设置NFS服务在系统运行级别2和5自动启动
[[email protected] Downloads]# chkconfig --level 35 nfs on [[email protected] Downloads]# chkconfig|grep nfs nfs 0:off 1:off 2:off 3:on 4:off 5:on 6:off nfs-rdma 0:off 1:off 2:off 3:off 4:off 5:off 6:off nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
如果改变/etc/exports一定要重启nfs服务
服务器端使用showmount命令查询nfs的共享状态
[[email protected] Downloads]# showmount -e clnt_create: RPC: Unknown host [[email protected] Downloads]# showmount -e localhost Export list for localhost: /data *
默认查看自己共享的服务,前提是要DNS能解自己,不然会报错!!!如上面的内容
[[email protected] ~]# mount -t nfs 192.168.1.3:/data /data_nfs/ [[email protected] ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root 38G 2.2G 34G 6% / tmpfs 939M 0 939M 0% /dev/shm /dev/vda1 477M 38M 414M 9% /boot 192.168.1.3:/data 459G 127G 310G 29% /data_nfs
客户端使用showmount 命令查询NFS的共享状态:
[[email protected] ~]# showmount -e 192.168.1.3 Export list for 192.168.1.3: /data *
权限问题,客户端发生下面情况:
[[email protected] data_nfs]# touch k touch: cannot touch `k‘: Permission denied
无权限!!!!
是因为NFS 服务器端共享的目录本身的写权限没有开放给其他用户,在服务器端打开该权限。
开放权限
[[email protected] /]# chmod -R 777 data/ # 还不行
[[email protected] /]# chmod -R 755 /data/ [[email protected] /]# cat /etc/exports /data *(rw,sync,all_squash,no_subtree_check) [[email protected] /]# exportfs -rv exporting *:/data
问题解决!!!
时间: 2024-12-28 08:16:32