本片本章将带引你一步步了解NFS这个网络文件系统,
什么是NFS?
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。说的直白点,NFS就像windows里面的文件共享,利用这个服务我们很容易在linux系统之间共享文件。
NFS是通过网络来进行服务端和客户端之间的数据传输。两者之间要传输数据就要有想对应的网络端口来进行传输。NFS服务器到底使用什么网络端口来传输数据的,NFS服务器端其实是随机选择端口来进行数据传输。那NFS客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?其实NFS服务器时通过远程过程调用(remote procedure call 简称RPC)协议/服务来实现的。也就是说RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来先沟通NFS使用了哪些端口,之后再利用这些端口(小于1024)来进行数据的传输
接下来将详细介绍服务端的配置过程(1)安装 nfs 服务
yum install nfs-utils
systemctl enable nfs-server
systemctl start nfs-server
(2)在服务端建立共享目录
首先我们在系统中建立一个目录用于存放需要共享的文件
然后在nfs 的主配置文件里面配置内容
这样在服务端的配置就配置好了
接下来 我们在客户机上测试
(1)在客户机上检测是否可以有能挂在的目录
这里的客户机我是用的是ubuntu 的系统,需要先安装nfs的命令 apt install nfs-common
如图showmount 可以显示可以挂在的共享目录
如下图 可以看到在客户机上对挂在上的共享文件只能读 但没有写的权限
服务端配置共享目录的权限
编辑主配置文件 vim /etc/exports
*(ro) 是只读的权限 *(rw) 是读写权限 如下图,我们注释前两个,我们将其设置为读写权限,然后重启服务
然后在客户端我们卸载后再次挂载,然后进入挂在的目录,我们发现可以实现对共享目录的写的操作
配置服务端,实现让客户以某个用户身份读写同步
(我的系统中 uid 1000 是用户 peaktn)
客户机测试
可以看到客户机常见的文件file8 的用户uid是1000
指定共享目录,客户机进入目录自动挂载
服务端配置
在以上共享目录 /peakshare 里面再建立二级目录
客户机设置
安装autofs
配置/etc/auto.master和/etc/auto.nfs文件,建立/nfs目录
建立/nfs目录
vim /etc/auto.master
vim /etc/auto.nfs
测试
实现了只要进入创建的/share/ 然后再进入 share1 就可以将服务端共享的share1 自动挂载