1.介绍:
NFS(network file system)
NFS只是一种文件系统,本身没有传输功能,是基于RPC协议实现的,才能达到两个Linux系统之间的文件目录共享,所以在共享时需要开启portmap服务
2.步骤:
两台机器
server:192.168.0.40
client:192.168.0.21
服务端:
创建共享目录
mkdir -p /mnt/nfsdata
配置共享客户端信息
vi /etc/exports
/nfsdata(服务端目录) 192.168.0.21 *(rw,root_squash,sync)
async:此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
root_sqush :客户端使用root访问时映射为nobady (默认选项)
开启服务:
service portmap start
service nfs start
检查共享信息:
showmount -e
Export list for mta222.gh1.delivrer.net:
/nfsdata (everyone)( 服务器的目录共享信息)
如果对/etc/exports进行修改,执行
exportfs -a
-r:表示重新刷新共享。
-a:表示将配置文件/etc/exports中的所有定义共享发布出去。
-v:显示确认共享设置。
-u:表示不发布共享。
不需要重启nfs服务
客户端:
创建共享目录:
mkdir /nfsdata
挂载目录:
mount -t nfs 192.168.0.40:/mnt/nfsdata /nfsdata
3.遇到问题:
1.[root@mta222 ~]# showmount -e
mount clntudp_create: RPC: Program not registered
或
[root@mta222 nfsdata]# mount -t nfs 192.168.0.21:/nfsdata /nfsdata
mount: mount to NFS server '192.168.0.21' failed: RPC Error: Program not registered.
没有开启portmap服务(service portmap start)
2.[root@co21 /]# mount -t nfs 192.168.0.40:/root/mnt/nfsdata /root/nfsdata
mount: mount to NFS server '192.168.0.40' failed: System Error: No route to host.
将服务器的防火墙关闭(service iptables stop)
3.[root@delivrer ~]# mount -t nfs 192.168.0.21:/root/nfsdata /root/mnt/nfsdata
mount: 192.168.0.21:/root/nfsdata failed, reason given by server: Permission denied
在服务器上进行挂载目录了
或者
挂载对象写错了,即在/etc/exports里将共享目录写成客户端的目录了
4.authenticated mount request from 192.168.0.40:601 for /mnt1/nfsdata (/mnt1/nfsdata)
possibly unsupported filesystem or fsid require
产生这个问题的原因是:在客户端进行挂载之后,又把服务器当做客户端进行挂载,试图做一个双向挂载导致的(可能每个人产生这样问题的原因不一样)