一、NFS简介
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据传输基于RPC(Remote Procedure Call)协议。
NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
NFS在文件传送或信息传送过程中依赖于RPC协议。RPC (远程过程调用) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。
简单来说:NFS可以透过网络,让不同的主机、不同的操作系统实现共享存储。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。
二、NFS搭建
2.1 NFS服务端所需的软件列表
nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons)
rpcbind: 这个是CentOS6.X的RPC主程序(CentOS5.X的为portmap)
2.2 检查软件是否安装
cat /etc/redhat-release #查看系统版本 uname -r #查看系统内核版本 uname -m #查看系统是否64位rpm -qa nfs-utils rpcbind #检查安装的软件包
2.3 如果 nfs-utils 和 rpcbind 没有安装,可以使用 yum 命令进行安装
yum install -y nfs-utils rpcbind
2.4 启动NFS服务端相关服务 (CentOS7.4)
/bin/systemctl start rpcbind.service /bin/systemctl start nfs.service
如果是CentOS 6.x,执行以下脚本
service rpcbind start service nfs start
三、 配置NFS服务端
3.1 创建共享目录,例如是 /data/nfs_share
mkdir -p /data/nfs_share
3.2 给目录添加权限
chown -R nfsnobody /data/nfs_share
3.2 编辑配置文件
vi /etc/exports
3.3 添加配置 (例如共享网段为 192.168.1.*)
/data/nfs_share 192.168.1.0/24(rw,sync)
3.4 使配置生效
exportfs -r
3.5 重启服务
/bin/systemctl restart rpcbind.service /bin/systemctl restart nfs.service
如果是CentOS 6.x
service rpcbind start service nfs start
3.6 查询NFS服务器
showmount -e localhost
如果正确,会打印 /data/nfs_share 192.168.1.0/24
四、 配置NFS客户端
4.1 客户端也需要安装rpcbind和nfs-utils软件,并且设置开机自启动。(只需要启动rpcbind即可)
systemctl enable rpcbind.service
( CentOS 6.x 的命令是 chkconfig rpcbind on )
4.2 查看可以挂载目录 (这里假设NFS服务器IP是 192.168.1.1)
showmount -e 192.168.1.1
会打印出可以挂载的目录信息
4.3 创建挂载目录(目录路径根据实际情况创建)
mkdir /mnt/nfs_share
4.3 挂载目录
mount -t nfs 192.168.1.1:/data/nfs_share/ /mnt/nfs_share -o proto=tcp -o nolock
4.4 如果需要开机自动挂载目录,需要将挂载命令放在rc.local里面
五、 配置Windows NFS客户端
如果客户端是Windows,我们需要在程序和功能里面启用 NFS客户端。
控制面板 -> 程序 -> 程序和功能 --> 勾选 NFS服务,NFS客户端,确定。
之后可以在命令行使用mount命令挂载远程目录 (比如挂载到 Z 盘)
mount ip:/192.168.1.1/ /data/nfs_share/ z:
另外也可以在我的电脑(计算机) 中,创建映射网络驱动器,来挂载远程目录。
如果Windows版本不支持NFS服务,那么需要安装 Windows Services for UNIX ,然后在Korn Shell (开始菜单 -> 程序 -> Windows Services for UNIX -> Korn Shell) 中执行 mount命令。
检查软件是否安装
原文地址:https://www.cnblogs.com/relucent/p/10088785.html