产品,平台,RS6000, pseries
软件版本, aix 当NFS在NFS客户端加载时,系统会问是使用 soft-mount 还是hard-mount, 它们之间有什么区别?
它们的区别在于当发生网络或NFS服务器端故障时,选用hard-mount选项会引起NFS客户端的程序挂起,而soft-mount则不会。
soft-mount: 当客户端加载NFS不成功时,重试retrans设定的次数.如果retrans次都不成功,则放弃此操作,返回错误信息 "Connect time out"
hard-mount: 当客户端加载NFS不成功时,一直重试,直到NFS服务器有响应。hard-mount 是系统的缺省值。在选定hard-mount 时,最好同时选 intr , 允许中断系统的调用请求,避免引起系统的挂起。当NFS服务器不能响应NFS客户端的 hard-mount请求时, NFS客户端会显示
"NFS server hostname not responding, still trying
http://codex.wordpress.org.cn/Linux%E5%91%BD%E4%BB%A4:Nfsstat
nfs版本介绍
二、各NFS协议版本的主要区别
V3相对V2的主要区别:
1、文件尺寸
V2最大只支持32BIT的文件大小(4G),而NFS V3新增加了支持64BIT文件大小的技术。
2、文件传输尺寸
V3没有限定传输尺寸,V2最多只能设定为8k,可以使用-rsize and -wsize 来进行设定。
3、完整的信息返回
V3增加和完善了许多错误和成功信息的返回,对于服务器的设置和管理能带来很大好处。
4、增加了对TCP传输协议的支持
V2只提供了对UDP协议的支持,在一些高要求的网络环境中有很大限制,V3增加了对TCP协议的支持
*5、异步写入特性
6、改进了SERVER的mount性能
7、有更好的I/O WRITES 性能。
9、更强网络运行效能,使得网络运作更为有效。
10、更强的灾难恢复功能。
mount -t nfs -o rsize=65536,wsize=65536,vers=3,noatime
rsize=n The number of bytes NFS uses when reading files from an NFS server. The rsize is negotiated
between the server and client to determine the largest block size that both can support. The
value specified by this option is the maximum size that could be used; however, the actual size
used may be smaller. Note: Setting this size to a value less than the largest supported block
size will adversely affect performance.
wsize=n The number of bytes NFS uses when writing files to an NFS server. The wsize is negotiated between
the server and client to determine the largest block size that both can support. The value speci-
fied by this option is the maximum size that could be used; however, the actual size used may be
smaller. Note: Setting this size to a value less than the largest supported block size will
adversely affect performance.
--文件的 inode 访问时间,可以提高速度
NFS协议是网络当中比较常用的一类协议,在很多开发系统平台中,都需要加载这个协议。所以,我们这里就来详细介绍一下NFS协议的启动以及写在等内容。希望对大家有所帮助。
一:服务器端的设定(以LINUX为例)
服务器端的设定都是在/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 [-aruv]
-a :全部 mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :在 export 的?r候,将详细的信息输出到屏幕上.
具体例子:
[root @test root]# 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
acregmin=n:设定最小的在文件更新之前cache时间,默认是3
acregmax=n:设定最大的在文件更新之前cache时间,默认是60
acdirmin=n:设定最小的在目录更新之前cache时间,默认是30
acdirmax=n:设定最大的在目录更新之前cache时间,默认是60
actimeo=n:将acregmin?acregmax?acdirmin?acdirmax设定为同一个数值,默认是没有启用.
retry=n:设定当网络传输出现故障的时候,尝试重新连接多少时间后不再尝试.默认的数值是10000 minutes
noac:关闭cache机制.
同时使用多个参数的方法:mount -t nfs -o timeo=3,udp,hard 192.168.0.30:/tmp /nfs
请注意,NFS客户机和服务器的选项并不一定完全相同,而且有的时候会有冲突.比如说服务器以只读的方式导出,客户端却以可写的方式mount,虽然可以成功mount上,但尝试写入的时候就会发生错误.一般服务器和客户端配置冲突的时候,会以服务器的配置为准.
4?/etc /fstab的设定方法
/etc/fstab的格式如下:
fs_spec fs_filefs_type fs_optionsfs_dump fs_pass
fs_spec:该字段定义希望加载的文件系统所在的设备或远程文件系统,对于 nfs这个参数一般设置为这样:192.168.0.1:/NFS
fs_本地的挂载点
fs_type:对于NFS协议来说这个字段只要设置成nfs就可以了
fs_options:挂载的参数,可以使用的参数可以参考上面的mount参数.
fs_dump - 该选项被"dump"命令使用来检查一个文件系统应该以多快频率进行转储,若不需要转储就设置该字段为0
fs_pass - 该字段被 fsck命令用来决定在启动时需要被扫描的文件系统的顺序,根文件系统"/"对应该字段的值应该为1,其他文件系统应该为2.若该文件系统无需在启动时扫描则设置该字段为0 .
5?与NFS有关的一些命令介绍
nfsstat:
查看NFS的运行状态,对于调整 NFS的运行有很大帮助
rpcinfo:
查看rpc执行信息,可以用于检测rpc运行情况的工具.
NFS服务器中mount命令的使用
对 于NFS服务器的客户端搭建,我们需要进行一下讨论。首先我们来了解一下mount命令的使用。用户既可以通过mount命令挂载,也可以通过在/etc /fstab中加入条目项实现,/etc/fstab中的条目项中包括一个NFS的挂载类型。NFS文件系统的名称由文件所在的主机名加上被挂载目录的路 径名组成,两个部分通过冒号分开。例如,computer1:/home/project指示一个文件系统被挂载在计算机computer1中的 /home/project中。
这里推荐客户端使用mount命令来挂载,下面主要挂载的相关知识和方法,然后简单介绍直接编辑/etc/fstab文件的方法。
用 户同样可以在NFS的条目项中修改多个NFS特定的挂载选项,例如,可以指定往返数据包的大小和计算机等待系统响应的时间大小,或者指定一个文件系统是被 硬挂载(hard-mounted)还是软挂载(soft-mounted)。对硬挂载文件系统来说,如果因为某种原因远程系统的响应失败,计算机将会持 续地尝试建立连接;对软挂载文件系统来说,同样情况下,在指定的时间间隔后计算机将会放弃尝试建立连接而发送一个错误消息。默认采用硬挂载文件系统,系统 硬挂载尝试失败时,对用户输入的响应也会停止。正是因为这样,有的用户更喜欢采用软挂载,它会使系统在尝试挂载失败后停止尝试。
mount命令的格式如下:
mount[-t vfstype] [-o options] device dir
mount命令参数非常多,如下为与NFS相关的参数。
(1)-a:把/etc/fstab中列出的路径全部挂载。
(2)-t:需要mount的类型,如nfs等。
(3)-r:将mount的路径定为read only。
(4)-v mount:过程的每一个操作都有message传回到屏幕上。
(5)rsize=n:在NFS服务器读取文件时NFS使用的字节数,默认值是1 024个字节。
(6)wsize=n:向NFS服务器写文件时NFS使用的字节数,默认值是1 024个字节。
(7)timeo=n:从超时后到第1次重新传送占用的1/7秒的数目,默认值是7/7秒。
(8)retry=n:在放弃后台mount操作之前可以尝试的次数,默认值是7 000次。
(9)soft:使用软挂载的方式挂载系统,若Client的请求得不到回应,则重新请求并传回错误信息。
(10)hard:使用硬挂载的方式挂载系统,该值是默认值,重复请求直到NFS服务器回应。
(11)intr:允许NFS中断文件操作和向调用它的程序返回值,默认不允许文件操作被中断。
(12)fg:一直在提示符下执行重复挂载。
(13)bg:如果第1次挂载文件系统失败,继续在后台尝试执行挂载,默认值是失败后不在后台处理。
(14)tcp:对文件系统的挂载使用TCP,而不是默认的UDP。
说明:mount NFS服务器的另一个重要参数是hard(硬)mount或soft(软)mount。
采用hard mount,NFS客户机会不断地尝试与NFS服务器连接(在后台一般不会给出任何提示信息),直到挂载上为止。
采用soft mount,会在前台尝试与NFS服务器连接,当收到错误信息后终止mount尝试,并给出相关信息。
例如,hard mount:
# mount -t nfs -o hard 192.168.1.4:/home/cao /home/nfs/cao
使 用hard还是soft主要取决于访问的信息。例如,要查看NFS服务器的视频文件,不会希望由于一些意外的情况(如网络速度变得很慢)而使系统输出大量 的错误信息。如果此时使用hard方式,系统就会等待,直到能够重新与NFS服务器建立连接传输信息。另外,如果是非关键数据,也可以使用hard方式, 如FTP一些数据等,这样在远程机器暂时连接不上或关闭时就不会挂起会话过程。
查看 nfs 版本
均在客户端操作
挂接nfs server的client端执行nfsstat -m命令,可以得出nfs server端nfs版本为4
:查看vers=4得出
超全的NFS server教程手册(2)