请选择 进入手机版 | 继续访问电脑版

浅析NFS服务器原理以及搭建设置 部署步骤

[复制链接]
查看107 | 回复18 | 2021-9-13 18:01:41 | 显示全部楼层 |阅读模式
目次

NFS服务简介

什么是NFS?

  • NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作体系 可以共享彼此的文件。
  • ​ NFS服务器可以让PC将网络中的NFS服务器共享的目次 挂载到本地端的文件体系 中,而在本地端的体系 中来看,谁人 长途 主机的目次 就好像是本身 的一个磁盘分区一样,在使用 上相称 便利;
  • NFS一样平常 用来存储共享视频,图片等静态数据。

NFS挂载原理

在这里插入图片形貌

服务器挂载布局 图

如上图示:

当我们在NFS服务器设置好一个共享目次 /home/public后,

其他的有权访问NFS服务器的NFS客户端就可以将这个目次 挂载到本身 文件体系 的某个挂载点

这个挂载点可以本身 定义

如上图客户端A与客户端B挂载的目次 就不类似 。

并且挂载好后我们在本地可以或许 看到服务端/home/public的全部 数据。

  • 假如 服务器端设置 的客户端只读,那么客户端就只可以或许 只读。
  • 假如 设置 读写,客户端就可以或许 举行 读写。

挂载后,NFS客户端查看磁盘信息下令 :#df –h。

既然NFS是通过网络来举行 服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有想对应的网络端口,

NFS服务器到底使用 哪个端口来举行 数据传输呢?

基本上NFS这个服务器的端口开在2049,但由于文件体系 非常复杂。

因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口;

既然是随机的那么客户端又是怎样 知道NFS服务器端到底使用 的是哪个端口呢?

这时就必要 通过长途 过程调用(Remote Procedure Call,RPC)协议来实现了!

RPC与NFS通讯原理

​ 由于 NFS支持的功能相称 多,而不同的功能都会使用 不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的干系 端谈锋 能建立毗连 举行 数据传输,而RPC就是用来同一 管理NFS端口的服务,并且同一 对外的端口是111,RPC会记录NFS端口的信息,云云 我们就可以或许 通过RPC实现服务端和客户端沟通端口信息。PRC最告急 的功能就是指定每个NFS功能所对应的port number,并且关照 客户端,记客户端可以毗连 到正常端口上去。

那么RPC又是怎样 知道每个NFS功能的端口呢?

起首 当NFS启动后,就会随机的使用 一些端口,然后NFS就会向RPC去注册这些端口,RPC就会记录下这些端口,并且RPC会开启111端口,等待客户端RPC的哀求 ,假如 客户端有哀求 ,那么服务器端的RPC就会将之前记录的NFS端口信息告知客户端。云云 客户端就会获取NFS服务器端的端口信息,就会以现实 端口举行 数据的传输了。

留意 :

在启动NFS SERVER之前,起首 要启动RPC服务(即portmap服务,下同)

否则NFS SERVER就无法向RPC服务区注册,

别的 ,假如 RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。

因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。

特别 留意 :

一样平常 修改NFS设置 文档后,是不必要 重启NFS的,直接在下令 实行 systemctl reload nfs或exportfs –rv即可使修改的/etc/exports见效

NFS客户端和NFS服务器通讯过程

在这里插入图片形貌

  • 起首 服务器端启动RPC服务,并开启111端口
  • 服务器端启动NFS服务,并向RPC注册端口信息
  • 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务哀求 服务端的NFS端口
  • 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
  • 客户端通过获取的NFS端口来建立和服务端的NFS毗连 并举行 数据的传输。

Linux下NFS服务器部署

NFS服务所需软件及告急 设置 文件

安装NFS服务,必要 安装两个软件,分别是:

RPC主程序:rpcbind

NFS 实在 可以被视为一个 RPC 服务,由于 启动任何一个 RPC 服务之前,我们都必要 做好 port 的对应 (mapping) 的工作才行,这个工作实在 就是『 rpcbind 』这个服务所负责的!

也就是说, 在启动任何一个 RPC 服务之前,我们都必要 启动 rpcbind 才行! (在 CentOS 5.x 从前 这个软件称为 portmap,在 CentOS 6.x 之后才称为 rpcbind 的!)。

NFS主程序:nfs-utils

就是提供 rpc.nfsd 及 rpc.mountd 这两个 NFS daemons 与其他干系 documents 与阐明 文件、实行 文件等的软件!这个就是 NFS 服务所必要 的告急 软件。

NFS的干系 文件

  • 告急 设置 文件:/etc/exports
    这是 NFS 的告急 设置 文件了。该文件是空缺 的,有的体系 大概 不存在这个文件,告急 手动建立。NFS的设置 一样平常 只在这个文件中设置 即可。
  • NFS 文件体系 维护指令:/usr/sbin/exportfs
    这个是维护 NFS 分享资源的指令,可以使用 这个指令重新分享 /etc/exports 变更的目次 资源、将 NFS Server 分享的目次 卸除或重新分享。
  • 分享资源的登录档:/var/lib/nfs/*tab
    在 NFS 服务器的登录文件都放置到 /var/lib/nfs/ 目次 内里 ,在该目次 下有两个比较告急 的登录档, 一个是 etab ,告急 记录了 NFS 所分享出来的目次 的完备 权限设定值;另一个 xtab 则记录曾经链接到此 NFS 服务器的干系 客户端数据。
  • 客户端查询服务器分享资源的指令:/usr/sbin/showmount
    这是另一个告急 的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 则告急 用在 Client 端。showmount 可以用来察看 NFS 分享出来的目次 资源。

服务端安装NFS服务步骤

第一步:安装NFS和rpc

  1. [root@localhost ~]# yum install -y nfs-utils
  2. #安装nfs服务
  3. [root@localhost ~]# yum install -y rpcbind
  4. #安装rpc服务
复制代码

第二步:启动服务和设置开启启动

留意 :先启动rpc服务,再启动nfs服务。

  1. [root@localhost ~]# systemctl start rpcbind #先启动rpc服务
  2. [root@localhost ~]# systemctl enable rpcbind #设置开机启动
  3. [root@localhost ~]# systemctl start nfs-server nfs-secure-server
  4. #启动nfs服务和nfs安全传输服务
  5. [root@localhost ~]# systemctl enable nfs-server nfs-secure-server
  6. [root@localhost /]# firewall-cmd --permanent --add-service=nfs
  7. success #配置防火墙放行nfs服务
  8. [root@localhost /]# firewall-cmd --reload
  9. success
复制代码

第三步:设置 共享文件目次 ,编辑设置 文件

起首 创建共享目次 ,然后在/etc/exports设置 文件中编辑设置 即可。

  1. [root@localhost /]# mkdir /public
  2. #创建public共享目录
  3. [root@localhost /]# vi /etc/exports
  4. /public 192.168.245.0/24(ro)
  5. /protected 192.168.245.0/24(rw)
  6. [root@localhost /]# systemctl reload nfs
  7. #重新加载NFS服务,使配置文件生效
复制代码

设置 文件阐明 :

  • 格式: 共享目次 的路径 答应 访问的NFS客户端(共享权限参数)
    如上,共享目次 为
    1. /public
    复制代码
    , 答应 访问的客户端为192.168.245.0/24网络用户,权限为只读。
    请留意 ,NFS客户端地址与权限之间没有空格。
    1. NFS
    复制代码
    输出保护必要 用到
    1. kerberos
    复制代码
    加密(
    1. none
    复制代码
    1. sys
    复制代码
    1. krb5
    复制代码
    1. krb5i
    复制代码
    1. krb5p
    复制代码
    ),格式sec=XXX
    1. none
    复制代码
    :以匿名身份访问,假如 要答应 写操作,要映射到
    1. nfsnobody
    复制代码
    用户,同时布尔值开关要打开,
    setsebool nfsd_anon_write 1
    1. sys
    复制代码
    :文件的访问是基于标准的文件访问,假如 没有指定,默认就是sys, 信托 任何发送过来用户名
    1. krb5
    复制代码
    :客户端必须提供标识,客户端的表示也必须是krb5,基于域环境的认证
    1. krb5i
    复制代码
    :在krb5的基础上做了加密的操作,对用户的暗码 做了加密,但是传输的数据没有加密
    1. krb5p
    复制代码
    :全部 的数据都加密

用于设置 NFS服务程序设置 文件的参数:

参数 作用
ro 只读
rw 读写
root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户
no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员
all_squash 无论NFS客户端使用 什么账户访问,均映射为NFS服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;如许 服从 更高,但大概 会丢失数据

NFS客户端挂载设置

第一步:使用 showmount下令 查看nfs服务器共享信息

输出格式为“共享的目次 名称 答应 使用 客户端地址”

  1. [root@localhost ~]# showmount -e 192.168.245.128
  2. Export list for 192.168.245.128:
  3. /protected 192.168.245.0/24
  4. /public 192.168.245.0/24
复制代码

  1. showmount
复制代码
下令 的用法;

参数 作用
-e 表现 NFS服务器的共享列表
-a 表现 本机挂载的文件资源的环境 NFS资源的环境
-v 表现 版本号

第二步:在客户端创建目次 ,并挂载共享目次

  1. [root@localhost ~]# mkdir /mnt/public
  2. [root@localhost ~]# mkdir /mnt/data
  3. [root@localhost ~]# vim /etc/fstab
  4. #在该文件中挂载,使系统每次启动时都能自动挂载
  5. 192.168.245.128:/public /mnt/public nfs defaults 0 0
  6. 192.168.245.128:/protected /mnt/data nfs defaults 0 1
  7. [root@localhost ~]# mount -a #是文件/etc/fstab生效
复制代码

第三步:检查

  1. [root@mail ~]# df -Th
  2. Filesystem Type Size Used Avail Use% Mounted on
  3. /dev/mapper/rhel-root xfs 17G 3.1G 14G 18% /
  4. devtmpfs devtmpfs 1.4G 0 1.4G 0% /dev
  5. tmpfs tmpfs 1.4G 140K 1.4G 1% /dev/shm
  6. tmpfs tmpfs 1.4G 9.1M 1.4G 1% /run
  7. tmpfs tmpfs 1.4G 0 1.4G 0% /sys/fs/cgroup
  8. /dev/sda1 xfs 1014M 173M 842M 18% /boot
  9. tmpfs tmpfs 280M 32K 280M 1% /run/user/0
  10. /dev/sr0 iso9660 3.6G 3.6G 0 100% /mnt/cdrom
  11. 192.168.245.128:/public nfs4 17G 3.7G 14G 22% /mnt/public
  12. 192.168.245.128:/protected nfs4 17G 3.7G 14G 22% /mnt/data
复制代码

在Window上挂载NFS

第一步:在控制面板–>添加程序和功能–>添加NFS组件

在这里插入图片形貌

第二步:在此电脑,映射驱动器中添加nfs地址,和要共享的文件夹

在这里插入图片形貌

第三步:假如 权限有标题

打开注册表:

  1. regedit
复制代码
, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default

下新建两个OWORD(64)位值,添加值

  1. AnonymousGid
复制代码
,值默以为 0,
  1. AnonymousUid
复制代码
,值默以为 0。

以上就是浅析NFS服务器原理以及搭建设置 步骤的详细 内容,更多关于NFS服务器原理、搭建、设置 的资料请关注脚本之家别的 干系 文章!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 丁侦球 | 2021-9-18 11:09:10 | 显示全部楼层
刚看见一个妹子,很漂亮!
回复

使用道具 举报

avatar 刘岑岑故 | 2021-9-20 09:35:58 | 显示全部楼层
对牛弹琴的人越来越多了!
回复

使用道具 举报

avatar 落日余晖97 | 2021-10-1 22:08:14 | 显示全部楼层
很多天不上线,一上线就看到这么给力的帖子!
回复

使用道具 举报

avatar 网路游民甲厝 | 2021-10-3 08:53:14 | 显示全部楼层
今天怎么了,什么人都出来了!
回复

使用道具 举报

avatar 日啊驴吗厩 | 2021-10-4 03:31:30 | 显示全部楼层
看帖不回帖的人就是耍流氓,我回复了!
回复

使用道具 举报

avatar 下沙消掉 | 2021-10-7 06:26:24 | 显示全部楼层
admin楼主是在找骂么?
回复

使用道具 举报

avatar 爱可电子蓉 | 2021-10-7 22:31:17 | 显示全部楼层
看了这么多帖子,第一次看到这么有深度了!
回复

使用道具 举报

avatar 江左岸右郧 | 2021-10-8 12:44:21 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,影视频道的网站所有电影和连续剧都可以免费看的。访问地址:http://tv.mxswl.com
回复

使用道具 举报

avatar 劳心忉忉卫 | 2021-10-8 20:50:58 | 显示全部楼层
admin楼主看起来很有学问!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则