NFS 服务器
- NFS 工作原理
NFS(Network File System)网络文件系统,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。当我们在 NFS 服务器设置好一个共享目录后,其他的有权访问 NFS 客户端就可以将这个共享目录挂载到文件系统自定义的挂载点,挂载好后客户端在本地能够看到服务端共享目录中的所有数据。那么客户端如何来读取这些数据的呢?
(1)服务器端启动 RPC 服务。
(2)服务器端启动 NFS 服务,并向 RPC 注册端口信息。
(3)客户端启动 RPC,向服务端的 RPC 服务请求服务端的 NFS 端口。
(4)服务端的 RPC 服务反馈 NFS 端口信息给客户端。
(5)客户端通过获取的 NFS 端口来建立和服务端的 NFS 连接并进行数据的传输。 - NFS 配置过程
NFS 配置过程主要分为以下五步:
(1)安装环境准备 确保 Linux 系统中 yum 源已经安装完成
[root@server~]#yum list // 查看 yum 源中是否配置完成;
[root@server~]#yum list nfs-utils //查看 yum 源中是否存在 nfs-utils 软件包
(2)安装 NFS 服务 yum install nfs-utils
[root@server~]#yum install nfs-utils //安装软件包,发现系统中默认已经安装。
[root@server~]#rpm -qa nfs-utils //查看发现系统已经默认安装 nfs 服务。
(3)启动 NFS 服务 systemctl restart nfs
[root@server~]#systemctl restart nfs //重启 nfs 服务
当结果中出现状态为 active,表示 nfs 服务器已经开启。
(4)配置 NFS 服务 修改主配置文件/etc/exports
①创建 nfs 服务器共享目录/common
[root@server~]#mkdir /common
并在其中创建测试共享文件 test.txt
[root@server~]#vi /common/test.txt
输入: 2020 Nature is precious, life is precious!
②配置 NFS 服务器主配置文件/etc/exports
基于安全性考虑,即使系统 NFS 服务也不会共享任何资料,因此默认是空白文件。
在/etc/exports 文件中,每一行对应一个共享目录。
其格式如下:
<输入目录> 允许访问 NFS 客户端 IP 地址或者网络地址(加上选项)
[root@server~]#vi /etc/exports
/common 192.168.100.10/24 (ro ,sync)
共享目录 允许访客户端 IP 地址
ro:客户端对共享目录具有只读权限。
sync:数据同步写入到内存与硬盘中,这样不会轻易丢失数据。
③修改完配置文件重启服务生效
[root@server~]#systemctl restart nfs
(5)关闭服务器防火墙 systemctl stop firewalld
[root@server~]#systemctl stop firewalld - NFS 测试过程
(1)服务器端测试
基本格式: showmount -e NFS 服务器 IP 地址
-e 显示指定的 NFS 服务器上所有输入的共享目录。
[root@server~]#showmount -e 192.168.XXX.XX (例如:192.168.100.10)
(2)客户端来测试 测试步骤主要有以下三步:
①保证客户端与服务器端能连通
设置客户端的 IP 地址段与服务器端 IP 地址为同一网段。
[root@client~]#ping 192.168.100.10
发现有完整数据包回复,确定客户端与服务器端能连通
②查看 NFS 共享目录
[root@client~]#showmount -e 192.168.100.10
③挂载共享目录,使用共享目录
查看服务器端共享目录。但是要真正使用它,必须将它挂载到本地。
[root@client~]#mkdir /mnt/nfs //创建挂载点
[root@client~]#mount 192.168.100.10:common /mnt/nfs //创建挂载目录
[root@client~]#ls /mnt/nfs //查看共享目录中的测试文档
test.txt
[root@client~]#lcat /mnt/nfs/test.txt //查阅测试文件中内容