天天看点

Linux系统搭建NFS并共享给AIX一、       NFS介绍 二、       NFS进程 三、       安装NFS 四、       启动NFS 五、       查看通过NFS的传输性能 六、       挂载NFS 七、       卸载 八、       扩展阅读

NFS 是Network FileSystem的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

  NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

  NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (RemoteProcedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;

    mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。

    portmap/rpcbind:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。

rpm –qa| grep nfs

rpm -qa| grep rpcbind

在CentOS,原来的portmap改成了rpcbind。如果这两个软件没有安装,就要下载对应的rpm包进行安装(当然也可以用yum等其他安装方式)

默认情况下,nfs通过2049端口通信,portmap或者rpcbind通过111端口通信。

cat/etc/services | grep nfs

nfs             2049/tcp        nfsd shilp      # Network File System

nfs             2049/udp        nfsd shilp      # Network File System

nfs             2049/sctp       nfsd shilp      # Network File System

cat/etc/services | grep rpcbind

sunrpc          111/tcp         portmapper rpcbind     #RPC 4.0 portmapper TCP

sunrpc          111/udp         portmapper rpcbind      # RPC 4.0 portmapper

     另外,要固定mount服务的端口为976

cat>> /etc/services

mountd 976/udp

mountd 976/tcp

servicenfs restart

将源机器和目标机器的IP和上述端口放通。关闭防火墙对这些端口的屏蔽。

    vim /etc/exports

/home/bapogg 10.249.13.0/24(rw,no_root_squash,async)

servicenfs start

servicerpcbind start

servicenfs status

rpc.svcgssd isstopped

rpc.mountd (pid8451) is running...

nfsd (pid 84488447 8446 8445 8444 8443 8442 8441) is running...

rpc.rquotad (pid8435) is running...

servicerpcbind status

rpcbind (pid  1541) is running...

通过拷贝一个大文件,看拷贝完需要多长时间。大小/时间=速率。

stopsrc-g nfs

0513-044 The biodSubsystem was requested to stop.

0513-044 The nfsdSubsystem was requested to stop.

0513-044 Therpc.lockd Subsystem was requested to stop.

0513-044 Therpc.statd Subsystem was requested to stop.

stopsrc-s portmap

0513-044 Theportmap Subsystem was requested to stop.

startsrc-s portmap

0513-059 Theportmap Subsystem has been started. Subsystem PID is 156104.

startsrc-g nfs

0513-059 The biodSubsystem has been started. Subsystem PID is 397708.

0513-059 The nfsdSubsystem has been started. Subsystem PID is 352796.

0513-059 Therpc.mountd Subsystem has been started. Subsystem PID is 360828.

0513-059 Thenfsrgyd Subsystem has been started. Subsystem PID is 369402.

0513-059 The gssdSubsystem has been started. Subsystem PID is 360830.

0513-059 Therpc.lockd Subsystem has been started. Subsystem PID is 369404.

mount 10.249.60.65:/home/bapogg/ogg/test_nfs

也要做一些客户端的必要的设置,在此略过。

mount-t nfs 10.249.60.65:/home/bapogg /ogg/test_nfs

unmount /ogg/test_nfs

    如果报这类错误:umount: 1831-01516 error while unmounting 10.249.60.65:/home/bapogg - The requested resource isbusy.

就用fuser -k/ogg/test_nfs 把占用的进程杀掉。当然不那么粗暴的方式是fuser/ogg/test_nfs看哪些进程占用这个文件系统。

http://www.ibm.com/developerworks/cn/aix/library/au-aix7networkoptimize2/

本文转自 Mr_sheng 51CTO博客,原文链接:http://blog.51cto.com/sf1314/1971745

继续阅读