一.关于NFS:NFS全称network file system 网络文件系统 ,linux/unix系统之间共享文件的一种协议,支持多节点同时挂载以及并发写入。这里关于nfs的介绍就不多讲,感兴趣的话,具体细节可以在百度上面自行查看。
二.建立nfs服务器:
(1)需要至少准备两台虚拟机 :
这里我将CentOS7作为服务器,将CentOS7-142作为客户端进行下面实验。
1.在服务器上面安装NFS软件包:yum install -y nfs-utils rpcbind
在进行NFS共享之前需要先启动rpcbind服务,rpcbind是一个在rpc系统上运行的服务器程序,它允许客户端查询指定的rpc服务,并获取该服务使用的tcp或udp端口号。
在Linux中,nfs基于rpc,所以必须依赖rpcbind服务,也就是说要启用nfs服务的话,应确保rpcbind服务已经开启且运行。
2.设置开机启动NFS:
systemctl start nfs-server systemctl start nfs-lock
systemctl start nfs-idmap systemctl start rpcbind
3.设置NFS开机自启动服务:
systemctl enable nfs-server systemctl enable nfs-lock
systemctl enable nfs-idmap systemctl enable rpcbind
4.创建需要共享的目录:通过此目录服务器可以在此上传文件,也可以下载文件。
mkdir -p /application/share (这个目录并非指定目录,随便创哪个都行)
更改文件夹及其子文件夹的权限,方便后续的写入和删除:
chmod 777 /application/share
5.配置需要共享的目录到 /etc/exports下:
vim /etc/exports 进入后配置一下内容即可:
图中的IP地址是你想要共享的那台机器,也可以写多个,我这里只有一台客户机,所以就写了一个ip地址。
配置完毕执行一下:exportfs -a指令,使exports的修改生效
6.检查共享目录是否正确:showmount -e
可以看到有192.168.26.142这个IP,配置正确,图中有两个IP地址是因为192.168.26.140是我之前配置的,你们执行showmount -e 指令只要出现了刚才配置时输入的ip地址即正确。
(2)建立NFS客户端
以上命令是在服务器端进行配置的,接下来配置客户端,一定要搞清楚哪台机器是客户端,哪台机器是服务器端。
1.安装NFS:yum install -y nfs-utils
我这里已经安装过了,所以显示无需处理。
2.检查共享目录是否正确:showmount -e 192.168.26.137
可以看到和刚刚服务器端上的一样。
3.挂载远程服务器NFS分区到本地挂载点:
先创立挂载的目录:mkdir -p /webdata/share 创建此目录是为了将服务器端NFS进行挂载,此目录随便创,创什么名字都行,非指定。
现在开始挂载:mount -t nfs 192.168.26.137:/application/share /webdata/share
这里的 -t (type) 意思是指定什么类型,我们这里指定的是:nfs类型
挂在完毕使用 df命令查看,可以看到已经挂载成功。
4.实验:上传或删除文件
此时我们在服务器上进入我们创建的共享目录里面,可以看到里面有文件,这是我之前创建的,你们进入的话应该是空的,我们进入客户端创建的共享文件里看一下,可以看到,客户端和服务器端的共享文件里面的内容都一样。
接下来我们在服务器端删除这些文件看一下,客户端是否也会跟着删除。
可以看到,在服务端删除后,客户端的文件也不见了,两者同步。
我们在客户端的共享文件夹下创建文件,服务器端是否也会出现此文件呢?
可见,在客户端创建文件,服务器端也会出现,两者同步。