NFS协议的优化设置

2024-04-16

NFS协议的优化设置(精选8篇)

篇1:NFS协议的优化设置

NFS,是网络文件系统,这个大家是知道的。那么对于这个协议的使用,我们在前面也介绍过一部分。今天说一下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 f=/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在复杂的网络环境中保持最好的传输稳定性.可以参考这篇文章:www.hp.com.tw/ssn/unix/0212/unix021204.asp ;

版本的选择

V3作为默认的选择(RED HAT 8默认使用V2,SOLARIS 8以上默认使用V3),可以通过 vers= mount option来进行选择.

LINUX通过mount option的nfsvers=n进行选择.

篇2:NFS协议的优化设置

服务器端的设定都是在/etc/exports这个文件中进行设定的,设定格式如下:

欲分享出去的目录 主机名称1或者IP1(参数1,参数2) 主机名称2或者IP2(参数3,参数4)

上面这个格式表示,同一个目录分享给两个不同的主机,但提供给这两台主机的权限和参数是不同的,所以分别设定两个主机得到的权限.

可以设定的参数主要有以下这些:

rw:可读写的权限;

ro:只读的权限;

no_root_squash:登入到NFS 主机的用户如果是ROOT用户,他就拥有ROOT的权限,此参数很不安全,建议不要使用.

root_squash:在登入 NFS协议主机使用分享之目的使用者如果是使用者的都成 nobody 身份;

all_squash:不管登陆NFS主机的用户是什么都会被重新设定为nobody.

anonuid:将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中.

anongid:同 anonuid ,但是?成 group ID 就是了!

sync:资料同步写入存储器中.

async:资料会先暂时存放在内存中,不会直接写入硬盘.

insecure 允许从这台机器过来的非授权访问.

例如可以编辑/etc/exports为:

/tmp *(rw,no_root_squash)

/home/public 192.168.0.*(rw) *(ro)

/home/test 192.168.0.100(rw)

/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)

设定好后可以使用以下命令启动NFS协议:

/etc/rc.d/init.d/portmap start (在REDHAT中PORTMAP是默认启动的)

/etc/rc.d/init.d/nfs start

exportfs命令:

如果我们在启动了NFS协议之后又修改了/etc/exports,是不是还要重新启动nfs呢?这个时候我们就可以用exportfs命令来使改动立刻生效,该命令格式如下:

exportfs

-a :全部 mount或者unmount /etc/exports中的内容

-r :重新mount /etc/exports中分享出来的目录

-u :umount 目录

-v :在 export 的?r候,将详细的信息输出到屏幕上.

具体例子:

# exportfs -rv <== 全部重新 export 一次!

exporting 192.168.0.100:/home/test

exporting 192.168.0.*:/home/public

exporting *.the9.com:/home/linux

exporting *:/home/public

exporting *:/tmp

reexporting 192.168.0.100:/home/test to kernel

exportfs -au <== 全部都卸载了.

二、客户端的操作:

1?showmout命令对于NFS协议的操作和查错有很大的帮助,所以我们先来看一下showmount的用法

showmout

-a :这个参数是一般在NFS SERVER上使用,是用来显示已经 mount上本机nfs目录的cline机器.

-e :显示指定的NFS SERVER上export出来的目录.

例如:

showmount -e 192.168.0.30

Export list for localhost:

/tmp *

/home/linux *.linux.org

/home/public (everyone)

/home/test 192.168.0.100

2? mount nfs目录的方法:

mount -t nfs hostname(orIP):/directory /mount/point

具体例子:

Linux: mount -t nfs 192.168.0.1:/tmp /mnt/nfs

Solaris:mount -F nfs 192.168.0.1:/tmp /mnt/nfs

BSD: mount 192.168.0.1:/tmp /mnt/nfs

3?mount nfs的其它可选参数:

HARD mount 和SOFT MOUNT:

HARD: NFS CLIENT会不断的尝试与SERVER的连接(在后台,不会给出任何提示信息,在LINUX 下有的版本仍然会给出一些提示),直到MOUNT上.

SOFT:会在前台尝试与SERVER的连接,是默认的连接方式.当收到错误信息后终止 mount尝试,并给出相关信息.

例如:mount -F nfs -o hard 192.168.0.10:/nfs /nfs

对于到底是使用hard还是soft的问题,这主要取决于你访问什么信息有关.例如你是想通过NFS协议来运行X PROGRAM的话,你绝对不会希望由于一些意外的情况(如网络速度一下子变的很慢,插拔了一下网卡插头等)而使系统输出大量的错误信息,如果此时你用的是HARD方式的话,系统就会等待,直到能够重新与NFS SERVER建立连接传输信息.另外如果是非关键数据的话也可以使用SOFT方式,如FTP数据等,这样在远程机器暂时连接不上或关闭时就不会挂起你的会话过程.

rsize和wsize:

文件传输尺寸设定:V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -wsize 来进行设定.这两个参数的设定对于NFS的执行效能有较大的影响

bg:在执行mount时如果无法顺利mount上时,系统会将mount的操作转移到后台并继续尝试mount,直到mount成功为止.(通常在设定/etc/fstab文件时都应该使用bg,以避免可能的mount不上而影响启动速度)

fg:和bg正好相反,是默认的参数

nfsvers=n:设定要使用的 NFS版本,默认是使用2,这个选项的设定还要取决于server端是否支持NFS VER 3

mountport:设定mount的端口

port:根据server端export出的端口设定,例如如果server使用5555端口输出NFS,那客户端就需要使用这个参数进行同样的设定

timeo=n:设置超时时间,当数据传输遇到问题时,会根据这个参数尝试进行重新传输.默认值是7/10妙(0.7秒).如果网络连接不是很稳定的话就要加大这个数值,并且推荐使用HARD MOUNT方式,同时最好也加上INTR参数,这样你就可以终止任何挂起的文件访问.

intr 允许通知中断一个NFS调用.当服务器没有应答需要放弃的时候有用处.

udp:使用udp作为nfs协议的传输协议(NFS V2只支持UDP)

tcp:使用tcp作为nfs的传输协议

namlen=n:设定远程服务器所允许的最长文件名.这个值的默认是255

篇3:NFS协议的优化设置

近年西南多地建立民航气象数据库系统,且服务器有中心代维的趋势,造成中心需要管理维护的这一类服务器越来越多,未来还有可能进一步提高。针对单台服务器逐一维护,一次变动,需要大量的人力逐台修改,本文主要集中在利用NFS实现软件的配置文件管理和服务器状态监控的简化。

2 软件配置

地方服务器的配置主要集中在两个文件夹config和msdat,特别是msdat常常因为新加入报文交换而需要进行修改。软件配置管理以软件划分,本文以民航数据库系统为例,定义airconfig文件夹,在此文件夹下,分别建立config和madat。

2.1 一种简单的实现方式

管理的基本需求是服务器进行一次修改,可影响所有被管理的服务器。在管理服务器上建立配置共享区,如图1 所示。所有被管理服务器修改配置文件为软链接文件,链接到服务器的配置共享区文件。

如此,被管理服务器程序运行时,调用的配置其实是管理服务器端的配置。一旦服务器端对配置作出修改,所有被管理服务器最多只需重新启动程序即可生效。新添加一台类似被管理服务器,管理服务器基本上无需更改,非常方便。但此方式存在所有管理配置必须一致,且管理服务器一旦出现问题,所有被管理服务器都出现问题,也即存在风险集中点。同时,有些配置需要在相同运行环境下进行编译,这就需要将配置下载到被管理服务器上修改编译后再复制回管理服务器,并再次修改被管理服务器的配置,非常麻烦。

2.2 较为复杂灵活的方式

2.2.1 配置管理需求分析

针对上一种简单方式的缺点与实际应用的需要,分析配置管理的限制和需求如下:

首先,出于安全的考虑,被管理的地方服务器不能修改中心的管理服务器。

第二,在配置出现变更时,管理服务器端修改一次,即可完成所有被管理服务器的修改。

第三,管理服务器出现故障时,不影响被管理服务器的运行。

第四,地方服务器虽然作为被管理端,但仍有自行更改维护自我配置的权力。

第五,中心服务器可对地方服务器的配置进行监控,如果发现不一致,可根据需要修改为一致,或者不进行修改,只通知管理员。

2.2.2 文件系统结构设计

为满足上一小节需求,最终设计文件系统结构如图2 所示。以通信系统常用配置为例。

由于被管理地方服务器不能修改中心的管理服务器,但要可以修改自我的配置,因此,将共享配置设置在被管理的地方服务器上,而由作为管理端的中心服务器以NFS的方式挂载地方服务器的共享文件夹。同时为保障地方服务器的自我维护,配置文件不直接由管理服务器管理,而仍以链接的方式。如此,当地方服务器需要自行而不交由中心维护时,可直接修改自己的配置,不使用文件链接即可,如图2 管理服务器端文件结构所示。

由于配置实际上保存在被管理服务器端,因此,即使中心服务器出现故障,也不会影响地方服务器的运行。

多台地方服务器或多或少,总会存在配置不一致的地方,因此,中心服务器针对一致和不一致的配置分别管理。以站点Z1 的airconfig/msdat为例,Z1 的实际配置为中心服务器的airconfig/msdat配置加上airconfig/msdat/Z1。前一部分为所有站点一致的部分,后一部分为Z1不一致部分。因此,加入脚本syncCon.sh。该脚本用于同步管理服务器维护的配置与被管理服务器配置的一致。主要流程如图3所示。当配置出现更改时,中心修改后,不带参数手动调用此脚本,对所有地方服务器配置立即进行所有同步。或者当某一站点配置修改后,以该站点代码为参数,对该站点进行所有配置的同步。第二个参数为同步的配置目录。参数ALL代表所有。

2.2.3 配置的监控

为防止地方服务器的误修改,中心服务器定时对中心配置版本和地方配置进行比对。实现方式为Crontab的定时调用,以参数Y或N决定是否进行同步。处理流程如图4所示。

2.2.4 地方服务器自我维护

当地方服务器希望在接受管理的前提下,自行对配置进行修改。如果管理服务器开启了配置监控并同步配置,那么地方服务器的自行修改将会在管理服务器下一次监控后失效。因此,管理服务器需要对地方服务器的修改进行反向的同步。使用脚本sync Con Rev.sh来实现。主要流程如图5所示。

由于反向同步为单一地方服务器的需求,因此,必须以该站点为参数。同时,由于地方服务器不可修改中心服务器,因此,该操作须由地方维护人员联系中心维护人员手动执行更改。

3 地方服务器的监控

除了配置的管理外,对地方服务器的维护还涉及系统的监控。

如果采用中心服务器逐一向地方服务器查询状态,由于目前中心服务器到地方服务器网络带宽本就不够,需要浪费大量的命令往返等待时间。因此采用地方服务器对自我的状态进行收集汇总后,统一上交到中心服务器更有效率。将地方服务器对自我运行状态的收集看着一个程序,中心需要监控的状态可以看成该程序的配置,因此,可采用上述配置管理的方式,配置到地方服务器上。地方服务器以定时任务的方式将信息收集完成后,以共享配置的方式,共享给中心服务器。不同的时,中心服务器,不对监控信息进行配置的同步管理,而只是共享文件。如图6 所示。Mon Res为地方服务器的监控信息,MonCon为监控的配置信息。

较为简单的监控以脚本直接实现,复杂的以可执行程序的方式,均交由crontab调用。

4 增加一台新的被管理服务器

该服务器的民航数据库通信系统已安装配置完成,且可正常运行,添加到该管理系统流程如图7所示。

被管理服务器和管理服务器建立该站点相应的用户,被管理服务器需要对配置文件结构进行修改,添加配置共享文件夹,原配置移动到共享文件夹中,原配置更改为到共享文件夹配置的软链接。在共享文件夹中建立监控配置和监控信息收集的文件夹,注意用户的权限问题。中心管理服务器端需建立站点相应的NFS文件挂载点,添加该站点的特殊配置文件夹。反向同步被管理服务器的配置,同步被管理服务器的监控信息。在被管理服务器端加入定时监控任务。手动运行看是否正常执行。

5 NFS的挂载

管理服务器端要使NFS文件系统自动挂载,需要写入/etc/rc.d/rc.local当中,以设定开机挂载。但当NFS挂载成功后,任一方脱机都可能造成另一方的等待超时,由于配置一般不会变动,配置的监视也可设置较长的时间轮询,因此,可使用autofs来进行NFS的挂载,当管理服务器需要被管理服务器信息时,自动挂载NFS文件系统,当使用完成后,自动卸载,以避免可能因为某一方意外脱机时,造成另一方的长时间等待。因此,需要将NFS的挂载信息写入autofs的配置中。

6 结束语

由上分析可知,该文件系统结构基本上能够满足统一管理的需求,但需要注意NFS的权限问题。管理服务器与被管理服务器需要建立GID与UID相同的用户,在第一种简单的实现方式上,该用户只能对管理服务器的共享文件进行读操作。后一种实现方式上,该用户需要对配置文件进行读写操作,而对于地方服务器提交监控信息,只能进行读操作。另外,一旦管理服务器出现问题,向被管理服务器发送错误的监控指令,可能引起被管理服务器出现风险。因此,管理服务器的安全非常重要。

摘要:由于近年西南多地建立民航数据库系统,且服务器有中心代维的趋势,造成中心需要管理维护的这一类服务器越来越多,未来还有可能进一步提高。针对单台服务器逐一维护,一次变动,需要大量的人力逐台修改,而这类服务器大部分配置往往非常一致,该文旨在讨论利用NFS实现运维的简化,并通过分离配置,为进一步的发展做准备。

关键词:NFS,服务器管理,服务器监控,AUTOFS,民航气象

参考文献

[1]鸟哥.鸟哥的Linux私房菜(基础学习篇)[M].3版.北京:人民邮电出版社,2010:210-234,293-344,372-447,493-503.

[2]鸟哥.鸟哥的Linux私房菜(服务器架设篇)[M].北京:机械工业出版社,2012:392-420.

[3]太极计算机股份有限公司.《民航气象传真广播系统》通信分系统使用手册[S].2012:11-26.

[4]Richard Blum,Christine Bresnahan.Linux命令行与shell脚本编程大全[M].武海峰,译.2版.北京:人民邮电出版社,2012:125-133,176-180,200-221,492-516.

[5]徐诚,高莹婷.Linux环境C程序设计[M].北京:清华大学出版社,2010:17-21,172-182

[6]徐海.基于Oracle 9i的民航气象数据管理系统设计与实现[D].成都:四川大学,2005.

[7]陈甫.民航气象二期数据库系统自动监控程序设计和实现[J].空中交通管理,2007(B11):31-33.

篇4:NFS协议的优化设置

关键词:aodv;能量感知;优化

中图分类号:TP393 文献标识码:A 文章编号:1674-7712 (2012) 16-0048-01

一、Aodv简介

Aodv协议是用于特定的网络的可移动节点。它可以在不同的动态对等网络确定一条到目的地的路由,并具有接入速度快,计算量小,内存占用率小,网络负载轻等特点。它使用的目标序列,保证在任何时候也不会出现回环(即使在路由控制信息的异常也不会),避免了传统距离数组协议中出现的许多问题(如无限计数问题)。

AODV算法目的是对多个移动节点在建立和维持一个动态的,自启动,多跳路由网络。路由协议使移动节点可以迅速获得新的目的地节点和路由,节点只需要保持其信号到达的路由节点,更远的节点路由信息不需要维护。网络连接断开和变化将使网络拓扑结构发生变化,使移动节点可以及时应对这一变化。AODV的操作是无自环的,由于解决了“无穷计数”问题,该算法在网络拓扑变化如在网络节点移动快速收敛。当一个路由协议连接断开,AODV会通知所有受影响的节点,节点会让用到这个连接的路由失效。

AODV路由协议的一个显著特点是它在每个路由表条目使用目标序列。目的节点创建目的序列,并包含在路由信息里面,接着路由信息将被发送到所有请求节点那里。通过使用目的序列号,我们确保了网络中没有回路,且易于编程。如果目的节点提供了两条路由,那么节点收到请求后将选择最大的序列号(由于目的地节点每收到一个新的请求,会将目的序列加1,从而使该路由保持最新最好)。

二、ns2网络模拟器简介

ns2是美国国防支持的项目(虚拟网络平台)开发通用多协议网络仿真网络软件,开发的源代码使研究人员更好地开展各类算法的实现及其改进。

ns是一个离散事件模拟器,事件提供了系统的状态变化,状态修改只有在事件发生时进行,典型的事件有分组到达、时钟超时等。同时,ns也有丰富的组件库,对一些通用的实体对象建模,对象易于组合,扩展。ns组件库支持网络类型:广域网,局域网,移动通信网络,卫星通信网络,支持的路由方式有:分层路由,动态路由,组播路由等,ns也提供跟踪和监控对象,可以把网络系统的状态和事件记录分析,如:tracefile,生成.tr文件记录仿真过程数据,从中可以提取有用信息。

三、AODV分析以及改进

AODV路由协议有很多缺陷,其中有一个缺陷是每个源节点只保持一特定目的节点的路由选择,如果此路由失败,将重新启动路由发现过程,这样会增加网络成本。在网络拓扑变化频繁,这一缺陷显得更加突出。

其次,在特设网络中,节点通常利用电池来提供能源,电池的能量在没有相关技术进行提高前,能量是一个尤其重要的问题。AODV路由协议是一个比较成熟的路由协议,容易实现,但它没有过多考虑节点的能量状态。如果某一个节点是在一些交叉连接处,节点也可能参与了多个路径,节点能耗的急剧增加,过早耗尽自己的能量,由此导致路由链路发生故障,不得不重新建立路由,从而导致了较大的网络开销,而且还会增加能量的节点网络中的能量消耗。

针对上述缺点,也提出了一些改进的方法,如增加多径,距离的限制提高路由可靠性和提高路由维护机制。本文提出了一种改进的方法,是让源节点除了维护主要路由到目标节点,并维持一个目的地节点和备用路由。所以当主路由失败,将使用备份路由数据,不需要重新启动路由发现过程。在每个源节点到目的节点维护一个备份路由,并通过修改局部修复机制,这样,当主路由失败,将通过备用路由的数据包发送。只有当备用路线还没有开始,重新启动路由发现过程。

五、结束语

因为路由协议的路由表维护,只有指定的目标节点路由,路由失败时,需要重新启动路由发现过程。为了解决这一问题,本文提出了一种改进的方法,在每个源节点到目的节点保持一个指定的备用路由,当主路由失败,我们通过备用路由的发送数据包。只有当备用路线不能启动,我们才重新启动路由发现过程。在NS2平台的仿真结果表明,改进后的方法可以提高数据包的投递率,降低端到端的延迟,减少路由发现和路由开销。

参考文献:

[1]夏丹丹.基于NS2的AODV改进协议仿真实现[J].微计算机信息,2008(24).

[作者简介]邓媛元(1986.9-),女,汉族,湖南益阳人,本科学历,工程师,研究方向为计算机应用。

篇5:教你怎样设置AIX NFS

默认安装完AIX5.3后,先停止nfs和portmap两个进程,然后删掉一些和NFS有关的文件

#stopsrc-gnfs 0513-044ThebiodSubsystemwasrequestedtostop. 0513-044ThenfsdSubsystemwasrequestedtostop. 0513-044Therpc.mountdSubsystemwasrequestedtostop. 0513-044Therpc.lockdSubsystemwasrequestedtostop. 0513-044Therpc.statdSubsystemwasrequestedtostop. #

-g表示停止一组nfs相关的进程

#stopsrc-sportmap 0513-044TheportmapSubsystemwasrequestedtostop. # #cd/etc #rm-rfsmsm.bakstatextabrmtab

2、配置AIX NFS服务器

可以直接手动配置/etc/exports或使用smit工具配置,因为AIX NFS和Linux的配置文件内容不同,所以建议使用smit工具来配

这是我通过smit配置好的/etc/exports文件内容:

#cat/etc/exports /mnt-sec=sys:krb5p:krb5i:krb5:dh:none,rw,root=192.168.3.160,access=192.168.3.161:192.168.3.160 #

我将/mnt目录共享出去,设置只允许192.168.3.160可以对共享目录写操作,能够访问的服务器有192.168.3.161和192.168.3.160,sec是数据加密方法.配置完后,使用exportfs命令将/etc/exports的内容更新至/etc/xtab文件中,/etc/xtab文件是NFS读取的内容,所以这步很关键,如果不用这个命令,其它的节点是无法正确挂载NFS共享目录的:

#exportfs-a

这里要注意一下:NFS客户端的IP地址要写到/etc/hosts文中,并要指定机器名,否则是无法挂载AIX NFS共享目录

3、启动NFS并测试

#startsrc-sportmap 0513-059TheportmapSubsystemhasbeenstarted.SubsystemPIDis233644. #startsrc-gnfs 0513-059ThebiodSubsystemhasbeenstarted.SubsystemPIDis245894. 0513-059ThenfsdSubsystemhasbeenstarted.SubsystemPIDis213136. 0513-059Therpc.mountdSubsystemhasbeenstarted.SubsystemPIDis172270. 0513-059ThenfsrgydSubsystemhasbeenstarted.SubsystemPIDis217294. 0513-059ThegssdSubsystemhasbeenstarted.SubsystemPIDis221400. 0513-059Therpc.lockdSubsystemhasbeenstarted.SubsystemPIDis217296. 0513-059Therpc.statdSubsystemhasbeenstarted.SubsystemPIDis221402. #

在AIX NFS的共享目录

#showmount-elocalhost exportlistforlocalhost: /mnt(everyone) #

在Linux上查看AIX NFS共享目录:

test01:~#showmount-e192.168.3.162 Exportlistfor192.168.3.162: /mnt(everyone) test01:~#

Linux系统挂载NFS目录

篇6:NFS配置的具体代码

相应NFS配置文件

/etc/dfs/dfstab;(nfs server)

例如:

#vi/etc/dfs/dfstab share-Fnfs-orw=engineering-d“homedirs”/export/home share-Fnfs-oro-d“appdirs”/export/app share-Fnfs-oro-d“mandirs”/usr/share/man /etc/vfstab;(nfsclient) #vi/etc/vfstab i2:/export/home-/export/homenfs-yessoft,bg i2:/export/app-/export/appnfs-yessoft,bg i2:/usr/share/man-/usr/share/mannfs-yessoft,bg rw|ro,bg|fg,soft|hard,intr|nointr,suid|nosuid,timeo=ndefault=11x.1sec,retry=n1k.

相应系统进程

mountd nfsd statd lockd

NFS配置相关命令

share,

例如:

#share-Fnfs/export/home #share-Fnfs-oro/usr/share/man unshare, shareall, unshareall; mount

例如:

#mountnfsserver:/export/home/export/home #mountnfsserver:/export/app/export/app #mountnfsserver:/usr/share/man/usr/share/man umount, mountall, umountall, dfshareshost, dfmounts /etc/init.d/nfs.server;/etc/init.d/nfs.client

例如:

篇7:nfs服务共享目录的打造

(1)设置共享目录

运行命令

#gedit /etc/exports

编辑nfs服务的配置文件(注意:第一次打开时该文件是空的),添加以下内容:

/opt/tmp *(rw,sync,no_root_squash)

其中:

/opt/tmp 表示 需要nfs 共享的目录,它可以作为开发板的

文件系统通过 nfs挂接;

* 表示所有的客户机都可以挂接此目录

rw 表示挂接此目录的客户机对该目录有读写的权力

no_root_squash 表示允许挂接此目录的客户机享有该主机的root 身份

2 启动NFS服务

可以通过命令行和图形界面两种方式启动 NFS服务,我们建立 NFS服务的目的是

过网络对外提供目录共享服务,但默认安装的 Fedora系统开启了防火墙,这会导致NFS服

无法正常使用.因此先关闭防火墙,在命令行输入“lokkit”命令,打开防火期设置界面:

选择其中(*)Disabled,然后选择“OK”退出,这样就永久的关闭了防火墙.

下面是启动NFS服务的方法和步骤:

(1)通过命令启动和停止 nfs 服务

在命令行下运行:

#/etc/init.d/nfs start

这将启动nfs 服务,可以输入以下命令检验 nfs 该服务是否启动.

# mount -t nfs localhost: /opt/tmp /mnt/

如果没有出现错误信息,您将可以浏览到 /mnt 目录中的内容和

/opt/tmp是一致的.

使用这个命令可以停止 nfs 服务:

篇8:NFS协议的优化设置

1 NFS服务器

NFS由SUN公司开发, 是基于远程过程调用RPC的服务系统。NFS服务器可以根据主机名或者IP地址, 控制对共享目录的访问, 用户想使用远程共享目录时调用“mount”命令, 发出挂载请求;用户的挂载请求会携带用户的用户号UID和用户组号GID, NFS服务器首先检查挂载的请求是否来自NFS服务器允许范围内的主机或者网段, 如果是, 则根据挂载请求中的UID和GID, 读取该用户对共享目录的权限, 判断是否允许挂载操作;挂载成功后, 客户端用户在共享目录中的操作, 也同样受共享目录权限的限制。

但是直接将NFS服务器应用在企业中, 会有比较大的安全隐患, 因为NFS服务器本身没有针对用户身份验证, 而是根据挂载请求中UID和GID来判断权限的, 这样就带来一个严重的安全问题。设NFS客户端中请求挂载的是本地用户Alice, 其UID=2001, GID=2001, NFS服务器收到请求后, 根据挂载请求中的UID和GID去查阅本机的/etc/passwd和/etc/group文件判断权限的, 而在NFS服务器端的/etc/passwd中, UID=2001的用户是NFS服务器本地用户Bob, 最终NFS服务器会按用户Bob的权限去处理Alice的挂载请求及其后Alice在共享目录中的操作, 错误由此而发生。因此在企业网络中利用NFS服务器搭建文件共享, 真正实现团队合作, 协同工作, 必须与账号服务器NIS服务器一起使用, 由NIS服务器统一管理网络中用户的账号、密码、用户主目录文件名、UID及GID等信息, 从而保证同一个用户名在网络中有唯一的UID和GID, NIS服务器是NFS服务器正确使用和安全使用的必备条件。

2 NIS服务器

在企业网络设计中, 处于风险性考虑, 往往建议一台Linux的功能越简单越好[1], 因此企业中往往会有很多台服务器, 如企业拥有Web服务器、Mail服务器、DHCP服务器等, 那么当内部员工去访问这些服务器时, 就需要在服务器上有相应的账号, 这对网络管理员而言, 将是一个非常巨大的工作, 并且随着用户和服务器数目的增加, 工作量也大大增加。因此需要有一台服务器专门管理网络中所有Linux主机的账号和密码, 这正是NIS服务器的主要工作。将用户名和密码登记在NIS服务器上, 当用户登录某一台服务器或主机时, 登录的对象向NIS发出核实请求, 从而实现账号的统一管理。

3 企业文件服务器构建实例

以NFS服务器和NIS服务器为基础, 企业可以建立文件服务器, 实现文件共享、协同工作。本文一个小型企业环境为对象阐述构建过程:企业域名为software.com, 网络地址为192.168.5.0/24, NFS服务器地址为192.168.5.2/24, 主机名为nfs.software.com, NIS服务器地址为192.168.5.3/24, 主机名为nis.software.com;公司有两个项目组, 为这两个分别建立用户组airport-project和railway-project, 每个项目组都需要在NFS服务器上有一个项目组的共享目录;NFS服务器上共享空间为/rhome/;用户Alice属于项目组airport-project, 用户Bob属于项目组railway-project。

3.1 NFS服务器构建

(1) NFS服务器的安装

Cent OS 6.5中NFS服务可以使用rpm命令进行安装, 在联网的情况下, 也可以使用yum命令进行安装:

[root@localhost~]#rpm-ivh nfs-utils-1.2.3-39.el6.i686

[root@localhost~]#rpm-ivh nfs4-acl-tools-0.3.3-6.el6.i686

[root@localhost~]#rpm-ivh nfs-utils-lib-1.1.5-6.el6.i686

[root@localhost~]#rpm╞ivh rpcbind-0.2.0-11.el6.i686

(2) 共享目录的创建与权限的设置

在NFS服务器上为两个项目组分别在共享空间中创建他们的共享目录:

[root@localhost~]#mkdir/rhome/airport-project

//为airport-project分配共享目录/rhome/airport-project

[root@localhost~]#mkdir/rhome/railway-project

//为railway-project分配共享目录/rhome/railway-project

系统默认创建的目录权限为755, 可以通过setfacl来设置特定用户组的写的权限, 以项目airport为例:

[root@localhost~]#setfacl-m g:airport-project:rwx/rhome/airport-project

//设置只有属于用户组的airport-project的用户才可以对该目录执行写操作

(3) 配置和运行

在NFS主配置文件/etc/exports中设置允许访问共享目录的主机或网络:

[root@localhost~]#echo“/rhome/airport-project192.168.0.0/24 (rw) n”>>/etc/exports

//开放共享目录/rhome/airport-project

[root@localhost~]#echo“/rhome/railway-project192.168.0.0/24 (rw) n”>>/etc/exports

//开放共享目录/rhome/railway-project

NFS服务守护进程名为nfs, 启动、关闭和重启守护进程可以使用/etc/rc.d/init.d/nfs, 也可以使用service命令[2]。

[root@localhost~]#/etc/rc.d/init.d/nfs{start|stop|restart}

[root@localhost~]#service nfs{start|stop|restart}

为了向网络中其他主机提供NFS服务, 在防火墙中选择开放NFS服务。

3.2 NIS服务器构建

(1) NIS服务器的安装

在Cent OS 6.5中安装NIS服务器, 需要使用rpm命令安装ypserv-2.19-26.el6_4.2.i686.rpm、yp-tools-2.9-12.el6.i686、ypbind-1.20.4-30.el6.i686和rpcbind-0.2.0-11.el6.i686等软件。NIS服务器同样使用RPC协议的, 也需要安装rpcbind;ypserv是服务器程序, yp-tools提供查询命令, ypbind是NIS的客户端软件。

(2) 域名和端口设置

NIS通过域名来分辨不同的账号和密码, 在NIS服务器和客户端都需要指明相同的NIS域名, 同时在NIS服务器中还需要设置NIS每次启动都固定的端口1011, 设置如下:

[root@localhost~]#echo“NISDOMAIN=software.comn“>>/etc/sysconfig/network

//指明NIS域名是software.com

[root@localhost~]#echo“YPSERV_ARGS="-p 1011"n“>>/etc/sysconfig/network

//绑定NIS每次启动在固定端口1011

(3) 主配置文件/etc/ypserv.conf

在主配置文件中设置NIS服务器的服务的网络范围:

[root@localhost~]#echo“127.0.0.0/255.255.255.0:*:*:nonen”>>/etc/ypserv.conf

[root@localhost~]#echo“192.168.0.0/255.255.255.0:*:*:nonen”>>/etc/ypserv.conf

[root@localhost~]#echo“*:*:*:denyn”>>/etc/ypserv.conf

(4) 主机名与IP的对应

主机名与IP的对应可以在DNS服务器中进行设置, 也可以在/etc/hosts中设置本地的域名解析:

[root@localhost~]#echo“192.168.0.2 nfs.alice.comn”>>/etc/hosts

[root@localhost~]#echo“192.168.0.3 nis.alice.comn”>>/etc/hosts

(5) 启动

NIS服务启动需要RPC、ypserv (NIS服务器守护进程) 、yppasswd。yppasswd提供用户账户远程管理, 应该为其绑定在固定的端口, 可以将/etc/sysconfig/yppasswd中YPPASSWDD_ARGS的值设置为"--port 1012", 从而固定在1012端口。NIS守护进程ypserv的运行方式与NFS服务器守护进程一样, 同时可以使用chkconfig命令将NIS服务设为开启自动启动:

[root@localhost~]#chkconfig ypserv on//ypserv开机自启动

[root@localhost~]#chkconfig yppasswd on//yppasswd开机自启动

(6) 账号处理

完成以上步骤, 需要将NIS服务器上的账号文件转换成数据库文件以便查询, 转换使用ypinit命令来完成:

[root@localhost~]#/usr/lib/yp/ypinit╞m

最后在防火墙中开放设定的1011、1012端口 (TCP和UDP) 以及NIS的RPC端口111 (SUNRPC) 。

3.3 客户端配置与测试

设置NIS客户端首先加入NIS域, 即software.com, 指定NIS服务器地址, 启动rpcbind。域和服务器地址的设置可在setup命令打开的图形界面中进行设置, 设置结束会自动rpcbind绑定;绑定以后使用yptest、ypwhich等命令测试与NIS客户端是否成功联系上NIS服务器端。

挂载NFS服务器共享目录使用mount命令, 以airport-project的用户Alice为例, 将共享目录挂到Alice的文件夹/rdata/Alice中:

[root@localhost~]#mount-t nfs 192.168.0.2:/rhome/airport-project/rdata/Alice

挂载成功后, 可以使用su命令以Alice身份登录NFS服务器上的共享目录, 进入共享目录可以进行读写、执行等操作:

[root@localhost~]#su Alice//切换到Alice

bash-4.1$cd/rdata/Alice//进入共享目录

bash-4.1$touch a1//创建文件

bash-4.1$//创建成功

4 结束语

本文阐述NFS服务器和NIS服务器协同工作环境的构建, 防火墙配置、文件权限掩码配置, 同时指出NIS数据库在数据更新时需重新生成等地方容易出现错误之处。Linux系统以其自身简洁、透明、高效等特性而广受欢迎, 越多的企业选用Linux作为企业网络平台。NFS服务器和NIS服务器为构建良好的共享文件服务器提供有力的帮助, 相信有较好的应用前景。

摘要:本文以中小企业构建内部文件服务器为出发点, 分析NIS服务器和NFS服务器工作原理, 说明两者各自的分工和角色, 以企业应用实例为对象, 阐述具体配置和测试方法, 最终实现基于NFS服务器、NIS服务器的内部文件服务器的构建。

关键词:Linux,NFS,NIS

参考文献

[1]鸟哥.鸟哥的Linux私房菜—服务器架设篇[M].机械工业出版社, 2012.7 (422)

上一篇:迎两会安全生产讲话稿下一篇:农妇与鹜文言文翻译