文件共享服务之NFS
一、什么是NFS及NFS的工作流程
NFS(Network File System,网络文件系统)
NFS是借助于RPC来实现功能的
RPC:(Remote Procedure Call protocol)远程函数调用
可自建客户端到服务器端的函数调用,在调用函数的过程中要借助数据结构化传输
半结构化数据:
XML:extended mark language(重量级)
JSON:(轻量级)
结构化数据和半结构化数据的区别
半结构化数据可实现自定义标签描述数据的意义
结构化数据是固定标签来描述数据意义(html语言)
为什么要使用结构化数据?
跨平台或者跨系统为了实现数据的完整交换就需要用到半结构化数据来描述数据的意义
二、NFS发展及问题
实现跨主机,跨平台共享文件的解决方案
NFS1–>NFS2–>NFS3–>NFS4–>NFS4.1(支持了分布式文件系统)–>NFS4.2
在本地主机创建的文件属主属组在另一端服务器属主属组不一致问题(如果是root建立存在更大的安全风险)
1 采用NIF认证协议解决属主属组安全性问题(不常用)
2 采用LDAP集中用户管理解决属主属组安全性及混乱问题
服务器端进程
NFS 不是C/S结构不能像FTP和http那样用户密码认证,它只是调用远程函数将执行结果返回,并不是C/S的文件文件传输,至今未知它的认证方式只能基于IP方式来实现哪些IP能访问及其它权限
IP+mountd的守护进程实现认证
nfsd进程(通过此进程协议让内核执行数据存储)
imapd进程(通过此进程协议实现本地用户名都是映射为nfsnobody)
NFS:2049/TCP,2049/UDP
RPC:portmapper(111/TCP,111/UDP)
mountd:是portmapper分配的随机端口
通过
rpcinfo -p
查看
三、NFS简单部署
nfs内核自带协议模块不用安装,如果没有yum安装
yum -y install nfs-utils
vim /etc/exports #配置文件
此文件一般为空,编写格式为:
/share/word 192.168.31.254(rw) 192.168.31.252(ro)
rw(可读写), async(默认异步提高性能), sync(同步), root_squash(默认开启,不允许root用户对文件系统操作), no_root_squash(默认关闭), all_squash, anonuid(指定匿名uid,服务端不会显示属主属组为nfsnobody), anongid(指定匿名gid)showmount -e NFS的IP,查看网络映射
不重启服务器让修改生效
export -ar挂载NFS文件系统
mount -t nfs 192.168.31.254/share/word /mnt开机自动挂载
vim 、/etc/fstab
192.168.31.254:/share/word /mnt nfs defaults,_netdev 0 0
_netdev:属于网络挂载文件,如果nfs挂掉不影响客户端启动service nfs restart
原创文章,作者:Net18-糖糖,如若转载,请注明出处:http://www.178linux.com/15086