Loading... <p><span style="color: inherit;font-family: inherit;font-size: 2.6em;font-weight: bold;line-height: 1.1">文件共享服务之NFS</span></p> <ul class=" list-paddingleft-2"> <li> <p>文件共享服务之NFS</p> </li> <ul class=" list-paddingleft-2"> <li> <p>一、什么是NFS及NFS的工作流程</p> </li> <li> <p>二、NFS发展及问题</p> </li> <li> <p>三、NFS简单部署</p> </li> </ul> </ul> <h3 id="一什么是nfs及nfs的工作流程">一、什么是NFS及NFS的工作流程</h3> <blockquote><ul class=" list-paddingleft-2"> <li> <p>NFS(Network File System,网络文件系统) <br /> <code>NFS是借助于RPC来实现功能的</code></p> </li> <li> <p>RPC:(Remote Procedure Call protocol)远程函数调用</p> </li> <li> <p>可自建客户端到服务器端的函数调用,在调用函数的过程中要借助数据结构化传输</p> </li> <li> <p>半结构化数据: </p> </li> <ul class=" list-paddingleft-2"> <li> <p>XML:extended mark language(重量级)</p> </li> <li> <p>JSON:(轻量级)</p> </li> </ul> <li> <p>结构化数据和半结构化数据的区别 </p> </li> <ul class=" list-paddingleft-2"> <li> <p>半结构化数据可实现自定义标签描述数据的意义</p> </li> <li> <p>结构化数据是固定标签来描述数据意义(html语言)</p> </li> </ul> <li> <p>为什么要使用结构化数据? </p> </li> <ul class=" list-paddingleft-2"> <li> <p>跨平台或者跨系统为了实现数据的完整交换就需要用到半结构化数据来描述数据的意义</p> </li> </ul> <li> <p><img src="//cto.wang/usr/uploads/2016/07/20160703180933-52.png" title="1461031263380416.png" alt="QQ截图20160418213616.png" /></p> </li> </ul> </blockquote> <h3 id="二nfs发展及问题">二、NFS发展及问题</h3> <blockquote><p><code>实现跨主机,跨平台共享文件的解决方案</code></p> <ul class=" list-paddingleft-2"> <li> <p>NFS1–>NFS2–>NFS3–>NFS4–>NFS4.1(支持了分布式文件系统)–>NFS4.2</p> </li> <li> <p>在本地主机创建的文件属主属组在另一端服务器属主属组不一致问题(如果是root建立存在更大的安全风险)</p> </li> <li> <p>1 采用NIF认证协议解决属主属组安全性问题(不常用)</p> </li> <li> <p>2 采用LDAP集中用户管理解决属主属组安全性及混乱问题</p> </li> </ul> <p>服务器端进程 <br /> NFS 不是C/S结构不能像FTP和http那样用户密码认证,它只是调用远程函数将执行结果返回,并不是C/S的文件文件传输,至今未知它的认证方式只能基于IP方式来实现哪些IP能访问及其它权限 <br /> IP+mountd的守护进程实现认证 <br /> nfsd进程(通过此进程协议让内核执行数据存储) <br /> imapd进程(通过此进程协议实现本地用户名都是映射为nfsnobody) <br /> <img src="//cto.wang/usr/uploads/2016/07/20160703180933-73.png" title="1461031299952386.png" alt="QQ截图20160419000831.png" /></p> <ul class=" list-paddingleft-2"> <li> <p>NFS:2049/TCP,2049/UDP</p> </li> <li> <p>RPC:portmapper(111/TCP,111/UDP)</p> </li> <li> <p>mountd:是portmapper分配的随机端口</p> </li> <li> <p>通过<code>rpcinfo -p</code>查看</p> </li> </ul> </blockquote> <h3 id="三nfs简单部署">三、NFS简单部署</h3> <blockquote><ul class=" list-paddingleft-2"> <li> <p>nfs内核自带协议模块不用安装,如果没有yum安装</p> </li> <li> <p>yum -y install nfs-utils</p> </li> <li> <p>vim /etc/exports #配置文件 <br /> 此文件一般为空,编写格式为: <br /> /share/word 192.168.31.254(rw) 192.168.31.252(ro) <br /> rw(可读写), async(默认异步提高性能), sync(同步), root_squash(默认开启,不允许root用户对文件系统操作), no_root_squash(默认关闭), all_squash, anonuid(指定匿名uid,服务端不会显示属主属组为nfsnobody), anongid(指定匿名gid)</p> </li> <li> <p>showmount -e NFS的IP,查看网络映射</p> </li> <li> <p>不重启服务器让修改生效 <br /> export -ar</p> </li> <li> <p>挂载NFS文件系统 <br /> mount -t nfs 192.168.31.254/share/word /mnt</p> </li> <li> <p>开机自动挂载 <br /> vim 、/etc/fstab <br /> 192.168.31.254:/share/word /mnt nfs defaults,_netdev 0 0 <br /> _netdev:属于网络挂载文件,如果nfs挂掉不影响客户端启动</p> </li> <li> <p>service nfs restart</p> </li> </ul> </blockquote> <p><!--!doctype--></p> 最后修改:2021 年 12 月 10 日 10 : 53 AM © 允许规范转载 赞赏 如果觉得我的文章对你有用,请随意赞赏 赞赏作者 支付宝微信