标题DNF共享服务搭建详细流程

1. 概述
NFS(Network File System) 网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。NFS主要用于LInux与Linux之间进行文件系统共享。

简单的来说:它就是是可以透过网络,让不同的主机、不同的操作系统可以共享存储。

NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

2. NFS的传输协议RPC

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC(Remote Procedure Call)远程过程调用 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

3. NFS优势
a. 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
b. 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
c. 一些存储设备CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

4.NFS的挂载原理
NFS的挂载原理
NFS分为客户端与服务器端,一般设置为一个Server端,多个客户端,也可设置为多对多,当服务器端设置好共享目录/data后,客户端通过相应的访问权限,将共享目录挂载到本地系统的某个目录下,就可以透明的看到共享目录里的文件了,依据服务器制定的相应权限做操作

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

6.环境搭建
协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
注意:NFS是一个文件系统,而RPC是负责负责信息的传输。
需要安装的软件包:nfs-utils (NFS服务的主程序) 、 rpcbind (RPC服务的主程序)
程序目录:/usr/lib/systemd/system/nfs-server.service 、 /usr/sbin/rpcbind
服务器端nfs配置文件:/etc/exports

举例:
服务端:192.168.1.110
客户端:192.168.1.120
客户端和服务端都需要安装:nfs-utils

[root@localhost ~]# yum -y install nfs-utils

查看安装包

[root@localhost ~]# rpm -q nfs-utils

什么是共享架构与非共享架构 共享模式搭建的内容_服务器


主配置文件路径:[root@localhost ~]# ll /etc/exports

配置文件中是没有内容的,需要进行添加

格式:文件夹路径 客户机地址(权限)

[root@localhost ~]# vim /etc/exports

增加两个和共享目录,

一个data只允许192.168.1.0-24网段进行访问,只有读的权限

一个opt只允许192.168.1.0-24网段进行访问,只有读写的权限

什么是共享架构与非共享架构 共享模式搭建的内容_RPC_02


:wq保存退出

重启nsf服务

[root@localhost ~]# systemctl restart nfs-server

启动成功

什么是共享架构与非共享架构 共享模式搭建的内容_服务器_03

查询服务端口
共享是使用的:2049端口 传输使用的是111端口

[root@localhost ~]# netstat -anpt | grep 111
[root@localhost ~]# netstat -anpt | grep 2049

什么是共享架构与非共享架构 共享模式搭建的内容_RPC_04

客户端挂载共享192.168.1.120
客户端创建挂载点

[root@localhost ~]# mkdir /opt/haha
[root@localhost ~]# mkdir /opt/xixi

进行挂载并指定文件格式

[root@localhost ~]# mount -t nfs 192.168.1.110:/data/ /opt/haha
[root@localhost ~]# mount -t nfs 192.168.1.110:/opt/ /opt/xixi

什么是共享架构与非共享架构 共享模式搭建的内容_linux_05


挂载共享文件之后,发现不能进行创建,是因为服务端110我们在配置文件中没有增加相应的权限,具体共享权限配置说明如图

什么是共享架构与非共享架构 共享模式搭建的内容_服务器_06


切换到服务端192.168.1.110修改相应的权限

[root@localhost opt]# vim /etc/exports

什么是共享架构与非共享架构 共享模式搭建的内容_linux_07


修改完后重启nfs-server是配置文件生效

[root@localhost opt]# systemctl restart nfs-server

什么是共享架构与非共享架构 共享模式搭建的内容_什么是共享架构与非共享架构_08


然后登录客户端进入就可以进行编辑了

什么是共享架构与非共享架构 共享模式搭建的内容_服务器_09


注意:客户端只有root用户登录的时候才会有写入的权限,普通用户是没有的

客户端访问NFS
列出有哪些NFS共享资源:
showmount -e 服务器地址

[root@localhost xixi]# showmount -e 192.168.1.110

什么是共享架构与非共享架构 共享模式搭建的内容_linux_10


手动挂载NFS共享:mount 服务器地址:文件夹路径 挂载点

[root@localhost ~]# mount -t nfs 192.168.1.110:/data/ /opt/haha

开机挂载配置 /etc/fstab

[root@test haha]# vim /etc/fstab

什么是共享架构与非共享架构 共享模式搭建的内容_运维_11

192.168.1.110:/data  /opt/haha nfs defaults,_netdev 0 0
192.168.1.110:/opt  /opt/xixi nfs defaults,_netdev 0 0

服务器地址:文件夹路径 挂载点 nfs defaults,_netdev 0 0
解释:_netdev 由于nfs是网络设备,所以需要加 _netdev 参数

mount –a #挂载

配置完毕后服务端启动不成功解决方式:
查询启动状态,

[root@localhost ~]# systemctl status nfs-server

什么是共享架构与非共享架构 共享模式搭建的内容_linux_12


可使用日志管理工具查看报错具体信息

[root@localhost opt]# journalctl -l

什么是共享架构与非共享架构 共享模式搭建的内容_运维_13


当我们启动服务报错时,一定要仔细查看报错的信息或者查看他的状态信息,这个问题就是因为我共享文件没有创建导致的,,或者是你IP网段指定错误

如果对您有帮助,给博主点赞支持下