我们知道在Linux上运行NFS会有很多不同的情况。随着环境以及相应版本和硬件的改动,它的一些性能会有很大的差异。那么今天我们来看一下 CentOS NFS的一些安装和测试情况。在 CentOS 上安装和配置 NFS 4.0。NFS 网络文件系统协议最早是于1984年由 SUN 公司开发的,NFSv4 是最新的修订版本,2003年4月发布(RFC 3530)。由于 NFS 是一个开放的协议和标准,所以各个系统上的实现不同,所表现出来就是稳定性和性能差异,VPSee 的经验是 NFS 在 Solaris 上最稳定、功能最丰富;在 FreeBSD 上的性能最好,但是缺少一些功能,比如 FreeBSD 8.0 内核才增加了 NFS 文件锁的支持;NFS 在 Linux 上表现最一般了,所以我们至今仍有部分服务器低调地运行着古老的 Solaris 2.5 和 NFSv3,相比 NFSv3 来说 NFSv4 做了一些重大改进,比如:性能的提升、安全性的增强和 ACL,更容易与防火墙集成等。下面地操作在 CentOS 5.5 上完成。
安装CentOS NFS 服务器
安装CentOS NFS 服务器所需的软件包:
- # yum install nfs-utils nfs4-acl-tools portmap
配置CentOS NFS 共享
和安装任何其他服务器软件一样,安装完 NFS 服务后就需要对 NFS 服务进行配置。输出服务器端的某个目录,以便 NFS 客户端能挂载和访问到这个目录
- # vi /etc/exports
- /bak 172.16.20.11(rw,sync,fsid=0) 172.16.20.12(rw,sync,fsid=0)
172.16.20.11 和 172.16.20.12 上面的用户可以挂载 NFS 服务器(172.16.20.1)上的 /bak 目录到自己文件系统里;rw 在这里表示可读可写。
把CentOS NFS服务加入系统启动脚本并且手动启动 NFS 服务:
- # chkconfig nfs on
- # chkconfig portmap on
- # /etc/init.d/portmap start
- # /etc/init.d/nfs start
确认 NFSv4 服务器成功运行:
- # rpcinfo -p
- program vers proto port
- 100000 2 tcp 111 portmapper
- 100000 2 udp 111 portmapper
- 100003 2 udp 2049 nfs
- 100003 3 udp 2049 nfs
- 100003 4 udp 2049 nfs
- ...
- 100005 3 tcp 750 mountd
检查CentOS NFS服务器是否输出我们想共享的目录 /bak:
- # exportfs
- /bak 172.16.20.11
- /bak 172.16.20.12
注意 NFS 使用 portmap,而且新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源,修改这2个配置文件以便 NFS 客户端能正常连接到服务器:
- # vi /etc/hosts.deny
- portmap:ALL
- # vi /etc/hosts.allow
- portmap:172.16.38.0/255.255.254.0
使用 NFS 客户端
首先启动 portmap:
- # /etc/init.d/portmap start
检查 NFS 服务器端是否有目录共享: