NFS共享服务

这篇具有很好参考价值的文章主要介绍了NFS共享服务。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.NFS

1.1 NFS简介

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

  • 它的主要功能是通过网络让不同的机器系统之间可以彼此共享文件和目录NFS服务器可以允许NFS客户端将远端NFS服务器端的共享目录挂载到本地的NFS客户端中在本地的NFS客户端的机器看来,NFS服务器端共享的目录就好像自己的磁盘分区和目录一样。一般客户端挂载到本地目录的名字可以随便,但为方便管理,我们要和服务器端一样比较好。其就相当于windows里面共享文件,然后其他主机把这个共享文件映射成了本地盘使用一样。

  • NFS一般用来存储共享视频,图片等静态数据。

1.2 RPC简介

  • 因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据。,因此,NFS的功能所对应的端口无法固定,它会随机取用一些未被使用的端口来作为传输,其中CentOS 5.x的随机端口都小于1024,而CentOS 6.x的随机端口都比较大。

  • 因为端口不固定,就会造成NFS客户端与NFS服务端的通信障碍。因为NFS客户端必须要知道NFS服务端的数据传输端口才能进行通信,才能交互数据

  • 要解决上面的困扰,就需要通过远程过程调用RPC服务来帮忙,NFS的RPC服务最主要的功能就是记录每个NFS功能所对应的端口号,并且在NFS客户端请求时将该端口和功能对应的信息传递给请求数据的NFS客户端,从而确保客户端可以连接到正确的NFS端口上去,达到实现数据传输交互数据目的。这个RPC服务类似NFS服务端和NFS客户端之间的一个中介。

知识拓展部分:RPC服务使用固定的111端口来监听NFS客户端;

就拿房屋中介打个比喻:
假设我们要找房子,这里的我们就相当于NFS客户端,中介介绍房子,中介就相当于RPC服务,房子所有者房东就相当于NFS服务,租房的人找房子,就要找中介,中介要预先存有房子主人房东的信息,才能将房源信息告诉租房的人

那么RPC服务又是如何知道每个NFS的端口呢?

这是因为,当NFS服务端启动服务时会随机取用若干端口,并主动向RPC服务注册取用的相关端口及功能信息。如此一来,RPC服务就知道NFS每个端口对应的NFS功能了,然后RPC服务使用固定的111端口来监听NFS客户端提交的请求,并将正确的NFS端口信息回复给请求的NFS客户端,这样一来,NFS客户端就可以与NFS服务端进行数据传输了。

在启动NFS服务之前,首先要启动RPC服务(CentOS 5.x下为portmap服务,CentOS=6.x下为rpcbind服务,下同),否则NFS服务就无法向RPC服务注册使用的端口及对应的功能信息。另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会丢失,因此,此时RPC服务管理的NFS程序也需要重新启动以重新向RPC注册。要特别注意的是,一般修改NFS配置文件后,是不需要重启NFS的,直接在命令行执行/etc/init.d/nfs reload或exportfs -arv即可使修改的/etc/exports生效

1.3 NFS网络文件系统

依赖RPC(Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程

需要安装nfs-utils、rpcbind软件包来提供NFS共享服务。

系统服务:nfs(端口号2049)、rpcbind(端口号111),前者用于NFS共享发布和访问,后者用于RPC支持。

共享配置文件:/etc/exports(文件为空,要自己添加需要发布共享以及客户端需要连接和访问的网段)

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

1.4 NFS应用场景

  • 多台web服务器的图片和视频数据都保存在NFS服务器上

  • 多台服务器的备份数据都保存在NFS服务器上

1.5 NFS通讯原理

1.服务端启动后将自己的端口信息注册到rpcbind
2.NFS客户端通过TCP/IP的方式连接NFS服务端的rpcbind并获得真实的端口信息
3.NFS客户端获得真实的端口后,将自己需要的操作函数通过⽹络发送给NFS服务端对应的端口
4.NFS服务端接收到请求后,由rpc.nfsd进程判断NFS客户端是否拥有连接权限
5.NFS服务端的rpc.mount进程判断客户端是否有对应的操作权限
6.最后NFS服务端会将对应请求的函数转换为本地能识别的命令,传递至内核,由内核驱动硬件

注意: rpc 是⼀个远程过程调用,那么使用 nfs 必须有 rpc 服务

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

2.NFS配置

(1)安装软件,启动服务

服务端安装并启动nfs-utils、rpcbind软件包;

yum -y install nfs-utils rpcbind
###优先启动rpcbind,否则客户端NFS服务可能会找不到服务端的NFS
systemctl start rpcbind
systemctl start nfs
###开机自动启动该服务
systemctl enable rpcbind
systemctl enable nfs
###关闭防火墙和selinux
systemctl stop firewalld
setenforce 0

[root@clr ~]#yum -y install nfs-utils rpcbind
[root@clr ~]#systemctl  start rpcbind  #切记一定要先启动rpcbind服务,再启动nfs服务
[root@clr ~]#systemctl  start nfs
[root@clr ~]#systemctl enable rpcbind #将rpcbind服务和nfs服务设为开机启动
[root@clr ~]#systemctl enable nfs  

(2)准备共享目录

修设配置文件,设置共享目录;

先准备硬盘/LVM/RAID,格式化后挂载到需要共享的目录(比如/share),并设置相应的权限
###如果无需客户端写入文件则省略
chmod 777 /share 

vim /etc/exports
共享目录 客户端地址/网段(共享参数选项,...)
.....
###共享参数选项用“,”相隔,可有多条共享目录

/data       172.16.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
共享目录    允许客户端访问的IP(共享参数)
解释:NFS共享目录路径 允许NFS客户端访问的IP地址(参数)
注意:访问地址和参数之间没有空格

[root@clr ~]#mkdir -p /opt/www/root
[root@clr ~]#vim /etc/export
/opt/www/root 192.168.154.0/24(rw,sync,no_root_squahs)

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

配置文件参数解释如下:

执行 man exports 命令,然后切换到文件结尾,可以快速查看如下样例格式:
rw #读写权限
ro #只读权限
root_squash #当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
no_root_squash #当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)
all_squash #无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户(常用)
no_all_squash #无论NFS客户端使用什么账户访问,都不进行降权处理,维持客户端原有身份信息进行连接与访问
sync #同时将数据写入到内存与硬盘中,保证不丢失数据
async #优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
anonuid #配置all_squash使用,指定NFS的用户UID,必须存在系统
anongid #配置all_squash使用,指定NFS的用户GID,必须存在系统

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

NFS服务的默认配置文件路径为:/etc/exports,并且默认是空的;

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

#####    编辑如下    #####
/opt/mygirl 192.168.80.0/24(rw,sync)
#表示/opt/mygirl目录可以被192.168.80这个网段所有人去连接,rw是表示有读写权限,sync表示要立即进行同步

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

showmount -e查看nfs服务端是否已经成功将指定目录共享出来,不写ip地址默认是在nfs服务端本地进行查看,添加ip地址,代表是在客户端查看nfs服务端的共享目录;

[root@clr ~]# showmount -e 192.168.80.20
Export list for 192.168.80.20:
/opt/mygirl 192.168.80.0/24

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

在客户端创建指定挂载目录,并将192.168.80.20:/opt/mygirl挂载到客户端的/opt/mydata目录下;

[root@clr ~]# mkdir /opt/mydata
[root@clr ~]# mount 192.168.80.20:/opt/mygirl  /opt/mydata  #将192.168.80.20:/opt/mygirl
###共享目录挂载到客户端的/opt/mydata目录下

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

(3)发布共享目录

###对NFS配置文件做了修改后,可用以下两条命令重新刷新配置
systemctl restart nfs
###如果客户端正在挂载nfs共享存储目录,重启nfs服务可能会不生效,有延迟,甚至卡死,可用下面的命令发布新的nfs配置(共享目录)
exportfs -avr

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

(4)客户端挂载使用

###在服务端和客户端查看有哪些共享目录发布
showmount -e 服务端IP
###客户端临时挂载nfs共享目录
mount [-t nfs] 服务端IP:共享目录 本地挂载点
###客户端永久挂载nfs共享目录
vim /etc/fstab
{服务端IP:共享目录 本地挂载点 nfs defaults,_netdev 0 0}
###如果客户端正在挂载中,服务端突然发生事故,nfs服务宕机了,客户端挂载目录会出现卡死现象,可使用命令强制解除挂载
umount -lf

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

nfs restart,云计算,Linux网络,运维,运维,云计算,linux
nfs restart,云计算,Linux网络,运维,运维,云计算,linux

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

每次更改/etc/exports配置文件中的参数时,都需要客户端先解挂,再重启服务端的nfs服务,最后客户端在进行挂载nfs服务端的共享文件,进行验证测试。

nfs restart,云计算,Linux网络,运维,运维,云计算,linux

nfs restart,云计算,Linux网络,运维,运维,云计算,linux文章来源地址https://www.toymoban.com/news/detail-607479.html

到了这里,关于NFS共享服务的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux nfs共享存储服务

    目录 一、nfs服务 二、nfs优点 三、配置文件 四、共享文件配置过程 五、实验 1.创建共享文件(两台终端共享)                             一、nfs服务 概念:网络上共享文件系统的协议,运行多个服务器之间通过网络共享文件和目录 服务端:将指定目录标记为共享目录

    2024年02月06日
    浏览(45)
  • 【Linux】linux nfs共享存储服务

    目录 一、nfs服务 二、nfs优点 三、配置文件 四、共享文件配置过程 五、实验 1.创建共享文件(两台终端共享) 概念:网络上共享文件系统的协议,运行多个服务器之间通过网络共享文件和目录 服务端:将指定目录标记为共享目录,服务段有访问权限,共享目录有全部权限

    2024年02月10日
    浏览(32)
  • Linux - 进阶 NFS 服务器 NFS文件权限与共享目录权限主次问题

            #    NFS 的权限本身没有用户密码和账户验证登录过程               ( 你可以回忆下,我们前面访问远程共享目录的时候,是没有输入账户,密码啥的,是没                 有这个步骤的)              所以客户端登录到服务器后,会把客户端的

    2024年02月04日
    浏览(37)
  • 云计算项目五:部署数据库服务mysql |部署共享存储服务NFS | 配置网站服务

    机器配置 具体配置如下: 添加磁盘 磁盘分区 创建LV 格式化 分别给2台虚拟机添加2块5G的磁盘 查看物理卷 创建卷组 查看卷组大小 创建逻辑卷 两台主机都要做此项操作 具体操作如下: 安装MySQL软件 挂载LV分区 启动服务 管理员登录

    2024年01月25日
    浏览(33)
  • 【NFS共享存储服务】

    ·依赖于RPC (远端过程调用) ·需安装nfs-utils、rpcbind软件包 ·系统服务: nfs、rpcbind ·共享配置文件: /etc/exports windows 共享存储服务—cifs协议 Linux 共享存储服务 —nfs协议 NFS端口号是2049 RPC是111号端口 (面试题) 在使用共享文件时双方的主机必须要关闭防火墙 关闭防火墙后,使

    2024年02月01日
    浏览(33)
  • NFS共享服务

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

    2024年02月15日
    浏览(29)
  • Linux的NFS共享目录操作步骤

    首先准备两台Linux,一台服务器,一台客户机,IP地址可自行设置,两台防火墙都要关闭。 配置服务器IP地址:172.20.10.11 配置客户机IP地址:172.20.10.12 先关闭防火墙:systemctl stop filewalld.service 检查防火墙是否关闭:systemctl status filewalld  dead意思为关闭 服务器端 先检查有没有安

    2024年02月07日
    浏览(31)
  • Ubantu搭建NFS服务器共享文件

    搭建一台NFS服务器为局域网中的用户提供文件共享,NFS服务器要求如下: 1.将本地文件系统的/home/share目录共享,192.168.61.100与192.168.61.200两个客户机对该目录具有读写限权,而192.168.61.0/24网段内的其他客户机对该目录具有只读限权。(IP地址可根据自己虚拟机的地址调整)

    2024年02月08日
    浏览(46)
  • Debian(Linux)局域网共享文件-NFS

    NFS (Network File system) 是一种客户端-服务器文件系统协议,允许多个系统或用户访问相同的共享文件夹或文件。最新版本是 NFS-V4,共享文件就像存储在本地一样。它提供了中央管理,可以使用防火墙和 Kerberos 身份验证进行保护。 本文将指导您在 Debian 10 中安装 NFS 服务器,并将

    2024年01月18日
    浏览(41)
  • centos中安装nfs实现服务器文件共享

    如果一个服务使用集群方式部署,在文件读写时就需要考虑多个服务之间文件共享的问题,在共享文件时可以考虑部署一个单独的文件服务器,比如hdfs、minio、fastdfs等,也可以使用简单的文件目录共享方式实现,比如nfs。下面就介绍nfs简单安装使用: 一、nfs服务端安装 nfs服

    2024年01月22日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包