NFS服务器的架构和优化

网络 网络管理
下面我们来了解一下NFS服务器的有关内容。首先我们需要掌握它的客户端和服务端的创建,之后对于它的优化再来进行一下说明。

在对NFS服务进行建设的时候,我们知道,打造一个NFS服务器需要有一个客户端和一个服务端,然后两者才能够相连进行通信使用。这里我们就来了解一下客户端以及服务器端的一些设置,然后再进行一下优化的讲解。

CLIENT 和SERVER的具体操作和设置

在讲NFS SERVER的运作之前先来看一些与NFS SERVER有关的东西:

RPC(Remote Procedure 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是负责负责信息的传输.

NFS服务器需要启动的DAEMONS

pc.nfsd:主要复杂登陆权限检测等.

rpc.mountd:负责NFS的档案系统,当CLIENT端通过rpc.nfsd登陆SERVER后,对clinet存取server的文件进行一系列的管理

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的.

NFS服务器调优

调优的步骤:

1、测量当前网络、服务器和每个客户端的执行效率.

2、分析收集来的数据并画出图表.查找出特殊情况,例如很高的磁盘和CPU占用、已经高的磁盘使用时间

3、调整服务器

4、重复第一到第三步直到达到你渴望的性能

与 NFS性能有关的问题有很多,通常可以要考虑的有以下这些选择:

WSIZE,RSIZE参数来优化NFS的执行效能

WSIZE、 RSIZE对于NFS的效能有很大的影响.

wsize和rsize设定了SERVER和CLIENT之间往来数据块的大小,这两个参数的合理设定与很多方面有关,不仅是软件方面也有硬件方面的因素会影响这两个参数的设定(例如LINUX KERNEL、网卡,交换机等等).

下面这个命令可以测试NFS的执行效能,读和写的效能可以分别测试,分别找到合适的参数.对于要测试分散的大量的数据的读写可以通过编写脚本来进行测试.在每次测试的时候最好能重复的执行一次MOUNT和unmount.

time dd if=/dev/zero of=/mnt/home/testfile bs=16k count=16384

用于测试的WSIZE,RSIZE最好是1024的倍数,对于NFS V2来说8192是RSIZE和WSIZE的最大数值,如果使用的是 NFS V3则可以尝试的最大数值是32768.

如果设置的值比较大的时候,应该最好在CLIENT上进入mount上的目录中,进行一些常规操作(LS,VI等等),看看有没有错误信息出现.有可能出现的典型问题有LS的时候文件不能完整的列出或者是出现错误信息,不同的操作系统有不同的最佳数值,所以对于不同的操作系统都要进行测试.

设定最佳的NFSD的COPY数目.

linux中的NFSD的COPY数目是在/etc/rc.d/init.d/nfs这个启动文件中设置的,默认是8个NFSD,对于这个参数的设置一般是要根据可能的CLIENT数目来进行设定的,和WSIZE、RSIZE一样也是要通过测试来找到最近的数值.

UDP and TCP

可以手动进行设置,也可以自动进行选择.

mount -t nfs -o sync,tcp,noatime,rsize=1024,wsize=1024 EXPORT_MACHINE:/EXPORTED_DIR /DIR

UDP有着传输速度快,非连接传输的便捷特性,但是UDP在传输上没有TCP来的稳定,当网络不稳定或者黑客入侵的时候很容易使NFS服务器的 Performance 大幅降低甚至使网络瘫痪.所以对于不同情况的网络要有针对的选择传输协议.nfs over tcp比较稳定,nfs over udp速度较快.在机器较少网络状况较好的情况下使用UDP协议能带来较好的性能,当机器较多,网络情况复杂时推荐使用TCP协议(V2只支持UDP协议).在局域网中使用UDP协议较好,因为局域网有比较稳定的网络保证,使用UDP可以带来更好的性能,在广域网中推荐使用TCP协议,TCP协议能让NFS在复杂的网络环境中保持最好的传输稳定性.可以参考这篇文章:http://www.hp.com.tw/ssn/unix/0212/unix021204.asp ;

责任编辑:佟健 来源: 互联网
相关推荐

2010-07-27 13:53:23

NFS服务器

2010-07-27 16:38:11

Debian NFS服

2010-07-27 10:28:44

2010-08-06 13:12:55

NFS服务器

2010-08-03 15:53:07

CentOSNFS服务器

2010-08-05 13:40:06

NFS服务器

2010-08-03 11:49:26

Ubuntu nfs服

2009-09-08 16:31:07

2010-08-05 14:15:20

NFS服务器

2010-08-04 16:07:05

NFS服务器

2010-08-05 09:43:09

NFS服务器安全

2009-09-01 10:38:13

NFS服务器

2010-08-04 15:35:02

2009-09-08 13:48:13

NFS服务器

2010-08-03 17:07:55

NFS服务器

2010-08-06 13:06:28

NFS服务器

2010-08-05 14:21:43

NFS服务器

2010-07-27 10:46:31

Linux NFS服务

2009-09-08 15:20:01

NFS服务器

2010-07-27 13:59:53

Linux NFS服务
点赞
收藏

51CTO技术栈公众号