nfs 服务器重启linux mount nfs需要重新连接么

&&&&&&&&&&&&&
一、NFS简介
1、NFS就是Network FileSystem的缩写,它的最大功能就是可以通过网络让不同的机器,不同的操作系统彼此共享文件(sharefiles)&&可以通过NFS挂载远程主机的目录,访问该目录就像访问本地目录一样,所以也可以简单的将它看作一个文件服务器(FileServer)。
注意:一般而言,使用NFS服务能够方便地使各unix-like系统之间实现共享,但如果需要在unix-like和windows系统之间共享,那就得使用samba了。
2、NFS是通过网络进行数据传输,那么NFS使用哪些端口呢,答案是&&不知道,因为NFS传输数据时使用的端口是随机的,唯一的限制就是小于1024,客户端怎么知道服务器使用的是哪个端口,此时就要用到远程过程调用RPC。
其实,NFS运行在SUN的RPC(Remote Procedure Call,远程过程调用)基础上,RPC定义了一种与系统无关的方法来实现进程间通信,由此,NFS Server也可以看作是RPC Server。正因为NFS是一个RPC服务程序,所以在使用它之前,先要映射好端口&&通过portmap设定。比如:某个NFSClient发起NFS服务请求时,它需要先得到一个端口(port),所以它先通过portmap得到portnumber(不仅是NFS,所有的RPC服务程序启动之前,都需要先设定好portmap)。
注意:在启动RPC服务(比如NFS)之前,需要先启动portmap服务。
3、NFS允许系统将其目录和文件共享给网络上的其他系统。通过NFS,用户和应用程序可以访问远程系统上的文件,就像它们是本地文件一样。那么NFS最值得注意的优点有:(1)本地工作站可以使用更少的磁盘空间,因为常用数据可以被保存在一台机器上,并让网络上的其他机器可以访问它。(2)不需要为用户在每台网络机器上放一个用户目录,因为用户目录可以在NFS服务器上设置并使其在整个网络上可用。(3)存储设备如软盘、光驱及USB设备可以被网络上其它机器使用,这可能可以减少网络上移动设备的数量。
二、与NFS相关的几个文件和命令
1、/etc/exports对NFS服务的访问是由exports来批准,它枚举了若干有权访问NFS服务器上文件系统的主机名。
2、/sbin/exportfs维护NFS的资源共享,可以通过它重新设定/etc/exports的共享目录,卸载NFS Server共享的目录或者重新共享等。
3、/usr/sbin/showmount 上面的文件主要用在NFS Server端,而showmount则主要用在Client端,showmount可以用來查看NFS共享的目录资源。
4、/var/lib/nfs/xtabNFS的记录文档:通过它可以查看有哪些Client连接到NFS主机的记录。
下面这几个并不直接负责NFS,实际上它们是负责所有的RPC。
5、/etc/default/portmap实际上,portmap负责映射所有的RPC服务端口,它的内容非常非常之简单。
6、/etc/hosts.deny设定拒绝portmap服务的主机,即禁止访问的客户端IP列表。
7、/etc/hosts.allow设定允许portmap服务的主机,即允许访问的客户端IP列表。
三、NFS安装
在主机上安装NFS服务软件,因为Debian/Ubuntu上默认是没有安装的。
1、安装端口映射器portmap(可选)$ sudo apt-get install portmap
2、在终端提示符后键入以下命令安装NFS服务器$ sudo apt-get install nfs-kernel-server
3、安装NFS客户端(可选)$ sudo apt-get install nfs-common
注意:nfs-kernel-server和nfs-common都依赖于portmap。另外,在一些文档中提出还需要使用apt-get来手动安装NFS的客户端nfs-common,以及端口映射器portmap,但其实这是没有必要的,因为在安装nfs-kernel-server时,apt会自动把它们安装好。
这样,宿主机就相当于NFS Server。同样地,目标系统作为NFS的客户端,需要安装NFS客户端程序。如果是Debian/Ubuntu系统,则需要安装nfs-common(第3步)。
四、NFS配置
1、配置portmap方法1:编辑/etc/default/portmap,将"-i 127.0.0.1"去掉;方法2:$ sudo dpkg-reconfigure portmap,出现&正在设定portmap&软件包设置界面,对Should portmap be bound to the loopback address?选择&否(No)&。
2、配置/etc/hosts.deny禁止任何host(主机)能和你的NFS服务器进行NFS连接。在该文件中加入:
### NFS DAEMONSportmap:ALLlockd:ALLmountd:ALLrquotad:ALLstatd:ALL
3、配置/etc/hosts.allow允许那些你想要的主机和你的NFS服务器建立连接。
下列步骤将允许任何IP地址以192.168.1开头的主机连接到NFS服务器上,具体要看你目标板的端口地址,也可以指定特定的IP地址。在该文件中加入:
### NFS DAEMONSportmap: 192.168.1.lockd: 192.168.1.rquotad: 192.168.1.mountd: 192.168.1.statd: 192.168.1.
通过/etc/hosts.deny和/etc/hosts.allow设置对portmap的访问,采用这两个配置文件有点类似"mask"的意思。先在/etc/hosts.deny中禁止所有用户对portmap的访问,再在/etc/hosts.allow中允许某些用户对portmap的访问。
然后重启portmap daemon:$ sudo /etc/init.d/portmap restart
4、配置/etc/exports
(1)共享的NFS目录在/etc/exports中列出,这个文件控制对目录的共享(NFS挂载目录及权限由该文件定义),书写规则是每个共享为一行)。
格式:[共享目录] [主机名或IP](参数,参数...)第一个参数是要让客户机访问的目录,第二个是你允许的主机IP,最后的()内是访问控制方式。
注意:客户端可以使用主机名或者IP地址指定,在主机名中可以使用通配符(*),IP地址后也可以跟掩码段(/24),但出于安全原因这种情况应该尽量避免。客户端的说明后可在圆括号中加入一系列参数。很重要的一点,不要在最后一个客户端声明的后面留下任何空白或者没关闭括号,因为空白都被解释成客户端的分隔符。
例如我要将/opt/FriendlyARM/mini2440/root_nfs目录让用户的IP共享,则在该文件末尾添加下列语句:/opt/FriendlyARM/mini2440/root_nfs *(rw,sync,no_root_squash)
其中:/opt/FriendlyARM/mini2440/root_nfs 表示NFS共享目录,它可以作为开发板的根文件系统通过NFS挂接;* 表示所有的客户机都可以挂接此目录;rw 表示挂接此目录的客户机对该目录有读写的权力;sync 表示所有数据在请求时写入共享,即数据同步写入内存和硬盘;no_root_squash 表示允许挂接此目录的客户机享有该主机的root身份。
注意:可以用主机名来代替*,尽量指定主机名以便使那些不想其访问的系统不能访问NFS挂载的资源。另外,最好加上sync, 否则$ sudo exportfs -r时会给出警告,sync是NFS的默认选项。
(2)下面是一些NFS共享的常用参数:ro 只读访问rw 读写访问sync 所有数据在请求时写入共享async NFS在写入数据前可以相应请求secure NFS通过1024以下的安全TCP/IP端口发送insecure NFS通过1024以上的端口发送wdelay 如果多个用户要写入NFS目录,则归组写入(默认)no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置hide 在NFS共享目录中不共享其子目录no_hide 共享NFS目录的子目录subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)no_subtree_check 和上面相对,不检查父目录权限all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录no_all_squash 保留共享文件的UID和GID(默认)root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)no_root_squash root用户具有根目录的完全管理访问权限anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UIDanongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
(3)查看NFS Server的export list:$ sudo showmount -e
若更改了/etc/exports,运行以下命令进行更新:$ sudo exportfs -r
然后重启NFS服务:$ sudo /etc/init.d/nfs-kernel-server restart
五、启动和停止NFS服务
1、启动NFS的方法和启动其他服务器的方法类似,首先需要启动portmap和NFS这两个服务,并且portmap服务一定要先于NFS服务启动。$ sudo /etc/init.d/portmap start$ sudo /etc/init.d/nfs-kernel-server start
2、停止NFS服务在停止NFS服务的时候,需要先停止NFS服务再停止portmap服务,如果系统中还有其他服务需要使用portmap服务,则可以不停止portmap服务。$ sudo /etc/init.d/nfs-kernel-server stop$ sudo /etc/init.d/portmap stop
3、重新启动portmap和NFS服务$ sudo /etc/init.d/portmap restart$ sudo /etc/init.d/nfs-kernel-server restart
4、检查portmap和NFS服务状态$ sudo /etc/init.d/portmap status$ sudo /etc/init.d/nfs-kernel-server status
5、设置自动启动NFS服务
(1)检查NFS的运行级别:$ sudo chkconfig --list portmap$ sudo chkconfig --list nfs-kernel-server
(2)在实际使用中,如果每次开启计算机之后都手工启动NFS服务是非常麻烦的,此时可以设置系统在指定的运行级别自动启动portmap和NFS服务。$ sudo chkconfig --level 235 portmap on$ sudo chkconfig --level 235 nfs-kernel-server on
六、NFS客户端配置(NFS测试)
1、在NFS服务器启动后,还需要检查Linux服务器的防火墙设置(一般需要关闭防火墙服务),确保没有屏蔽NFS使用的端口和允许通信的主机,主要是检查Linux服务器iptables、ipchains等选项的设置,以及/etc/hosts.deny,/etc/hosts.allow文件。通常都是在内部局域网中进行开发,再安装系统时最好不要安装防火墙等网络安全软件,以方便使用时的配置。
如果你有防火墙,请确保3和2049端口保持开放。
2、手动挂载使用mount命令来挂载其他机器共享的NFS目录。
格式:$ sudo mount [Server IP]:/[share dir] [local mount point]
例如:$ sudo mount -t nfs [-o nolock] localhost:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs 或$ sudo mount -t nfs -o nolock 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs
其中,localhost可以是具体的IP地址,同时挂载点/mnt/root_nfs目录必须已经存在,而且在/mnt/root_nfs目录中没有文件或子目录。
3、自动挂载
(1)另一个挂载其他机器的NFS共享的方式就是在/etc/fstab文件中添加一行,该行必须指明NFS服务器的主机名、服务器输出的目录名以及挂载NFS共享的本机目录,同时必须是根用户才能修改/etc/fstab文件。
格式::/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr
注意:可以根据实际情况修改NFS服务器共享文件夹":/usr/local/pub"和在本机的挂载点"/pub",同时挂载点/pub在客户端机器上必须存在。
(2)NFS常见挂载参数:timeo 如果超时,客户端等待的时间,以十分之一秒计算retrans 超时尝试的次数bg 后台挂载(很有用)hard 如果server端没有响应,那么客户端一直尝试挂载rsize 读块大小wsize 写块大小
4、使用autofs来挂载NFS
(1)挂载NFS共享的第三种方法是使用autofs,它使用automount守护进程来管理挂载点,只在文件系统被访问时才动态地挂载。
autofs访问主映射配置文件/etc/auto.master来决定要定义哪些挂载点,然后使用适用于各个挂载点的参数来启动automount守护进程。主映射配置中的每一行都定义一个挂载点,一个分开的映射文件定义在该挂载点下要挂载的文件系统。如/etc/auto.misc文件可能会定义/misc目录中的挂载点,这种关系在/etc/auto.master文件中会被定义。
(2)/etc/auto.master文件中的每个项目都有3个字段,第1个字段是挂载点;第2个字段是映射文件的位置;第3个字段可选,可以包括超时数值之类的信息。
例如:要在机器上的/misc/myproject挂载点上挂载远程机penguin.example.net中的/project52目录。在/etc/auto.master文件中添加以下行:/misc /etc/auto.misc --timeout 60在/etc/auto.misc文件中添加以下行:myproject -rw,soft,intr,rsize=8192,wsize=8192 penguin.example.net:/proj52
/etc/auto.misc中的第1个字段是/misc子目录的名称,该目录被automount动态地创建,它不应该在客户端机器上实际存在;第2个字段包括挂载选项,如rw代表读写访问权,第3个字段是要导出的NFS的位置,包括主机名和目录。
(3)autofs是一种服务,要启动这项服务,在shell提示下键入以下命令:$ sudo /sbin/service autofs restart要查看活跃的挂载点,在shell提示下键入以下命令:$ sudo /sbin/service autofs status如果在autofs运行时修改了/etc/auto.master配置文件,则必须在shell提示下键入以下命令来通知automount守护进程重新载入配置文件:$ sudo /sbin/service autofs reload
5、可以运行df命令查看是否挂载成功:$ sudo df
取消挂载的命令如下:$ sudo umount /mnt/root_nfs
七、目标板NFS配置操作
主机IP:192.168.1.101目标板IP:192.168.1.230
将USB转串口连接上,在终端输入minicom与板子连起,作为&超级终端&使用。
启动目标板并连通网络后,首先查看目标板kernel自身是否支持NFS,在minicom中输入cat /proc/filesystems命令查看其中是否有NFS一行,若没有则表示内核不支持NFS,就需要重新编译和烧写内核;有则OK,接下来就可以直接进行mount操作了。
具体命令是:# mount -t nfs&-o nolock 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs
无任何提示表示成功,这时可以进入/mnt/root_nfs目录,对文件进行cp、mv等操作。
但是如果使用命令mount -t nfs 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfs,则会有如下的错误提示(也就是省去了"-o nolock"):#&mount -t nfs 192.168.1.101:/opt/FriendlyARM/mini2440/root_nfs /mnt/root_nfsportmap: server localhost not responding, timed outRPC: failed to contact portmap (errno -5).portmap: server localhost not responding, timed outRPC: failed to contact portmap (errno -5).lockd_up: makesock failed, error=-5portmap: server localhost not responding, timed outRPC: failed to contact portmap (errno -5).
这时如果使用ls /mnt/root_nfs命令查看该目录内容时,你会发现此时NFS确确实实已经挂载成功了。
然后取消挂载的时候会出现如下的错误提示:# umount /mnt/root_nfs/lockd_down: no lockd running.
而成功取消挂载时没有任何提示,同样此时NFS也确实已经取消挂载了。
那么出现上面错误提示的可能原因是:nfs mount默认选项包括文件锁,依赖于portmap提供的动态端口分配功能。
简单的解决方法:kill文件锁(lockd)或者使用mount -o nolock命令。
上面说的文件锁具体是什么原因,目前还没有找到更好的解决办法。不过,如果主机防火墙有设置时,也可能导致目标板无法正常访问。
&posted on
阅读(...) 评论()linux下Samba服务和NFS服务配置的方法
本文着重介绍linux下Samba服务和NFS服务配置
linux下Samba服务和NFS服务配置 一、Samba服务配置过程 samba的功能很简单,就是为了使linux和windows之间能够实现共享。并且利用samba搭建文件服务器,不仅比windows功能强大,而且访问速度快、安全。首先说明,samba服务器需要两个守护进程:smbd和nmbd。smbd进程监听139TCP端口,处理到来的SMB数据包;nmbd进程监听137、138UDP端口,使其他主机能浏览linux服务器。 1、安装Samba服务 首先用命令测试rpm -qi samba看是否安装了Samba软件包,若没有可以用yum install samba在线安装(fedora 11环境下)。 2、启动Samba服务 安装完成后,使用service smb start 命令启动samba服务。如果想让samba服务开机自动加载,可使用ntsysv命令(或setup命令中的system service选项)打开开机自动加载的服务,并勾选smb,确定后即可实现开机加载samba服务。 3、关闭防火墙   默认情况下防火墙关闭了139 TCP端口,也关闭了nmbd进程所需要的137、138端口。所以我们使用命令service iptables stop命令关闭防火墙。也可对防火墙进行修改,放行TCP139 UDP 137、138端口。 4、配置samba服务   samba服务的配置文件是 /etc/samba/smb.conf,使用VI编辑器打开vi /etc/samba/smb.conf文件,对samba进行配置   smb.conf文件中包括4中结构,【Global】、【Homes】、【printers】、【Userdefined_shareName】,其中:   Globa用于定义全局参数和缺省值   Homes用于用户的home目录共享   Printers用于定义打印机共享   Userdefined_ShareName用于自定义共享(可有多个)   说明:文件中开头带有&#&为说明文件,不执行。 开头带有&;&为举例文件,不执行(若想让其执行,去掉&;&)。 配置全局参数【Global】   ◎基本全局参数   workgroup=MYGROUP 设置samba要加入的工作组   server string =Samba Service 指定浏览列表里的机器描述   netbios name=fedora 设置samba的NetBIOS名字 (需要自己添加)   client code page=936 设置客户字符编码 936为简体中文(需要自己添加) ◎日志全局参数   log file 指定日志文件的名称   max log size=50 指定日志文件的最大尺寸(KB) ◎安全全局参数   security 定义samba的安装等级,share--用户不需要用户名和密码即可登陆samba服务器;user--由提供samba服务的samba服务器负责检查帐户及口令;server--检查帐户及口令的工作指定由另一台WindowsNT/2000或samba服务器负责;domain--指定windowsNT/2000域控制器来验证用户帐户、密码   encrypt passwords = yes   smb passwd file = /etc/samba/smbpasswd   这两行用于设定是否对samba密码进行加密,并指定加密文件存放路径. ◎配置自定义共享   自定义共享,只需在文件最后加入【share】,名字随便取。其中一的参数我们来依依介绍   comment 描述该共享的名称   path 定义该共享的目录   browseable 指定共享的目录是否可浏览   writable 指定共享的目录是否有写入权限   read only 指定共享的目录为只读权限   public 指定是否可以允许Guest帐户访问   guest ok 通public相同,yes为允许guest访问   only guest 指定只有guest用户可以访问   calid users 指定访问该共享的用户 如:comment =my share path =/home/share browseable =yes read only =yes public =yes only guest =yes ◎配置完成后的工作   在配置完成后,我们只需新建path定义的共享目录mkdir /home/share, 并使用chmod命令设置了其权限为777,chmod 777 /home/share。   这样在service smb restart重启smb服务后客户端就可以访问该服务器(我修改了全局参数中的security=share,所以进入服务器不需要输入用户名和密码)。在windows下运行中运行://192.168.1.6(linux的IP地址)即可。 二、NFS服务配置过程 1、NFS服务器的安装 检查linux系统中是否安装了nfs-utils和portmap两个软件包,#rpm &q nfs-utils(portmap) 2、查看NFS服务器是否启动 #service nfs status #service portmap status 如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启) #service nfs start #service portmap start 也可以在ntsysv命令下关闭iptable和开启nfs让其自启动。 3、指定NFS服务器的配置文件 NFS服务器的配置文件保存&/etc/&目录中,文件名称是&exports&,该文件用于被指NFS服务器提供的目录共享 #vi /etc/exports 配置&exports&文件格式如下 /tftpboot *(sync,ro) tftp:共享目录名 * 表示所有主机 (sync,ro) 设置选项 exports文件中的&配置选项&字段放置在括号对(&( )&)中 ,多个选项间用逗号分隔 sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项 ro:设置输出的共享目录只读,与rw不能共同使用 rw:设置输出的共享目录可读写,与ro不能共同使用 4、重新输出共享目录 Exportfs管理工具可以对&exports&文件进行管理 #exportfs &rv 可以让新设置的&exports&文件内容生效 显示当前主机中NFS服务器的输出列表 # showmount -e 显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录 # showmount -d 5、使用mount命令挂载NFS文件系统 #mount 192.168.1.6:/tftpboot /home/share 将主机IP地址为192.168.1.6中的/tftpboot目录挂载到/home/share 卸载系统中已挂载的NFS共享目录 # umount /home/share 卸载的时候不能在/home/share目录下卸载,必须注销系统后卸载。 PS: 如果portmap进程停止了运行或异常终止,那么该系统上的所有RPC服务器必须重新启动。首先停止NFS服务器上的所有NFS服务进程,然后启动portmap进程,再启动服务器上的NFS进程。 但portmap只在第一次建立连接的时候起作用,帮助网络应用程序找到正确的通讯端口,但是一旦这个双方正确连接,端口和应用就绑定,portmap也就不起作用了。但对其他任何第一次需要找到端口建立通讯的应用仍然有用。简单的说,portmap就是应用和端口的婚姻介绍人,双方成事了以后,媒婆就没用了。3746人阅读
  如果按mount -o nolock 192.168.1.220(假设为宿主机ip):/mnt/nfs /mnt/nfs_t 来mount ,传输速度可能很慢, 只有几K到几十K左右,所以想要获得较快的速度就要对nfs进行优化。
  nfs优化篇
  1.设置块大小
  mount命令的risize和wsize指定了server端和client端的传输的块大小。如果没有指定,那么,系统根据nfs的版本来设置缺省的risize和wsize大小。大多数情况是4K(4096bytes),对于nfs v2,最大是8K,对于v3,在server端设置risize和wsize的限制,最大块大小在kernel的常量 NFSSVC_MAXBLKSIZE,该常量在usr/src/linux2.4/include/linux/nfsd/const.h.所有的2.4 的的client都支持最大32K的传输块。系统缺省的块可能会太大或者太小,这主要取决于你的kernel和你的网卡,太大或者太小都有可能导致nfs
速度很慢。具体的可以使用Bonnie,Bonnie ,iozone等benchmark来测试不同risize和wsize下nfs的速度。当然,也可以使用dd来测试。
  #time dd if=/dev/zero of=/testfs/testfile bs=8k count=1024这是来测试nfs写
  #time dd if=/testfs/testfile of=/dev/null bs=8k 这是测试nfs读
  测试时文件的大小至少时系统RAM的两倍,每次测试都使用umount 和mount对/testfs进行挂载,通过比较不同的块大小,得到优化的块大小。
  2.网络传输包的大小
  网 络在包传输过程,对包要进行分组,过大或者过小都不能很好的利用网络的带宽,所以对网络要进行测试和调优。可以使用ping -s 2048 -f hostname进行 ping,尝试不同的package size,这样可以看到包的丢失情况。同时,可以使用nfsstat -o net 测试nfs使用udp传输时丢包的多少。
  因为统计不能清零,所以要先运行此命令记住该值,然后可以再次运行统计。如果,经过上面的统计丢包很多。那么可以看看网络传输包的大小。使用下面的命令:
  #tracepath node1/端口号
  #ifconfig eth0
  比较网卡的mtu和刚刚的pmtu,使用#ifconfig eth0 mtu 16436设置网卡的mtu和测试的一致。
  当然如果risize和wsize比mtu的值大,那么的话,server端的包传到client端就要进行重组,这是要消耗client端的cpu资源。此外,包重组可能导致网络的不可信和丢包,任何的丢包都会是的rpc请求重新传输,rpc请求的重传有会导致超时,严重降低nfs的性能。可以通过查看 /proc/sys/net/ipv4/ipfrag_high_thresh和/proc/sys/net/ipv4 /ipfrag_low_thresh了解系统可以处理的包的数目,如果网络包到达了ipfrag_high_thresh,那么系统就会开始丢包,直到包的数目到达ipfrag_low_thresh。
  3.nfs挂载的优化
  timeo:如果超时,客户端等待的时间,以十分之一秒计算。
  retrans:超时尝试的次数。
  bg:后台挂载,很有用
  hard:如果server端没有响应,那么客户端一直尝试挂载。
  wsize:写块大小
  rsize:读块大小
  intr:可以中断不成功的挂载
  noatime:不更新文件的inode访问时间,可以提高速度。
  async:异步读写。
  4.nfsd的个数
  缺省的系统在启动时,有8个nfsd进程。
  #ps -efl|grep nfsd
  通过查看/proc/net/rpc/nfsd文件的th行,第一个是nfsd的个数,后十个是线程是用的时间数,第二个到第四个值如果很大,那么就需要增加nfsd的个数。
  具体如下:
  #vi /etc/init.d/nfs
  找到RPCNFSDCOUNT,修改该值,一般和client端数目一致。
  然后,重启服务。
  #service nfs restart
  #mount -a
&&&&&& 5.nfsd的队列长度
  对 于8个nfsd进程,系统的nfsd队列长度是64k大小,如果是多于8个,就要相应的增加相应的队列大小,具体的在/proc/sys/net /core/【rw】mem_default和/proc/sys/net/core/【rw】mem_max。队列的长度最好是每一个nfsd有8k的大小。这样,server端就可以对client的请求作排队处理。如果要永久更改此值
  #vi /etc/sysctl.conf
  net.core.【rw】mem_max=数目
  net.core.【rw】mem_default=数目
  #service nfs restart
  NFS:网络文件系统
  (NFS:Network File System)
    网络文件系统(NFS),起初由 Sun 微系统公司进行开发,后经 IETF 扩展,现在能够支持在不同类型的系统之间通过网络进行文件共享。换言之,NFS 可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。
     NFS 使用客户端/服务器架构,并由一个客户端程序和服务器程序组成。服务器程序向其它计算机提供对文件系统的访问,其过程就叫做“输出”。NFS 客户端程序对共享文件系统进行访问时,把它们从 NFS 服务器中“输送”出来。NFS 传输协议用于服务器和客户机之间文件访问和共享的通信,该协议还支持服务器通过输出控制向一组受到限制的客户计算机分配远程访问特权。
     NFS 版本2,是 NFS 最早被广泛应用的版本,起初完全运行于 UDP 协议之上,并且不保留状态。几大厂商扩展了 NSF 版本2,使之支持 TCP 传输。NFS 版本3整合了 TCP 传输。使用了 TCP 传输后,使得广域网中的 NFS 应用更为灵活。在继承了以前版本优点的基础之上,目前,NFS 版本4在功能上有如下的改进:
   * 提高了经由 Internet 进行访问的性能。本协议能够很容易地通过防火墙;在等待时间较长时带宽较小的情况下,其性能优越;且每台服务器所连接用户的数目可扩展到相当大的数目。
   * 将许可条款内置到协议之中,安全性得到了极大的加强。在对远程过程调用(RPC) PRCSEC_GSB 协议的支持上,本协议则建立在 ONCRPC 工作组的工作之上。另外,NFS 版本4支持客户机与服务器之间的安全对话,并要求客户机和服务器支持最简单的安全计划。
   * 支持扩展协议。本协议接受所支持协议的标准扩展,而不是打折的向后兼容。
     NFS 与 UNIX 系统息息相关,尽管它可以用于任何平台中,如 Macintosh 和 Microsoft Windows 操作系统。服务器消息块协议(SMB)和国际互联网普通文件系统(CIFS)是 NFS 的类似协议,在 Microsoft Windows 平台中,拥有着对等的网络文件系统应用。
  其实就是改为mount 192.168.1.220:/mnt/nfs /mnt/nfs_t -o nolock, rsize=1024,wsize=1024,timeo=15 就能获得较快的传输速度。。。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:450750次
积分:6277
积分:6277
排名:第1119名
原创:175篇
转载:141篇
译文:25篇
评论:61条
(1)(1)(2)(3)(3)(4)(4)(7)(7)(13)(5)(5)(2)(5)(19)(21)(29)(30)(27)(2)(4)(4)(20)(16)(1)(10)(22)(34)(2)(1)(13)(20)(1)(2)(1)
学习和工作中遇到的c语言的东东西西。

我要回帖

更多关于 centos mount nfs 的文章

 

随机推荐