NFS文件服务器的使用方法

 更新时间:2024年11月22日 11:40:55   作者:苓诣  
本文介绍了NFS的工作原理及其在项目中的应用,特别是在Kubernetes(k8s)环境中的使用,通过部署NFS服务器和客户端,可以在不同节点之间实现文件和数据的共享,具体步骤包括安装NFS软件包、配置共享目录、创建挂载点以及挂载共享目录,感兴趣的朋友跟随小编一起看看吧

持久化存储:NFS

1 NFS 工作原理

  • NFS(Network File System)是一种分布式文件系统协议,它允许用户在网络上通过一个网络共享访问文件,就如同访问本地存储一样。
  • NFS 工作时,服务端将文件系统中的一个或多个目录“导出”,使得客户端可以“挂载”这些目录到客户端本地的文件系统树中。一旦挂载,用户和应用程序就可以访问这些目录中的文件,就像访问本地文件一样。

2 在项目中的使用场景

  • 如果待传输数据存储在k8s工作节点的文件系统:在 Broker 部署一个 NFS 服务器,工作节点(如果有传输数据的需求)可以作为 NFS 客户端挂载到 NFS 服务器,进而通过共享目录进行文件/数据传输。
  • 如果待传输数据存储在Pods的文件系统:利用 k8s 持久卷在 Pod 上部署 NFS 客户端,当 Pod 有传输数据的需求时挂载到 NFS 服务器,进而通过共享目录进行文件/数据传输。

3 目前完成

上述的场景一:在 Broker 中部署 NFS 服务器,Pve2 的 master 节点部署 NFS 客户端并挂载到 NFS 服务器上,实现Broker和 Pve2 的 master 节点 可进行某个目录的数据共享。具体步骤:

3.1 在 Broker 部署 NFS 服务器

1. 安装 NFS 软件包

sudo apt update
sudo apt install nfs-kernel-server

2. 配置共享数据目录

创建一个目录来存放共享数据,例如 /var/nfs/general(这个目录可以根据需要进行更改):

sudo mkdir -p /var/nfs/general
sudo chown nobody:nogroup /var/nfs/general

编辑/etc/exports 文件,配置 NFS 服务器数据导出目录及访问 NFS 服务器的客户端机器权限:

/var/nfs/general *(rw,sync,no_subtree_check)

* 代表 ,客户端网段无限制,均可以挂载到服务器。

也可设置网段,比如:

/var/nfs/general 172.100.0.0/24(rw,sync,no_subtree_check)

应用配置:

sudo exportfs -ra

[!NOTE]

检查 NFS 状态以及配置 NFS 相关的命令:

修改完 /etc/exports 文件后,重新导出共享:
sudo exportfs -arv
sudo systemctl restart nfs-server
检查 NFS 服务状态
sudo systemctl status nfs-server
设置 NFS 服务器在系统启动时自动运行
sudo systemctl enable nfs-kernel-server
查看导出(共享)目录
sudo exportfs -v

image-20241121222535844

3.2 在 Pve2 的 master 部署 NFS 客户端

1. 创建挂载点

sudo mkdir /mnt/nfs

2. 安装 NFS 软件包

sudo apt update
sudo apt install nfs-kernel-server

3. 挂载 NFS 共享目录

sudo mount -t nfs 172.100.0.109:/var/nfs/general /mnt/nfs
sudo mount -o rw -t nfs 172.100.0.109:/var/nfs/pvc /mnt/nfs-pvc

4. 检查挂载状态

使用 df -h 命令查看文件系统的挂载情况和磁盘空间使用情况。这个命令会列出所有挂载的文件系统及其大小、已用空间、可用空间、使用百分比和挂载点。

df -h

image-20241121222556959

​ 至此,broker 的 /var/nfs/general 和 pve2 的 master 的 /mnt/nfs 目录共享,不管谁创建/删除/添加文件都会保持同步。

参考链接:
Kubernetes 持久化存储之 NFS

到此这篇关于NFS文件服务器的文章就介绍到这了,更多相关NFS文件服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Web服务器和应用服务器之间的区别详解

    Web服务器和应用服务器之间的区别详解

    这篇文章主要介绍了Web服务器和应用服务器之间的区别详解,应用服务器是为客户端提供对业务逻辑的访问这种服务器,根据客户端的请求会将数据转化为动态内容,一般还需要数据库的支持,应用服务器的搭建很多时候依赖于应用程序的开发语言,需要的朋友可以参考下
    2023-07-07
  • Hadoop中namenode和secondarynamenode工作机制讲解

    Hadoop中namenode和secondarynamenode工作机制讲解

    今天小编就为大家分享一篇关于Hadoop中namenode和secondarynamenode工作机制讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Python和c++代码实现高性能异构分布式并行互联系统

    Python和c++代码实现高性能异构分布式并行互联系统

    这篇文章主要介绍了Python和c++代码实现高性能异构分布式并行互联系统,包含通信模块、任务调度模块、数据管理模块、负载均衡模块、故障容错模块、性能优化模块、日志与监控模块,需要的朋友可以参考下
    2024-08-08
  • 基于Tcl语言配置简单网络环境过程解析

    基于Tcl语言配置简单网络环境过程解析

    这篇文章主要介绍了基于Tcl语言配置简单网络环境过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • HP ILO2 使用详细教程[图文]

    HP ILO2 使用详细教程[图文]

    iLO是Intergrated Light-Out的缩写,是惠普特有的远程管理功能,目前最新的版本是iLO2。通过iLO2可以实现硬件级别的服务器远程管理,包括开关机、重启、服务器状态的监控、虚拟KVM等
    2013-02-02
  • Apache Pulsar结合Hudi构建Lakehouse方案分析

    Apache Pulsar结合Hudi构建Lakehouse方案分析

    这篇文章主要为大家分析了Apache Pulsar结合Hudi构建Lakehouse方案,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • 配置Memcache服务器并实现主从复制功能(repcached)

    配置Memcache服务器并实现主从复制功能(repcached)

    repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master坏掉, slave侦测到连接断了,它会自动 listen而成为 master
    2012-03-03
  • git修改和删除功能_动力节点Java学院整理

    git修改和删除功能_动力节点Java学院整理

    这篇文章主要介绍了git修改和删除功能,需要的朋友可以参考下
    2017-08-08
  • Linux下Web网站压力测试工具Webbench使用教程

    Linux下Web网站压力测试工具Webbench使用教程

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。
    2014-11-11
  • 将 PFX,JKS 证书转换为 PEM 格式方法

    将 PFX,JKS 证书转换为 PEM 格式方法

    这篇文章主要介绍了将 PFX,JKS 证书转换为 PEM 格式方法,需要的朋友可以参考下
    2024-01-01

最新评论