Aix 上NFS详细介绍

网络文件系统管理 

NFS是独立于机器类型、操作系统和网络架构而是通过使用RPC(远程程序调用)。 

10.1  NFS服务 
1、几个概念 
服务端(Server),客户端(Client),Export、mount。 

2、NFS提供的服务 
Mount: 通过在服务端启用/usr/sbin/rpc.mountd伺服进程,在客户端使用mount命令,mounted伺服进程是一个RPC来回应客户端的请求 
Remote File access:通过在服务端启用/usr/sbin/nfsd和在客户端启用/usr/sbin/biod,来出来客户端对文件的请求。但客户端一个用户要来读或写一个在服务器端的文件时,biod伺服进程发送这个请求到服务端。 
Boot parameters: 通过在服务端启用/usr/sbin/rpc.bootparamd伺服进程来提供无盘SunOS客户端的启动参数。 
PC authentication: 通过在服务端启动/usr/sbin/rpc.pcnfsd来提供PC-NFS的用户认证服务 
一个NFS服务是无状态的(stateless),也就是说,NFS的传输是原子级的,一个单一的NFS传输对应了一个单一完整的文件操作。 

10.2  计划、安装和配置NFS 
配置NFS: 
1、配置在每一个系统上(不管是服务端还是客户端)启动NFS 
使用smit mknfs或mknfs命令 
mknfs命令参数: 
-B:即现在就启动NFS服务进程同时在系统重启时也启动,它会在/etc/inittab文件中创建一条记录来执行/etc/rc.nfs。 
-I: 在/etc/inittab文件中创建了启动NFS服务的记录 
-N:当前立即启动NFS,但重启时不启动。 
2、如果要使用命令行来启动NFS伺服进程,使用startsrc –g nfs。 
注意,如果/etc/exports文件没有存在,则nfsd和rpc.mountd伺服进程不会启动。这时可以通过touch /etc/exports先创建一个空白的exports文件 

10.2.1Exporting NFS目录 
使用smit 
   1、先用lssrc –g nfs检查NFS伺服进程 
   2、使用smit mknfsexp来设置 
   3、设置完后,会刷新/etc/exports文件。 
   4、把相关信息发送到内核上 
   #/usr/sbin/exportfs –a 
   5、确定是否已经export出去 
   #showmount –e Croom     
上述smit的操作也可以用编辑/etc/exports文档来代替,其它步骤不变。 
如果要临时export一个文件系统,可以不改变/etc/exports文件,而直接采用exportfs命令来操作。 
#exportfs –i  /dirname 
对于客户端,要采取一下步骤来确定可以进行服务端export出来的文件系统 
   1、确定NFS是默认的远程文件系统 
   #vi /etc/vfs 
   nfs 2 /sbin/helpers/nfsmnthelp none remote 
   2、启动NFS伺服进程 

10.2.2Unexporting 一个NFS文件系统(目录) 
   1、使用smit rmnfsexp菜单 
   2、使用编辑exports文件的方式 
编辑保存后,使用exportfs –u dirname来刷新 
注意exportfs命令的使用。 

10.2.3mount一个NFS文件系统(目录) 
有三种类型:预定义、显式的、自动的 
预定义即在/etc/filesystems文件上先定义好,在系统启动时自动mount这些文件系统。 
显式的需要root用户,短期需要使用时才mount上来。 
自动的由automount命令控制,使得AutoFS系统扩展内核在客户端需要访问该NFS文件系统时自动把该文件系统mount上来。 

NFS mounting过程: 
1、当服务端系统启动时,/etc/rc.nfs脚本执行exportfs命令,该命令读取/etc/exports文件并告诉内核哪些目录需要被export。这时rpc.mounted和好几个nfsd(默认下是8个)伺服进程启动。 
2、当客户端启动时,也是通过/etc/rc.nfs脚本启动好几个biod伺服进程(默认8个) 
3、rc.nfs脚本接着执行mount命令,读取/etc/filesystems文件,并且在它和服务端建立通讯联系,这个过程也叫绑定(binding) 
4、当客户端发起mount请求时,服务端通过rpc.mount接收客户端请求,如果运行该请求的话,则向客户端内核发送一个标记叫做文件柄(file handle) 
5、接着客户端通过记录相关一个mount记录把该文件柄绑定到该mount point上。 
创建一个预定义的NFS mounts 
注意:在创建时要注意设置以下参数,定义成bg和intr(interruptible)。如果设置成foreground和non-interruptible则在系统重启时,如果服务端或网络有问题时,则客户端会被挂住。 
使用smit mknfsmnt来操作,注意一些参数设置(也是在/etc/filesystems中的options项) 
创建一个显式的NFS文件系统: 
创建一个自动mount的NFS文件系统: 
1、确定服务器端已经把该文件系统export出来,使用#showmount –e Server1 
2、创建一个AutoFS map文件,在/usr/samples/nfs中有例子。 
3、在客户端要加载AutoFS内核扩展并且启用automountd,有两种办法 
a、#starsrc –s automountd 
b、使用automount命令 
  #/usr/sbin/automount –v /backup /tmp/mount.map 
4、停止automountd,可以使用 
#stopsrc –s automountd 

10.3  NFS服务端和客户端的管理 
10.3.1查看NFS伺服进程的情况 
#lssrc –g nfs 

10.3.2改变一个exported文件系统的属性 
可以使用smit或编辑/etc/exports文本文件的两种方式,当在更改前,都要先把该文件系统unexport掉,改动完成后,再把它export出去。 
1、#exportfs –u /dirname 
2、使用smit chnfsexp或vi /etc/exports文件 
3、#exportfs /dirname 

10.3.3umount一个NFS文件系统 
使用umount即可 
10.4  相关文件、命令和伺服进程 
10.5  问题断定 
10.5.1确定NFS问题检查列表 
1、检查网络连接情况 
2、检查客户端是否有启动inetd、portmap和biod伺服进程。 
3、检查客户端有有效的mount安装点。 
4、使用rpcinfo命令检查服务端是启用的并且是在运行的 
#/usr/bin/rpcinfo –p server_name 
5、检查服务器端的伺服进程有启动,并且文件系统是export出去的,可以使用一下脚本命令 
       #/usr/bin/rpcinfo –u server_name mount 
       #/usr/bin/rpcinfo –u server_name portmap 
       #/usr/bin/rpcinfo –u server_name nfs 
   6、检查服务器端的/etc/exports文件 
   #showmount –e server_name 

10.5.2检查网络连接 
使用nfsstat 命令来查看 

10.5.3NFS错误信息 
1、Hard-mounted和sofe-mounted问题 
如果网络或服务端有问题,硬连接会提示“still trying”,而软连接会提示“Connection timed out” 
2、bad sendreply错误信息 
如果transmit buffer不够,会提示“nfs_server:bad sendreply” 
3、服务端没有响应 
4、远程mounting问题(客户端)

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27042095/viewspace-751967/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/27042095/viewspace-751967/

你可能感兴趣的:(Aix 上NFS详细介绍)