1 / 22

本章重点内容

本章重点内容. NFS 系统简介 NFS 服务的安装与配置 NFS 服务测试. NFS 系统简介. NFS Server 可以让你的 PC 将网络远程的 NFS 主机提供的共享的目录,挂载到本地端的机器当中。所以,在本地端的机器看起来,那个远程主机的目录就好象是自己的 partition 一般! NFS server 可以看作是一个 FILE SERVER. NFS 系统简介. RPC ( Remote Procedure Call )

ankti
Download Presentation

本章重点内容

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 本章重点内容 NFS系统简介 NFS服务的安装与配置 NFS服务测试

  2. NFS系统简介 NFS Server 可以让你的 PC 将网络远程的 NFS 主机提供的共享的目录,挂载到本地端的机器当中。所以,在本地端的机器看起来,那个远程主机的目录就好象是自己的 partition 一般! NFS server可以看作是一个FILE SERVER

  3. NFS系统简介 RPC(Remote Procedure Call) 虽然 NFS 有属于自己的协议和所使用的 port number,但NFS 本身没有提供信息传输的协议和功能。NFS之所以能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议,而这些传输协议用到这个RPC功能。

  4. NFS系统简介 RPC(Remote Procedure Call) 可以将NFS服务器看成是一个RPC服务器,NFS客户端看成是一个RPC客户端,所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

  5. NFS系统简介 举个例子来说:当 Client 端尝试来使用 RPC server 所提供的服务时,由于 Client 需要取得一个可以连接的 port 才能够使用 RPC server 所提供的服务,因此, Client 首先就会去跟 portmap 讲『喂!可不可以通知一下,给我个 port number ,好让我可以跟 RPC 联络吧!』这个时候 portmap 就自动的将自己管理的 port mapping 告知 Client ,好让他可以连接上来 server 呢!所以啰:『激活 NFS 之前,请先激活 portmap !』

  6. NFS系统简介 • NFS需要启动的DAEMONS • rpc.nfsd:主要负责登陆权限检测。 • rpc.mountd:主要功能是管理NFS的文件系统。当客户端顺利的通过rpc.nfsd登陆NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证, rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端的权限。 • portmap: 主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务提供的服务试,portmap会将所管理的与服务对应的端口号提供给客户端,从而使客户端可以通过端口向服务器请求服务 • 注:在REDHAT中PORTMAP是默认启动的

  7. NFS服务的安装 NFS SERVER在REDHAT LINUX平台下一共需要两个软件包:nfs-utils和portmap nfs-utils:提供rpc.nfsd 及 rpc.mountd这两个NFS DAEMONS的软件 portmap: NFS其实可以被看作是一个RPC SERVER PROGRAM,而要启动一个RPC SERVER PROGRAM,都要做好PORT的对应工作,而且这样的任务就是由PORTMAP来完成的。通俗的说PortMap就是用来做PORT的mapping的。

  8. NFS服务的 配置 服务器端的设定都是在/etc/exports这个文件中进行设定的,设定格式如下: 欲分享出去的目录 主机名称1或者IP1(参数1,参数2) 主机名称2或者IP2(参数3,参数4) 上面这个格式表示,同一个目录分享给两个不同的主机,但提供给这两台主机的权限和参数是不同的,所以分别设定两个主机得到的权限。 例:/home/test192.168.0.100(rw)

  9. NFS服务的 配置 可以设定的参数主要有以下这些: rw:可读写的权限; ro:只读的权限; no_root_squash:登入到NFS主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用。 root_squash: 登入 NFS 主机使用分享目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份(缺省)all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody。 anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中。 anongid:同 anonuid ,但是变成 group ID 就是了! sync:资料同步写入存储器中。 async:资料会先暂时存放在内存中,不会直接写入硬盘。

  10. NFS服务的 配置 • 例如可以编辑/etc/exports为: /tmp     *(rw,no_root_squash) /home/public192.168.0.*(rw)   *(ro) /home/test192.168.0.100(rw) /home/linux  *.the9.com(rw,all_squash,anonuid=40,anongid=40)

  11. NFS服务的 配置 • 设定好后可以使用以下命令启动NFS: # /etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的) # /etc/rc.d/init.d/nfs start

  12. NFS服务的 配置 • exportfs命令来使新配置生效,该命令格式如下: exportfs [-aruv] -a :全部mount或者unmount /etc/exports中的内容 -r :重新mount /etc/exports中分享出来的目录 -u :umount 目录 -v :在 export 的时候,将详细的信息输出到屏幕上。

  13. NFS服务的 配置 • 具体例子: # exportfs -rv <==全部重新 export 一次! exporting 192.168.0.100:/home/test exporting 192.168.0.*:/home/public exporting *.the9.com:/home/linux exporting *:/home/public exporting *:/tmp reexporting 192.168.0.100:/home/test to kernel #exportfs -au <==全部都卸载了。

  14. NFS服务的 配置 • 权限问题假设/etc/exports里面的内容为#vi /etc/exports /home/public 192.168.0.*(rw) *(ro)

  15. NFS服务的 配置 • 假设我们在192.168.0.100这个client端登陆此NFS主机(192.168.0.2),那么 情况一:在192.168.0.100的帐号为test这个身份,同时,NFS主机上也有test这个帐号    在/home/public中,由于我有读写的权限,如果NFS主机在/home/public这个目录的权限对于test开放写入的话,那么就可以读写,并且写入档案的所有人是test。如果NFS主机的/home/public对于test这个使用者并没有开放写入权限时,那就无法写入,虽然/etc/exports里面是rw,也不起作用.

  16. NFS服务的 配置 • 假设我们在192.168.0.100这个client端登陆此NFS主机(192.168.0.2),那么情况二:如果我们在192.168.0.100的身份为test2,但是NFS主机却没有test2这个帐号时b).在/home/public与/home/test里面是否可以写入,还需要看/home/public的权限而定,不过身份就被变成nobody了

  17. NFS服务的 配置 • 情况三:在192.168.0.100的身份为root在/home/public底下的身份被压缩成了nobody,因为预设的属性都具有root_squash,所以档案所有人就变成了nobody.

  18. 客户端NFS服务的测试 • showmout命令对于NFS的操作和查错有很大的帮助,所以我们先来看一下showmount的用法 showmout -a :这个参数是一般在NFS SERVER上使用,是用来显示已经mount上本机nfs目录的cline机器。 -e :显示指定的NFS SERVER上export出来的目录。

  19. 客户端NFS服务的测试 例如: showmount -e 192.168.0.1 Export list for localhost: /tmp * /home/linux *.linux.org /home/public (everyone) /home/test 192.168.0.100

  20. 客户端NFS服务的测试 • mount nfs目录的方法: #mount -t nfs hostname(orIP):/directory /mount/point 具体例子: # mkdir /nfs/tmp #mount -t nfs 192.168.0.1:/nfs/tmp /mnt/nfs # cd /mnt/nfs # ls

  21. 客户端NFS服务的测试 • 开机时自动连上 NFS: 如果希望开机的时候,系统就自动挂载 NSF,则需要编辑 /etc/fstab 档。 例: 192.168.1.100:/tmp /mnt/nfs nfs defaults 0 0

  22. 与NFS有关的一些命令介绍 nfsstat: 查看NFS的运行状态,对于调整NFS的运行有很大帮助 rpcinfo: 查看rpc执行信息,可以用于检测rpc运行情况的工具。

More Related