目的:搭建NFS服务,使多个客户端通过一台服务器达到数据互通
环境:centos stream 9,root登录操作
NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 sun 公司开发。通过使用 NFS协议,客户机可以像访问本地目录一样访问远程 NFS 服务器中的共享资源。
NFS 也是 NAS存储设备必然支持的一种协议,但是因为没有用户认证机制,而且数据在网络上明文传输,安全性很差,所以一般只能在局域网中使用。
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
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利
1.首先服务器端启动RPC服务,并开启111端口
2.服务器端启动NFS服务,并向RPC注册端口信息
3.客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4.服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
当我们在NFS服务器设置好一个共享目录后,其他的有权访问NFS服务器的NFS客户端就可以将这个目录挂载到自己文件系统的某个挂载点,这个挂载点可以自己定义,如上图客户端A与客户端B挂载的目录就不相同。并且挂载好后我们在本地能够看到服务端共享目录的所有数据。
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 ###设置开机自启
#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服务可以帮助在局域网内数据互相访问,但是当服务器宕机时各个客户机的数据将无法同步
上一篇:Samba配置文件解析