什么是NFS?NFS挂载

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

1、NFS服务

NFS,全称Network File System,即网络文件系统。最大的功能是通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。

😉
更直白的说就是:

让PC将网络中的NFS服务器共享的目录挂载到本地的文件系统中,这样在本地端访问挂载点就等于访问共享目录,NFS服务器共享的目录就像是自己的一个磁盘分区一样。

什么是NFS?NFS挂载
如图,在NFS服务器设置了一个共享目录/home/public,有权访问的客户端A就可以将这个共享目录挂载到自己文件系统的某个点,如/home/data/mypublic,如此,就可以在本地访问远程共享目录。

# 挂载后,可以看客户端磁盘的具体信息:

df -h /home/data/mypublic

# 这里指定了挂载点是/home/data/mypublic

NFS是通过网络来进行服务器端和客户端之间的数据传输,那么两者之间要传输数据就要有相对应的网络端口。NFS服务器的端口开在2049,此外,由于文件系统非常复杂。因此NFS还有其他的程序去启动额外的端口,这些额外的用来传输数据的端口是随机选择的,是小于1024的端口。既然是随机选择,那客户端如何知道NFS服务器使用的是哪个端口呢?

答案是通过远程过程调用协议,即RPC服务(Remote Procedure Call)

2、RPC服务与NFS

RPC( Remote Procedure Call )协议的主要目的是做到:不同服务间调用方法像同一服务间调用本地方法一样。

当NFS启动后,会随机使用一些端口,然后NFS会向RPC去注册登记这些端口。RPC记录下这些端口,并开启自身111端口,等待客户端请求。当客户端请求时,RPC就将NFS记录的端口信息告诉客户端,客户端获取到了NFS服务器的端口信息,从而建立连接进行数据传输。


具体流程:

什么是NFS?NFS挂载
1)首先服务器端启动RPC服务,并开启111端口

2)服务器端启动NFS服务,并向RPC注册登记端口信息

3)客户端启动RPC,向服务端的RPC服务请求服务端的NFS端口

4)服务端的RPC服务反馈NFS端口信息给客户端

5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输

3、NFS的优缺点

优点:

  • 节省本地存储空间,将一些常用的数据存放在一台服务器通过网络访问
  • 对于大多数负载均衡群集来说,使用NFS协议来共享数据存储是比较常见的方法

缺点:

  • 局限性:
    容易发生单点故障,即server服务器宕机所有的客户端都不能访问
  • 性能瓶颈:
    网站高并发的情况下,NFS性能有限
  • 安全性:
    客户端的数据都是通过明文传送,客户端没有用户认证机制,安全性一般,建议在局域网内使用
  • 数据完整性:
    NFS服务器传输数据都是采用明文的方式进行传输,对数据没有什么验证机制,对数据完整性较高的业务不建议使用
  • 维护繁琐:
    NFS服务器都是多台客户端挂载在一台server端,对于共享服务器的连接管理维护都是一项比较繁琐的事情

4、NFS服务端的搭建与配置

第一步:NFS服务端包安装(服务端)

//查询是否安装nfs-utils和rpcbind,未装则安装

rpm -q nfs-utils|| yum -y install nfs-utils
rpm -q rpcbind || yum -y install rpcbind

注意:

有的文章中提到了portmap,centos 6.4中portmap已经被rpcbind取代,而它又已经在安装nfs-utils包的时候安装了,不放心可以装完nfs后service rpcbind status验证

第二步:NFS配置文件修改(服务端)

# 创建服务端用于测试的共享目录
mkdir -p /root/test

# 编辑配置文件,我直接>>追加了
# 以下:*即客户机随意,ro表示客户端是只读权限
echo "/root/test *(ro)" >> /etc/exports

关于NFS配置权限设置,即/etc/exports文件配置格式中小括号()里的参数集:
什么是NFS?NFS挂载

第三步:关闭防火墙(服务端)并启动服务

# 关闭防火墙
systemctl stop firewalld

# 查看是否关闭成功
systemctl status firewalld
# 先启动rpcbind!!!并设置开机自启动
systemctl start rpcbind
systemctl enable rpcbind

# 再启动nfs并设置开机自启动
systemctl start nfs
systemctl enable nfs
# 发布共享目录
exportfs -rv

# 查看共享目录
showmount -e

第四步:客户端安装NFS并挂载

//查询是否安装nfs-utils和rpcbind,未装则安装

rpm -q nfs-utils|| yum -y install nfs-utils
rpm -q rpcbind || yum -y install rpcbind
//启动rpcbind和nfs

systemctl start rpcbind
systemctl start nfs
//查看NFS服务端共享的目录情况,假设服务端IP为1.1.1.1
showmount -e 1.1.1.1

//挂载
//其中,1.1.1.1是NFS服务器IP,/root/test是第二步中共享出来的目录
//目录/home/mnt是客户端的挂载点

mount 1.1.1.1:/root/test /home/mnt

//查看挂载是否成功
df -h /home/mnt

什么是NFS?NFS挂载
mount的时候报错no route to host,八成是防火墙忘关了,systemctl stop firewalld

5、小结

NFS是一种基于TCP/IP传输的网络文件系统协议,可以实现客户机访问远程服务器中的共享资源,NFS服务配置文件是/etc/exports,其缺点是安全性差。

配置NFS共享存储的步骤:

服务器端

第一步:安装nfs-utils和rpcbind软件,并关闭防火墙和增强安全功能

第二步:设置共享目录并把共享目录的权限设为777

第三步:修改NFS的配置文件(格式为:共享的目录名称 客户机地址(权限))

第四步:启动NFS服务(先启动rpcbind,再启动nfs),并设置开机自启动

第五步:发布NFS共享目录,并查看


客户端

第一步:安装nfs-utils和rpcbind软件,并关闭防火墙和增强安全功能

第二步:查看服务器端的共享目录,并将其挂载到新建目录上(可手动或自动挂载)

参考文章:
篇一:NFS详解
篇二:NFS实验文章来源地址https://www.toymoban.com/news/detail-454234.html

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

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

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

相关文章

  • 动态pv(nfs方式挂载)

    发布pvc之后可以生成pv,还可以在共享服务器上直接生成挂载目录 pvc直接绑定和使用pv (1)provisioner卷插件: k8s本身支持的动态pv创建不包括nfs,需要声明和安装一个外部插件provisioner(存储分配器),可以动态创建pv,根据pvc请求自动绑定和使用 (根据定义的pv属性创建pv)

    2024年01月16日
    浏览(23)
  • 第十节 挂载NFS 网络文件系统

    本章节将介绍如何挂载NFS 网络文件系统,为后面的主机编译生成的ARM Linux 应用传输到开发板做准备。 网络文件系统,常被称为NFS(Network File System),它是一种非常便捷的在服务器与客户端通过网络共享文件的方式,具体见下图。 开启了NFS 服务后,客户端访问服务器共享的

    2024年02月08日
    浏览(32)
  • linux-NFS远程挂载

    NFS是一种基于TCP/IP 传输的网络文件系统协议。通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NAS存储: NFS服务的实现依赖于RPC (Remote Process Call,远端过程调用)机制,以完成远程到本地的映射过程。 在Centos 7系统中,需要安装nfs-utils、 rpcbind 软

    2024年02月08日
    浏览(27)
  • [linux]mount与nfs挂载简介

    mount用于挂载设备: 挂载分区: mount /dev/sdb1 /data ; 文件夹间: mount --bind /ori /data ;data文件将被ori中遮盖。 mount用于挂载Linux系统下的分区或文件: mount [-fv] [-t vfstype] [-o options] device {mounted-dir} f:并不执行实际挂上的动作,而是模拟整个挂上的过程(常用于排错);一般与

    2024年02月03日
    浏览(37)
  • 服务器(linux)磁盘挂载nfs

    笔者项目中此前有这么个需求,需要支持文件进行预览,文件的存储位置都在后端服务器上,想要支持预览是比较困难的(若是在前端服务器上则比较方便),因为无法做到跨服务器之间的静态文件预览,然后解决这个问题的思路就设定在了将后端服务器的文件所在位置挂载

    2024年02月04日
    浏览(36)
  • Linux和Windows实现挂载NFS

    以下是标准的步骤来在Windows上挂载NFS共享: 启用NFS客户端 : 在Windows功能中,确保“Services for NFS”或“NFS 客户端”(名称可能根据Windows版本有所不同)已经被安装。 挂载NFS共享 : 使用 mount 命令来挂载共享。这是一个简化的命令结构: 所以,根据上面结构举出如下例子: 这

    2024年02月03日
    浏览(33)
  • 存储卷(数据卷)—主要是nfs方式挂载

    容器内的目录和宿主机的目录进行挂载 容器在系统上的生命周期是短暂的,一旦容器被删除,数据会丢失。k8s基于控制器创建的pod,delete相当于重启,容器的状态会恢复到原始状态。一旦回到原始状态,后天编辑的文件都会消失,所以容器和节点之间要创建一个持久化保存容

    2024年02月02日
    浏览(35)
  • openwrt 挂载硬盘NFS共享,非SMB共享

    问题背景:给软路由添加文件共享服务,多设备可用,samba插件装不上,又看到NFS性能更好,便研究了下怎么设置。由于网上相关资料参差不齐,在设置过程中也是十分困难,故写一篇博客记录一下,帮助下有相同困扰的朋友。 详细步骤: 1.首先将硬盘格式化为ext4格式,可以

    2024年02月06日
    浏览(88)
  • CentOS 上通过 NFS 挂载远程服务器硬盘

    NFS(Network File System)是一种用于在不同的计算机系统之间共享文件和目录的协议。它允许一个计算机系统将其文件系统的一部分或全部内容暴露给其他计算机系统,使其能够像访问本地文件一样访问这些内容。在这篇博客中,我们将介绍如何在 CentOS 系统上通过 NFS 挂载远程

    2024年02月11日
    浏览(34)
  • 在linux中挂载NFS共享盘的方法

    在 Linux 中,你可以使用 mount 命令来挂载 NFS(Network File System)共享盘。以下是挂载 NFS 共享盘的一般步骤: 确保已经安装 NFS 客户端:首先,你需要确保在你的 Linux 系统上已经安装了 NFS 客户端工具。大多数 Linux 发行版都默认安装了这些工具,但是如果你的系统没有安装,你

    2024年02月09日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包