1、第十四章,网络文件系统,第十四章 网络文件系统,本章要点,理解什么是网络文件系统 掌握NFS的守候进程以及它们的角色 掌握如何配置NFS服务器 掌握如何管理NFS客户端,第十四章 网络文件系统(2),14.1.1 什么是NFS,NFS:Network File System ,网络文件系统NFS用于UNIX系统时,类似Windows中网上邻居的功能,可实现网络共享。但比网上邻居配置更灵活配置,安全性更好基于RPC(Remote Procedure Call)协议,NFS协议是stateless的。服务端是没有跟踪记录客户端对目录操作的状态,服务端只是记录有哪些客户机在操作要求客户端是主动和智能
2、的,即由客户端提出对服务端的共享文件的mount方式,比如,服务端宕机,客户机如何处理等,什么是NFS(2),14.1.2 NFS 的守候进程, portmap nfsd rpc.mountd rpc.statd rpc.lockd,NFS服务端需要的守候进程(daemon) :,NFS 的守候进程(2),NFS客户端需要的守候进程(daemon) :, portmap biod rpc.statd rpc.lockd,查看NFS守候进程状态命令:,# lssrc g nfs,rpc.mountd 进程运行在服务端客户端,响应客户端的mount请求发送的mount请求,并查看是否有所需的共享目
3、录nfsd 进程运行于服务端,和biod配合完成NFS的文件读写操作,NFS 的守候进程(3),NFS 的守候进程(4),biod 进程运行于客户端,和nfsd配合完成NFS的文件读写操作rpc.lockd and rpc.statd 进程客户端和服务端都要运行,用来监控和锁定NFS文件的操作,NFS 的守候进程(5),portmap 进程用来给基于RPC协议的服务分配一个通讯端口基于RPC协议的服务必须先从portmap得到分配的的端口,之后才能对外正常服务NFS服务是基于RPC通信,所以无论是客户端还是服务端,都要在启动RPC其他相关子进程之前,先启动pormap进程,NFS 的守候进程(
4、6),NFS 的守候进程(7),配置方式:手动修改配置文件和手工启动服务 用smit工具配置和启动服务只有root才能配置NFS,14.2.1 配置NFS服务器,手工配置NFS服务器,手动修改配置文件/etc/exports 执行exportfs a,使配置文件内容生效 用startsrc g nfs 启动NFS相关子进程,/etc/exports文件,# cat /etc/exports/tmp/thomasc -access=server1:server2:server4/tmp/thomasc/testfs /usr/man ro用命令# exportfs a读取此文件,才能把内容共享出
5、去,使其他机器的用户可以使用本机的文件,此文件列出要共享的内容,示例:,/etc/exports文件(2),access 只允许server1、server2和server3访问/tmp/thomasc目录,其他机器不允许访问ro /usr/man目录被设置为只读,若无任何参数,则默认为rw,/etc/rmtab文件,当服务器的rpc.mountd进程接收到一个来自客户端的mount请求后,在/etc/rmtab文件中记录客户端主机名和mount的目录当客户端把共享的目录umount后,/etc/rmtab中的记录会自动去除可以通过命令 showmount -a 来查看此文件内容,/etc/x
6、tab文件,列出系统有哪些共享的内容rpc.moutd接受到来自客户端的请求,先去查看/etc/xtab这个文件,看是否有用户所需要的,使用smit配置NFS服务器,# smit mknfsexp,使用smit配置NFS服务器(2),在“PATHNAME of directory to export”选项设定要共享的目录“MODE to export directory” 选项设定共享目录的访问权限“EXPORT directory now,system restart or both” 选项设定是否现在启动NFS子进程等,14.2.2 管理NFS客户端,需要启动nfs客户端的守候进程执行mo
7、unt命令,共享服务端的目录示例:# mount server3:/tmp/testnfs /mntpoint(把主机名为server3上的/tmp/testnfs 目录挂到本机的/mntpoint 目录下)执行 umount命令,卸载NFS共享的目录,# mountnode mounted mounted over vfs date options - - - - - -/dev/hd4 / jfs Apr 26 20:42 rw,log=/dev/hd8/dev/hd9var /var jfs Jun 14 14:11 rw,log=/dev/hd8./dev/hd10opt /opt j
8、fs Apr 26 20:43 rw,log=/dev/hd8 p610 /usr/man /testfs nfs3 May 02 15:39 - Node列就是远程NFS server的主机名,Mount命令,自动mount,配置远程文件系统为自动mount后,该远程文件系统不会马上mount,当有用户访问时,系统将自动mount该文件系统,此功能可以节省系统开支,并简化操作自动mount分为两种: indirect-automount direct-automount,需要启动automound,#startsrc s automountd,indirect-automount,1、先在/
9、tmp下创建一个indirect-automoun的map文件,该文件定义好mount点的相对路径,如下:# more /tmp/indirect.maptestfs -rw server3:/tmp/testfs2、因为已经定义了mount点的相对路径,执行下面命令后,会在/tmp/limhai目录下创建testfs目录,并把server3服务器的/tmp/testfs目录mount此目录:# automount -m /tmp/limhai /tmp/indirect.map,direct-automount,1、先在/tmp下创建一个direct-automoun的map文件,该文件定义
10、好mount点的绝对路径,如下:# more /tmp/direct.map/home/remote server3:/home2、因为已经定义了mount点的绝对路径,所以执行automount命令就不需要具体指定mount点,这是和indirect map不一样的,如下所示, :# automount -m /- /tmp/direct.map,14.2.3 NFS 相关命令,rcpinfo 命令nfso 命令nfsstatshowmount,rpcinfo命令,查看RPC服务的状态信息# rpcinfo -p server3program vers proto port service1
11、00003 2 udp 2049 nfs100005 1 udp 40212 mountd(查阅/etc/rpc文件,nfsd (100003和100005对应的RPC服务是nfsd和mountd,也就是说portmap注册了这两个服务),nfso 命令,查看系统有关NFS的内核参数# nfso aportcheck= 0udpchecksum= 1nfs_socketsize= 60000nfs_tcp_socketsize= 60000修改NFS的内核某个参数# nfso -o nfs_tcp_socketsize=80000,nfsstat命令,查看NFS通信状态,可用来监控NFS性能#
12、 nfsstat aServer rpc:Connection oriented:calls badcalls nullrecv0 0 0,showmount命令,查看某台机器共享出的目录有哪些# showmount -e server3export list for server3:/tmp/thomasc server1,server2,server4/tmp/thomasc/testfs (everyone)查看当前有那些机器共享本机目录# showmount a,14.2.4 测试题(1),1、Administartor now wishes to mount the exported
13、 file systems from pluto onto mars. Which of the following commands will she use to view the export list of pluto?,exportlist plutorpcinfo -p plutoshowmount -e marsshowmount -e pluto,测试题(2),2、Which of the following actions should be performed by the system administrator to give Server B access to Se
14、rver As file system?,Run the chfs command on Server ARun the chfs command on Server BRun the exportfs command on Server ARun the exportfs command on Server B,3、When a RPC (remote procedural call) server starts up, it registers itself with which of the following daemons?,yp daemonsnfs daemonsinetd daemonsportmap daemon,测试题(3),测试题(4),4、哪些不是NFS服务器必需的守候进程?,nfsdbiodrpm.mountdpormap,答案1、D2、C3、D4、B,测试题(4),