NFS文件系统
NFS文件系统
NFS文件系统
NFS是UNIX(Linux)系统之见进行文件共享的网络服务,NFS即网络文件系统(Network File System),是主机间通过网络进行文件共享的网络协议。NFS服务器提供的共享目录可以被NFS客户机作为文件系统挂载到目录(挂载点)中。NFS最早是由Sun公司提出的。
- 1.NFS的用途
NFS通常在局域网环境中使用,用于多于多台主机共享同一主机上的共享文件(目录)资源。由于NFS具有共享文件访问速度快、稳定性高等特点,在实际的生产系统中得到了广泛的应用。
对于使用NFS进行系统之间文件的共享,通常可以进行一下概括:
NFS是系统间提供文件共享的一种网络协议,与HTTP和FTP等用于在网络中传输文件的协议不同,NFS不需要将文件从服务器下载到本地系统来访问文件。
在使用NFS协议进行文件共享的系统中,可划分为服务器和客户机两部分角色:NFS服务器输出共享的目录供其他主机访问,NFS客户机读取NFS服务器中的共享目录。
通过NFS网络协议,作为NFS客户端的主机可以把NFS服务器中输出的共享目录(NFS文件系统)直接挂载(mount)到本机文件系统中的挂载点(目录),并且像访问本地文件系统一样访问已经挂载NFS文件系统。
在同一台主机中即可以作为NFS服务器为其他主机提供共享目录,也可以作为NFS客户机读取其他NFS服务器中的共享目录。
NFS有三个主流发行版本:
NFSv2
NFSv3
NFSv4.
CentOS6/REHEL6默认的NFS共享服务支持所有三个版本的客户端连接。
NFS协议
NFSv2、NFSv3默认需要使用rpc服务,所以计算机的rpc服务必须启动:
rpc是远程进程调用,很多服务需要通过rpc获取一些端口信息,在Linux中rpc服务我们称之为rpcbind,我们可以将它通过以下命令启动:
1 |
|
NFSv4不再需要rpc支持,并且是防火墙友好的。
NFSv2、NFSv3既可以使用TCP协议进行传输、也可以使用UDP协议,UDP协议效率较高,但是不保证传输可靠性,不建议使用。NFSv4使用TCP协议进行传输。
NFS服务默认是安装的,我们可以通过以下命令可以启动:
1 |
|
默认NFS需要使用5个端口,其中4个是动态的(nfs工作需要的端口),以及rpc服务的端口,动态端口无法通过防火墙,如果需要通过防火墙,则需要配置NFS使用指定的静态端口:
配置NFS的配置文件/etc/sysconfig/nfs,添加静态端口设置:
1 |
|
防火墙需要配置允许以上端口,以及NFS协议的2049端口,RPC的111端口允许通过,才能正常使用NFS。
NFS共享配置
NFS服务的共享配置文件为/etc/exports
每一共享占用一行,格式如下:
在允许的客户机处,我们可以选择一个网段,或者一个固定的主机IP地址,也可以是域名。
共享目录 允许的客户主机(选项)
如:
1 |
|
NFS共享选项
默认选项如下:
1 |
|
客户端挂载NFS共享
客户端可以通过mount命令挂载NFS共享,命令格式如下:
1 |
|
注:这里的192.168.1.100就是NFS服务器所在的地址
也可以将配置信息写入到/etc/fstab中,在启动时自动挂载:
1 |
|
挂载的时候可以使用-o指定挂载选项,常用选项如下:
1 |
|