机器配置:4C+16GB

操作系统:RedHat Enterprise Linux 5.8

 

NFS基础

NFS(Network File System)是Linux系统之间使用最为广泛的文件共享协议,不同于FTP或HTTP,需要将文件下载后使用,NFS方式的共享是可以直接使用而不需要下载的。

NFS服务将某个文件夹共享出来,客户端就可以直接通过网络挂载该共享文件夹,挂载后直接只用,如同使用本机的文件一样,不需要下载。

NFS的效率比FTP或HTTP要高很多,但是往往仅适用于局域网共享,互联网共享绝大多数还是使用FTP或HTTP方式。

NFS有三个主流版本:NFSv2、NFSv3、NFSv4

 

NFS协议

NFSv2、NFSv3默认需要使用rpc服务,所以计算机的RPC服务必须启动。

NFSv4不在需要rpc支持,并且是防火墙友好的。

v2和v3既可以使用TCP协议进行传输、也可以使用UDP协议,UDP协议效率高,但是不保证传输可靠性,不建议使用。v4使用TCP协议进行传输。

 

NFS服务操作命令:


// 启动NFS服务
service nfs start

// 停止NFS服务
service nfs stop

// 重启NFS服务
service nfs restart

 

NFS共享配置

NFS服务的共享配置文件为“/etc/exports”

每一个共享占用一行,格式如下:

共享目录             允许的客户主机(选项)

/opt/media         192.168.1.0/24(ro,async)

/opt/media         10.1.1.1(rw,sync)

/opt/media          *.xx.org

配置好共享后,可以使用以下命令启用共享:

service nfs start 或 exports –r

使用以下命令查看共享:

exportfs –v

 

客户端挂载NFS共享

客户端使用mount命令挂载NFS共享,命令格式如下:

mount –t nfs NFS服务地址:/路径  /挂载点路径

如:

mount –t nfs 192.168.1.1:/opt/media  /opt/media

 

NFS与防火墙相关内容

NFS默认需要6个端口,自己本身的NFS服务端口(2049),RPC端口(111),还有4个动态端口。

动态端口无法通过防火墙,如果需要通过防火墙,则需要配置NFS使用指定静态端口。

NFS配置文件路径:/etc/sysconfig/nfs

# TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769
# Port rpc.mountd should listen on.
#MOUNTD_PORT=892
# Port rpc.statd should listen on.
#STATD_PORT=662

将以上配置端口取消注释后保存,并将端口添加进防火墙通过规则中即可。

修改后需要重启NFS服务。

没有开通静态端口并且开启了防火墙时,客户端挂载NFS时的错误提示:

[root@appsrv02 opt]# mount -t nfs appsrv01:/media/ZIP_BCSA_REPOSITORY /opt/ZIP_BCSA_REPOSITORY
mount: mount to NFS server 'appsrv01' failed: timed out (retrying).