机器配置: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).