这里是普通文章模块栏目内容页
centos搭建NFS服务

目的:搭建NFS服务,使多个客户端通过一台服务器达到数据互通

环境:centos stream 9,root登录操作

一、NFS

1.1 概述

NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 sun 公司开发。通过使用 NFS协议,客户机可以像访问本地目录一样访问远程 NFS 服务器中的共享资源。
NFS 也是 NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输,安全性很差,所以一般只能在局域网中使用。

1.2 相关软件包

NFS 服务的实现依赖于 RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。在Centos 7系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

nfs端口号2049

rpc端口号111

rpm -q rpcbind nfs-utils     #查询是否安装
yum install -y nfs-utils   #安装nfs和rpc的软件包

dnf install nfs-utils
上次元数据过期检查:1:16:22 前,执行于 2023年10月31日 星期二 15时45分05秒。
依赖关系解决。
=================================================================================================================================================================================================================================================
 软件包                                                      架构                                                版本                                                               仓库                                                    大小
=================================================================================================================================================================================================================================================
安装:
 nfs-utils                                                   x86_64                                              1:2.3.3-59.0.2.an8                                                 BaseOS                                                 515 k
安装依赖关系:
 gssproxy                                                    x86_64                                              0.8.0-21.an8                                                       BaseOS                                                 118 k
 keyutils                                                    x86_64                                              1.5.10-9.an8                                                       BaseOS                                                  65 k
 libev                                                       x86_64                                              4.33-5.0.1.an8                                                     AppStream                                               44 k
 libverto-libev                                              x86_64                                              0.3.2-2.an8                                                        AppStream                                               15 k
 python3-pyyaml                                              x86_64                                              3.12-12.el8                                                        BaseOS                                                 192 k
 quota                                                       x86_64                                              1:4.06-6.an8                                                       BaseOS                                                 208 k
 quota-nls                                                   noarch                                              1:4.06-6.an8                                                       BaseOS                                                  96 k
 rpcbind                                                     x86_64                                              1.2.5-10.0.1.an8                                                   BaseOS                                                  65 k



已安装:
  gssproxy-0.8.0-21.an8.x86_64    keyutils-1.5.10-9.an8.x86_64      libev-4.33-5.0.1.an8.x86_64   libverto-libev-0.3.2-2.an8.x86_64   nfs-utils-1:2.3.3-59.0.2.an8.x86_64   python3-pyyaml-3.12-12.el8.x86_64   quota-1:4.06-6.an8.x86_64  
  quota-nls-1:4.06-6.an8.noarch   rpcbind-1.2.5-10.0.1.an8.x86_64  

systemctl start nfs-utils      #开启nfs服务
systemctl start rpcbind   #开启rpcbind服务
systemctl enable nfs-utils     #开机自启nfs服务
systemctl enable rpcbind   #开机自启rpcbind服务1234567

1.3 nfs特点

采用TCP/IP传输网络文件

安全性低

简单易操作

适合局域网环境

1.4 nfs 工作原理

NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利

1.5 nfs工作流程图

NFS服务器1.首先服务器端启动RPC服务,并开启111端口
2.服务器端启动NFS服务,并向RPC注册端口信息
3.客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4.服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

1.6 挂载原理

NFS服务器
当我们在NFS服务器设置好一个共享目录后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端共享目录的所有数据。

二、nfs 部署

2.1 主服务器配置 IP 192.168.16.132

yum install -y nfs-utils  ##主机安装nfs服务
mkdir /home/share     ###创建共享文件
chmod -R 775 /home/share   ###设置共享文件权限
vi /etc/exports   ###编辑配置文件
/home/share 192.168.16.0/24(rw,sync,no_root_squash)   rw表示共享的主机只有读写权限,sync表示数据会同步写入到内存和  硬盘中,no_root_squash非root可用 配置文件格式:共享目录 共享主机
exportfs -a      ###刷新
systemctl start nfs-server rpcbind nfs-utils    ###启动服务
systemctl enable nfs-server rpcbind nfs-utils    ###设置开机自启

2.2测试

#showmount -e
Export list for localhost.localdomain:
/home/share 192.168.16.0/24
#客户端挂载
#mkdir /home/nfsshare
#mount -t nfs 192.168.16.132:/home/share /home/nfsshare 
#df -Th
192.168.16.132:/home/share   25G  6.2G   19G   26% /home/nfsshare
#设置开机自动挂载
#vi /etc/fstab
192.168.16.132:/home/share /home/nfsshare nfs4 defaults 0 0
mount -a

nfs服务可以帮助在局域网内数据互相访问,但是当服务器宕机时各个客户机的数据将无法同步