码迷,mamicode.com
首页 > 其他好文 > 详细

NFS文件服务

时间:2015-05-17 23:42:20      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:nfs

NFSNetwork File System

    传统意义上,文件系统在内核中实现;

 

RPC:函数调用(远程主机上的函数) Remote Procedure Call protocol

         一部分功能由本地程序完成,另一部分功能由远程主机上的函数完成

         

 技术分享


由于无法确认如 123为字符还是数字,使用半结构数据,使用半结构数据定义。

半结构数据:

      XML eXtended Mark Language(重量级)

      JSON    (轻量级)           

       现在很多使用RESful的调用方式,借助于http,跨越互联网网发送。

NFS: Sun研发

         NFSv1

         NFSv2 ,基于udp

         NFSv3

         NFSv4现在主要使用

         NFSv4.1 4.2

              pNFS: parallel ,并行NFS

 

NFSv4上有一个进程imapd,为用户映射为NFSnobody

 

NFS:基于IP的认证,监听在  tcp/udp 2049端口

 

nfs的三个服务:nfsd mountd  impad

mountd:当客户端连接到服务器端时,首先由mountd进程进行认证,是否在允许访问列表内;

nfsd:不文件负责存储,用于理解用户的rpc请求,并转发给本地内核,存储在本地;

impad:在NFSv4上有一个进程imapd,为用户映射为NFSnobody,即在服务器端看到的用户为NFSnobody,在客户端为用户名。

 

           提供RPC的公共服务叫portmapper,监听在port111

          rpcinfo   : report RPF information

                  -p 

         rpcinfo -p 192.168.191.5 也可以查看其它主机的rpc相关信息

         

技术分享

 

 

     通常来说nfs-utils 已经安装,若没有安装则需要安装

           启动服务 service nfs start

 

        /etc/exports为主配置文件;更改配置文件后需要重启nfs服务

        例:/shared/nfs     172.16.249.139(rw) 172.16.0.1(ro)

 

    查看NFS服务器端共享的文件系统:

            showmount -e NFSserver_ip

技术分享

 

    挂载NFS文件系统:

            mount -t nfs SERVER:/path/tosharedfs  /path/to/mount_point

   

      nfs服务器端的/shared/nfs挂载至本地客户端的/mnt目录下,即可共享服务器端/shared/nfs目录内的文件;

技术分享

 

开机自动挂载:nfs  /etc/fstab

SERVER:/PATH/TO/EXPORTED_FS /mount_point  nfs  defaults,_netdev(用于说明是网络设备) 0 0

 

/etc/exports:

      文件系统      客户端(选项) 客户端(选项)

      客户端: IPFQDNDOMAINNETWORK

exportfs:维护exports文件导出的文件系统表的专用工具:

             export -ar :重新导出所有的文件系统

             export -au  : 关闭导出的所有文件系统

             export  -u FS :关闭指定的导出的文件系统


技术分享



补充材料:

    常用选项

        有几个常用的选项可以对 NFS 实现进行定制。这些选项包括:

          secure 这个选项是缺省选项,它使用了 1024 以下的TCP/IP 端口实现 NFS 的连接。指定insecure 可以禁用这个选项。

         rw 这个选项允许 NFS 客户机进行读/写访问。缺省选项是只读的。

         async 这个选项可以改进性能,但是如果没有完全关闭 NFS 守护进程就重新启动了 NFS 服务器,这也可能会造成数据丢失。

        no_wdelay 这个选项关闭写延时。如果设置了 async,那么 NFS 就会忽略这个选项。

           nohide 如果将一个目录挂载到另外一个目录之上,那么原来的目录通常就被隐藏起来或看起来像空的一样。要禁用这种行为,需启用 hide 选项。

          no_subtree_check 这个选项关闭子树检查,子树检查会执行一些不想忽略的安全性检查。缺省选项是启用子树检查。

         no_auth_nlm 这个选项也可以作为 insecure_locks 指定,它告诉 NFS 守护进程不要对加锁请求进行认证。如果关心安全性问题,就要避免使用这个选项。缺省选项是 auth_nlm secure_locks

        mp (mountpoint=path) 通过显式地声明这个选项,NFS 要求挂载所导出的目录。

         fsid=num 这个选项通常都在 NFS 故障恢复的情况中使用。如果希望实现 NFS 的故障恢复,请参考 NFS 文档。

                         

           用户映射

        通过 NFS 中的用户映射,可以将伪或实际用户和组的标识赋给一个正在对 NFS 卷进行操作的用户。这个 NFS 用户具有映射所允许的用户和组的许可权限。对 NFS 卷使用一个通用的用户/组可以提供一定的安全性和灵活性,而不会带来很多管理负荷。

        在使用 NFS 挂载的文件系统上的文件时,用户的访问通常都会受到限制,这就是说用户都是以匿名用户的身份来对文件进行访问的,这些用户缺省情况下对这些文件只有只读权限。这种行为对于 root 用户来说尤其重要。然而,实际上的确存在这种情况:希望用户以 root 用户或所定义的其他用户的身份访问远程文件系统上的文件。NFS 允许指定访问远程文件的用户——通过用户标识号(UID)和组标识号(GID),可以禁用正常的 squash行为。

                                  

           用户映射的选项包括:

         root_squash 这个选项不允许 root 用户访问挂载上来的 NFS 卷。

         no_root_squash 这个选项允许 root 用户访问挂载上来的 NFS 卷。

        all_squash 这个选项对于公共访问的 NFS 卷来说非常有用,它会限制所有的 UID GID,只使用匿名用户。缺省设置no_all_squash

         anonuid anongid 这两个选项将匿名 UID GID 修改成特定用户和组帐号。


上面就是NFS的简单应用介绍


NFS文件服务

标签:nfs

原文地址:http://jimchen.blog.51cto.com/10026955/1652143

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!