openEuler NFS多路径

2024-01-04

简介

网络文件系统 (NFS) 是一种分布式文件系统协议,最初由 Sun Microsystems (Sun) 于 1984 年开发,允许NFS客户端上的用户通过计算机网络访问NFS服务端上文件。随着NFS服务广泛应用于金融、EDA、AI、容器等行业,对NFS的性能和可靠性提出了更高的诉求。传统NFS存在以下缺点:

  • 单个主机上的单个挂载点只能通过一个客户端IP和一个服务端IP进行访问,在客户端和服务端之间存在多条物理链路时,无法发挥多条链路的性能。
  • 由于单个挂载点单条链路的缺陷,单挂载点下的单条链路故障后,无法进行链路切换,导致主机业务中断。

NFS多路径的诞生主要解决上述传统NFS在使用过程中遇到的缺陷,提出单个挂载点下客户端和服务端之间建立多条链路,支持IO在多条链路中进行传输,进而提升单个挂载点性能,同时周期性检测链路状态信息,支持链路故障IO快速切换。

NFS多路径具有以下功能:

  • NFSv3支持Round Robin链路选路算法,实现多条链路性能均衡。
  • NFSv3和NFSv4支持链路故障快速切换,提升NFS可靠性。
  • 提供链路选路算法注册接口,支持NFS服务端开发者自定义选路算法。
  • 支持周期性链路可用性检测。
  • 支持查看链路状态。

安装与部署

软件要求

  • 操作系统:openEuler 23.03

硬件要求

  • x86_64架构
  • ARM架构

环境准备

  • 安装openEuler系统,安装方法参考 《 openEuler 23.03 安装指南 》。

安装NFS多路径

# 插入NFS多路径KO。
[root@openEuler ~]# modprobe nfs_multipath

# 查看NFS多路径KO,回显中有nfs_multipath则表示安装成功。
[root@openEuler ~]# lsmod | grep nfs_multipath
nfs_multipath          36864  1
nfs                   544768  3 nfs_multipath,nfsv3
sunrpc                704512  30 nfs_multipath,lockd,nfsv3,nfs_acl,nfs

使用方法

使用多路径参数挂载

执行如下命令挂载多路径:

mount -t nfs -o localaddrs=1.1.1.1~2.2.2.2,remoteaddrs=1.1.1.10~2.2.2.10 1.1.1.10:/test /mnt/fs1

新增可选参数localaddrs和remoteaddrs用于指定多路径:

  • localaddrs表示客户端IP地址;
  • remoteaddrs表示服务端IP地址;
  • IP地址支持网段或者多个IP地址,网段使用"-",多个IP地址使用"~"。

例如:remoteaddrs=1.1.1.1-1.1.1.3表示指定3个服务端地址,分别为1.1.1.1, 1.1.1.2, 1.1.1.3; localaddrs=1.1.1.1~1.1.1.3表示指定2个客户端地址,分别为1.1.1.1, 1.1.1.3。

localaddrs和remoteaddrs均为可选参数,可指定其中的任意一个参数或者两个参数都指定,若都不指定,则未使能多路径功能。

多路径信息查询

  1. 执行如下命令查询多路径信息。
# cat /proc/fs/nfs/mutipath/conn_info
===============================Id:4 count 5 proto 3 start========================
index:0, client_ip:1.1.1.1, server_ip:1.1.1.10, status:connect, load:3
index:1, client_ip:1.1.1.1, server_ip:1.1.1.11, status:connect, load:3
index:2, client_ip:1.1.1.1, server_ip:1.1.1.12, status:connect, load:3
index:3, client_ip:1.1.1.1, server_ip:1.1.1.13, status:disconnect, load:0
index:4, client_ip:1.1.1.1, server_ip:1.1.1.14, status:disconnect, load:0
=========================================Id:4 end================================
  1. 回显信息解释。
  • status表示该条链路连接状态,connect表示连接可用,disconnect表示连接不可用。
  • load表示在该条链路上发送的NFS请求数量。

注意事项

  • 客户端或者服务端IP地址最多支持8个IP地址,指定超过8个IP地址无法挂载。
  • 最多支持8条多路径链路。

常见问题与解决方法

问题1:指定NFS多路径挂载失败,lsmod无法查询到多路径KO

报错信息:

  1. 挂载时报错如下:
    mount.nfs: an incorrect mount option was specified
    
  2. 执行 lsmod | grep nfs_multipath 无法查询到多路径KO。

可能原因:未安装NFS多路径。

解决方法:参考《 安装与部署 》章节安装NFS多路径。

问题2:指定NFS多路径挂载失败

报错信息:

  1. 挂载时报错如下:
    mount.nfs: an incorrect mount option was specified
    
  2. /var/log/messages 日志报错如下:
    Mar 18 23:38:22 localhost kernel: [  635.016793] [MULTIPATH:nfs_multipath_parse_ip_range] iplist for remote reached 8, more than supported limit 8
    

可能原因:挂载时指定IP地址个数超过8个。

解决方法:NFS挂载时,指定IP地址个数小于等于8个。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openEuler NFS多路径 的相关文章

  • mount.nfs报错

    mount nfs requested NFS version or transport protocol is not supported 今天在挂载nfs时遇到mount nfs requested NFS version or tra
  • 8、docker+k8s+kubesphere:nfs安装(2020-08-02更新)

    8 docker 43 k8s 43 kubesphere nfs安装 server端安装在node151 yum y span class token function install span nfs utils rpcbind 配置文
  • 2021 => 手把手教你NFS部署(实用)

    NFS服务 原理 xff1a 供文件共享服务 为Web Server 配置集群中的后端存储 支持多节点同时挂载以及并发送与写入 架构解析 这是一张大型网站高并发架构图 xff0c 我们只需注意图中圈红的地方 建立NFS文件系统本质就是用来进
  • HaneWIN (windows上的NFS服务器)使用说明

    使用说明 HaneWIN官网 xff1a https hanewin net nfs e htm比较好用的版本下载地址 xff1a https download csdn net download fword 85908535使用说明 xf
  • ubuntu nfs服务器设置-调试成功

    转载地址 xff1a http www cnblogs com doctorqbw archive 2012 02 03 2337411 html 1 安装nfs服务 xff0c apt get install nfs common nfs
  • ubuntu下关于ssh远程和scp远程复制文件以及nfs搭建

    SSH远程 在Linux系统中 xff0c 通过客户端连接到远程服务器中 xff0c 方便代码地编写运行 xff0c ssh是一种安全协议 xff0c 主要用于给远程登录信息数据进行加密 1 安装ssh 2 启动ssh 3 创建要发送的文件
  • 【ubuntu】nfs服务搭建

    一 开篇 在嵌入式linux开发过程中 由于目标平台的资源限制 开发环境一般都不会放到目标板卡上 需要放在开发宿主机上 如果需要宿主机与目标板卡之间进行文件传输 该怎么办呢 这时候nfs就派生用场了 nfs Network File Sys
  • [云原生专题-37]:K8S - 核心概念 - 存储抽象- 搭建NFS网络文件系统与常见操作命令

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122828322 目录 第1步 NFS
  • 使用nfs实现目录共享

    准备两台虚拟机 其中一台为主端 另一台为备用端 1 安装nfs及其依赖包 两台虚拟机都要安装 yum install y nfs utils rpcbind id nobody 查看nfsnobody用户是否存在 systemctl sta
  • K8S部署NFS动态供给+PVC动态挂载示例

    文章目录 1 安装nfs客户端 2 部署nfs client provisioner插件 2 1 配置授权 RBAC 2 2 Deployment 2 3 创建StorageClass 3 使用示例 3 1 Deployment RWO 3
  • automount挂载文件系统

    Automount是自动挂载NFS的一种方法 所谓自动挂载 就是让客户端自动触发mount命令把NFS文件系统挂载到本机的挂载点而不需要人工操作 这将给系统管理员节省大量的工作 特别是在大规模集群中 当客户端和NFS数量都比较少的时候 最简
  • ubuntu配置nfs踩过的坑

    关于nfs在ubuntu的配置 网上有很多 基本都可以用 可以随意参考 本文只给出关于使用nfs常见的bug进行排故 问题一 mount nfs requested NFS version or transport protocol is
  • linux中使用nfs共享文件

    NFS需要使用远程过程调用 RPC 也就是说 我们并不是只要启动NFS 还需要启动RPC这个服务 服务器端 CentOS 7 4 ip 172 16 0 1 共享 tmp目录 共享 data目录给172 16 0 2 安装nfs yum i
  • 【Ubuntu】使用grub2挂载NFS根文件系统(rootfs)

    经常调试arm开发板的同学应该比较熟悉uboot 它可以使用tftp自动下载内核并通过nfs挂载rootfs 其实 作为x86平台常见的bootloader grub也可以做到通过nfs挂载rootfs 安装grub2 目前新版的ubunt
  • 这个规范的集群示例是如何工作的?

    当必须通过文件系统同步程序 shell脚本 时 我发现了一种flock基于的解决方案是受到推崇的 也应该工作on NFS 在脚本中使用的规范示例 来自http linux die net man 1 flock is flock s 200
  • 无法写入通过 NFS 连接的 FIFO 文件

    我正在尝试写入位于 NFS 安装上的 FIFO 文件 但它会阻塞 可能是什么问题呢 我的 etc export tmp test 10 0 0 0 24 rw no root squash async NFS 服务器和客户端上的 ls tm
  • 提高 git status 性能的方法

    我在一台位于 NFS 上的 Linux 机器上有一个 10 GB 的存储库 第一次git status需要 36 分钟及后续时间git status需要 8 分钟 看来 Git 依赖于操作系统来缓存文件 只有第一个git命令如commit
  • PersistentVolumeClaim 未绑定:“nfs-pv-provisioning-demo”

    我正在仅使用一个节点建立一个 kubernetes 实验室并学习设置 kubernetes nfs 我从以下链接逐步遵循 kubernetes nfs 示例 https github com kubernetes examples tree
  • 如何使用 NFS 卷在 Kubernetes 上部署 Postgresql

    我使用以下清单在 NFS 持久卷内的 kubernetes 上部署 postgresql apiVersion v1 kind PersistentVolume metadata name nfs2 spec capacity storag
  • Kubernetes,无法通过 DNS 挂载 NFS 共享

    我正在尝试通过 DNS 查找在我的容器中安装 NFS 共享 k8s 集群外部 我的配置如下 apiVersion v1 kind Pod metadata name service a spec containers name servic

随机推荐

  • String.format()方法

    Java中的String format 方法是用于格式化字符串的方法 它允许我们将一个字符串格式化为特定的格式 并将它们插入到另一个字符串中 String format 方法的语法如下 String format String format
  • <sa8650>sa8650 CDT-之-汽车CDT配置用户指南(下)

    sa8650 sa8650 CDT 之 汽车CDT配置用户指南 下 3 设备树 3 1 匹配CDT与DTS 3 2 修改CDT信息 以选择不同的设备树 4 CDT的使用 4 1 CDT在TZ中的使用 4 2 CDT在主机中的使用 QNX
  • 代码随想录算法训练营第55天|● 392.判断子序列 ● 115.不同的子序列

    392 判断子序列 已解答 简单 相关标签 相关企业 给定字符串 s 和 t 判断 s 是否为 t 的子序列 字符串的一个子序列是原始字符串删除一些 也可以不删除 字符而不改变剩余字符相对位置形成的新字符串 例如 ace 是 abcde 的
  • Css中默认与继承

    initial默认样式 initial 用于设置 Css 属性为默认值 h1 color initial 如 display 或 position 不能被设置为 initial 因为有默认属性 例如 display inline inher
  • Pendulum详解1——Pendulum库入门指南 - 时光的艺术

    写在开头 时间 是编程世界中不可或缺的元素 无论是事件调度 数据分析 还是用户界面的显示 时间都扮演着关键的角色 然而 在Python的标准库 datetime 中 我们经常面临繁琐的操作和限制 为了摆脱这些束缚 我们引入了一个更加强大和灵
  • WiFi7: MLO之概述

    原文 MLO允许non AP 和AP之间发现 认证 关联 建立1个或者多个Link 每个link独立的信道访问和帧交换 每个link的能力通过关联协商 AP必须设置dot11MultiLinkActivated为真 必须附属于MLD MLD
  • Parade Series - Store

    Split Comma DROP TABLE IF EXISTS tmp keyword dev filter CREATE TEMPORARY TABLE IF NOT EXISTS tmp keyword dev filter toke
  • 雪球股票数据接口

    目录儿 雪球 K线接口 K线对象属性 雪球 K线接口 https stock xueqiu com v5 stock chart kline json symbol SZ300396 begin 1664553600000 period d
  • 基于SpringBoot的足球青训俱乐部

    文章目录 项目介绍 主要功能截图 部分代码展示 设计总结 项目获取方式 作者主页 超级无敌暴龙战士塔塔开 简介 Java领域优质创作者 简历模板 学习资料 面试题库 关注我 都给你 文末获取源码联系 项目介绍 基于SpringBoot的足球
  • linux 定时任务crontab编写

    使用命令 crontab e 0 0 sh opt maxwellToMysql create data log sh 编写完保存
  • element ui backTop源码解析-逐行逐析

    backTop 回到顶部 组件简介 基础概念 返回页面顶部的操作按钮 代码
  • (vue)el-popover鼠标移入提示效果

    vue el popover鼠标移入提示效果 效果 代码
  • Cannot locate tasks that match ‘:shared:testClasses‘ as task ‘testClasses‘ not found in project

    问题 在使用Gradle构建项目时 遇见了一个奇怪的问题 运行报错如下 Cannot locate tasks that match shared testClasses as task testClasses not found in p
  • Multipath多路径管理基础介绍与安装配置使用

    0x00 前言简述 Q 什么是Multipath多路径 答 Multipath I O 电脑储存技术 指利用两个以上的路径同时在CPU与储存设备之间传送讯号 以达到侦错与强化效能的目的 简单的说当 服务器 到某一存储设备有多条路径时 每条路
  • @AutoConfigurationPackage,@ComponentScan注解,bean的注册

    一 AutoConfigurationPackage ComponentScan注解 二 spring加载流程之ConfigurationClassPostProcessor 三 判断是否是配置类 四 扫描配置类 五 注册bean
  • 天翼运行高校云盘在线扩容

    天翼云文档地址 https www ctyun cn document 10027696 10169558 1 输入 growpart命令 检查此云主机是否已安装growpart扩容工具 若出现图中回显信息 则说明已经安装 无需手动安装 注
  • 说说Java对象创建过程

    Java对象创建过程主要包括以下几个步骤 分配内存 Java虚拟机 JVM 为新对象分配内存 这通常涉及到在堆内存中分配一块足够大的空间来存储对象 构造函数调用 在分配内存后 Java对象的构造函数被调用 这是Java对象的一个特殊方法 它
  • 任意版本JLink驱动官方下载详解

    任意版本JLink驱动官方下载详解 csdn song123 于 2023 09 21 09 19 07 发布 阅读量1 5k 收藏 3
  • 看这里!分享3个有关iPhone照片恢复的好用方法!

    手机照片可以记录下我们所经历的点点滴滴 为我们留下宝贵的生活记忆 因此 我们应该珍惜并妥善保管这些照片 但在使用手机的过程中难免会发生意外 手机照片丢失了怎么办 别着急 今天 小编将为大家介绍有关iPhone照片恢复的3种简单方法 有需要的
  • openEuler NFS多路径

    简介 网络文件系统 NFS 是一种分布式文件系统协议 最初由 Sun Microsystems Sun 于 1984 年开发 允许NFS客户端上的用户通过计算机网络访问NFS服务端上文件 随着NFS服务广泛应用于金融 EDA AI 容器等行