openEuler NFS多路径

2024-01-04 15:36
文章标签 nfs openeuler 多路径

本文主要是介绍openEuler NFS多路径,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

网络文件系统 (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个。

这篇关于openEuler NFS多路径的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/569782

相关文章

开发板NFS挂载文件目录

文章目录 序NFS1. 安装 NFS 服务器和客户端在服务器上(NFS 服务器端)在客户端上(NFS 客户端) 2. 配置 NFS 服务器创建共享目录编辑 `/etc/exports` 文件启动 NFS 服务 3. 在客户端挂载 NFS 共享创建挂载点挂载 NFS 共享验证挂载 4. 设置开机自动挂载5. 解决权限问题 序 本节主要实现虚拟机(服务器)与开发板(客户端)通过N

k8s 存储(PV、PVC、SC、本地存储、NFS)

存储持久化相关三个概念: PersistentVolume (PV) 是对具体存储资源的描述,比如NFS、Ceph、GlusterFS等,通过PV可以访问到具体的存储资源;PersistentVolumeClaim (PVC) Pod想要使用具体的存储资源需要对接到PVC,PVC里会定义好Pod希望使用存储的属性,通过PVC再去申请合适的存储资源(PV),匹配到合适的资源后PVC和PV会进行绑定

红帽RHEL8 多路径配置详解

本文为云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 引言 在现代数据中心中,为了提高存储系统的可靠性和性能,多路径技术成为了一种重要的解决方案。多路径技术允许多条物理路径同时连接到同一个存储设备,从而提高了系统的可用性和I/O性能。本文将详细介绍如何在Linux系统中配置多路径技术,包括多路径的基本原理、配置步骤以及常见问题的解决方法。

linux 系统如何进行nfs(第五节)

网上的截图: 自己的操作: 首先是 在虚拟机中的操作。 然后是在开发板上的操作。   已经是没有问题了。 报错: 解决: 需要在 板卡上在安装一个 nfs 的客户端。 可以看到已经可以进行试验了。

Linux入门攻坚——31、rpc概念及nfs和samba

NFS:Network File System     传统意义上,文件系统在内核中实现 RPC:函数调用(远程主机上的函数),Remote Procedure Call protocol     一部分功能由本地程序完成     另一部分功能由远程主机上的 NFS本质上是一种RPC的实现。 本地用户进程要使用文件系统,通过系统调用,由内核完成文件系统的操作,而NFS只不过是系统内核又通过RP

服务器搭建NFS服务,将文挂载到windows

【背景】:本地开发写代码,修改文件后需要经常重复同步,非常麻烦,于是思考搭建一个NFS服务,可以实现在windows上自由操作服务器上的代码,提高开发效率。 1.在Linux服务器上安装并配置NFS 安装NFS服务器: sudo yum updatesudo yum install nfs-utilssystemctl start nfs-server# 开启自启动systemctl

【Linux】Ubuntu 安装 NFS 步骤详解

Ubuntu 安装 NFS 步骤详解 1.安装 NFS 服务2.配置 NFS 服务3.启用 NFS 服务4.客户端挂载 NFS 共享目录5.验证挂载是否成功6.持久化挂载(可选)7.其他客户端节点安装 NFS(Network File System)是一种允许不同主机之间通过网络共享文件系统的协议。以下是详细的在 Ubuntu 上安装和配置 NFS 共享目录的方法,并附带示例。

(4)NFS文件系统(共享)

(4)NFS文件系统(共享) 查看当前NFS软件的安装情况: rpm -aq nfs-utils portmap rcpbind  (portmap 为centos5.x     rpcbind 为centos6.x) 没有的话,安装: yum install nfs-utils rpcbind -y yum groupinstall “NFS file server” -y

【QNX+Android虚拟化方案】107 - QNX NFS Server + Android NFS Client 完整配置

【QNX+Android虚拟化方案】107 - QNX NFS Server + Android NFS Client 完整配置 一、QNX 侧 NFS Server 修改:ip 为 192.168.1.21.1 配置拷贝 nfsd、rpcbind 到 /mnt 目录下1.2 配置 exports1.3 为NFS 共享目录挂载镜像1.4 修 startup.sh 开机自启动 nfsd Ser

NFS服务器和VSFTP服务器的配置

下面以Ubuntu10.04为例记录一下NFS服务器和VSFTP服务器的配置   一:NFS服务器的配置和使用      1 vi /etc/exports打开NFS的配置文件,yy拷贝这样一行 #/srv/homes    hostname1(rw,sync,no_subtree_check),然后粘贴到另外一行,去掉注释#,并将/前面的所有空格全部去掉,否则会