当前位置: 首页 > news >正文

搭建CNFS文件系统

1.概念:

  • CNFS (Cluster Network File System)是 GPFS 中的一种模式,用于配置和管理多台服务器(节点)之间的文件共享和数据访问

  • 它允许多个节点同时访问和共享文件系统的数据,以实现高性能、高可用性的存储解决方案

2.创建CNFS文件系统:

  • 将原本的GPFS文件系统修改为cnfs文件系统:

    [root@node1 ~]# mmchfs gpfs1 -o syncnfs
    mmchfs: Propagating the cluster configuration data to allaffected nodes.  This is an asynchronous process.

  • 修改配置文件/etc/exports(这是nfs服务器的配置文件),

    #|   共享目录     |  主机名        (权限)|
    /usr/qv123/nfsdata  192.168.73.0/24(rw)
    man exports    # 查看所有参数
    权限参数值说明
    rw/rorw:可读写,ro:只读,还是与文件系统的rwx有关
    sync/asyncsync:数据会同步写入到内存与硬盘中,async:则代表数据会先暂存于内存当中
    no_root_squash/root_squashno_root_squash表示就显示root用户和root组;root_squash表示将root用户和组映射为匿名用户和组(默认设置)。
    all_squash/no_all_squashallsquash:客户端所有用户创建文件时,客户端会将文件的用户和组映射为匿名用户和组no_all_squash:客户端普通用户创建的文件的UID和GID是多少,服务端就显示为多少(默认设置)
    anonuid=anongid=将文件的用户和组映射为指定的UID和GID,若不指定默认为65534(nfsnobody)
    [root@node1 ~]# cat << eof > /etc/exports
    /gpfs1/nfs 192.168.10.0/24(rw,fsid=11)
    eof
    [root@node2 ~]# cat << eof > /etc/exports
    /gpfs1/nfs 192.168.10.0/24(rw,fsid=11)
    eof

  • 使配置生效

    [root@node1 ~]# exportfs -r
    [root@node1 ~]# exportfs -r

  • 在每个服务端上面设置nfsd自动启动

    [root@node1 ~]# systemctl enable nfs-server
    Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
    [root@node2 ~]# systemctl enable nfs-server
    Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

  • 指定 CNFS 服务器的共享根目录,最好是一个单独小的文件系统且不被NFS共享出去

    [root@node1 ~]# mmchconfig cnfsSharedRoot=/gpfs1/cnfs
    mmchconfig: Command successfully completed
    mmchconfig: Propagating the cluster configuration data to allaffected nodes.  This is an asynchronous process.

  • 指定 CNFS(Cluster Network File System)服务器节点上用于 CNFS 服务的网络接口

    ip_address_list为上面配置的专用于NFS的ip,node为这个节点在GPFS里面的主机名;CNFS 允许多个 Spectrum Scale 节点通过 RDMA(远程直接内存访问)协议来访问共享数据。

    [root@node1 ~]# mmchnode --cnfs-interface=192.168.10.151 -N node1
    Wed Sep 27 05:24:58 EDT 2023: mmchnode: Processing node node1
    mmnfsinstall: CNFS has modified configuration file /etc/sysconfig/network-scripts/ifcfg-ens38.
    Restarting monitor 
    mmchnode: Propagating the cluster configuration data to allaffected nodes.  This is an asynchronous process.
    [root@node2 ~]# mmchnode --cnfs-interface=192.168.10.152 -N node2
    Wed Sep 27 05:33:53 EDT 2023: mmchnode: Processing node node2
    mmnfsinstall: CNFS has modified configuration file /etc/sysconfig/network-scripts/ifcfg-ens38.
    Restarting monitor 
    mmchnode: Propagating the cluster configuration data to allaffected nodes.  This is an asynchronous process.

  • 指定 CNFS服务器上的 mountd 服务监听的端口号

    [root@node1 ~]# mmchconfig cnfsMountdPort=3000 -N node1
    mmchconfig: Command successfully completed
    mmchconfig: Propagating the cluster configuration data to allaffected nodes.  This is an asynchronous process.
    [root@node2 ~]# mmchconfig cnfsMountdPort=3000 -N node2
    mmchconfig: Command successfully completed
    mmchconfig: Propagating the cluster configuration data to allaffected nodes.  This is an asynchronous process.

  • 查看集群里的CNFS节点:

    [root@node1 ~]# mmlscluster --cnfs
    ​
    GPFS cluster information
    ========================GPFS cluster name:         gpfs.node1GPFS cluster id:           1484988891362745278
    ​
    Cluster NFS global parameters
    -----------------------------Shared root directory:                /gpfs1/cnfsrpc.mountd port number:               3000nfsd threads:                         32Reboot on failure enabled:            yesCNFS monitor enabled:                 yes
    ​Node  Daemon node name            IP address       CNFS state  group  CNFS IP address list
    -------------------------------------------------------------------------------------------1   node1                       192.168.10.101   enabled        0   192.168.10.1512   node2                       192.168.10.102   enabled        0   192.168.10.152

  • 测试是否存在共享目录:

    [root@node1 ~]# showmount -e 192.168.10.151
    Export list for 192.168.10.151:
    /gpfs1/nfs 192.168.10.0/24

3.客户端挂载:

  • 方式一:临时挂载

    • 安装nfs-utils

      [root@gpfs-client ~]# yum install  -y nfs-utils

    • 查看是否可以连接上共享目录:

      [root@gpfs-client ~]# showmount -e 192.168.10.151
      Export list for 192.168.10.151:
      /gpfs1/nfs 192.168.10.0/24
      [root@gpfs-client ~]# showmount -e 192.168.10.152
      Export list for 192.168.10.152:
      /gpfs1/nfs 192.168.10.0/24

    • 创建挂载目录,挂载目录或解挂载目录

      [root@gpfs-client ~]# mount -o sync,hard,intr 192.168.10.151:/gpfs1/nfs /mnt/nfs

    • 查看挂载:

      [root@gpfs-client ~]# df -h | grep nfs
      192.168.10.151:/gpfs1/nfs   20G  3.7G   17G  19% /mnt/nfs

  • 方式二:自动挂载

    • 安装autofs:

      yum install -y autofs

    • 配置文件:

      autofs.conf:针对服务autofs的配置
      timeout = 300,               # 
      dismount_interval = 300      # 挂载超时时间
      auto.master:是针对目录对应的挂载配置文件
      /misc这个目录自动挂载的信息autofs在 /etc/auto.misc中
      配置语法: 目录   自动挂载配置文件的目录
      auto.xxx:具体的挂载的信息
      cd              -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
      挂载的目录  挂载的选项    :要挂载的设备
      boot      -fstype=ext2   :/dev/hda1

    • 修改配置文件:

      cat << eof > /etc/auto.master
      /mnt   /etc/auto.nfs
      eof
      cat << eof > /etc/auto.nfs
      # 添加内容
      #本地端子目录 -挂载参数  服务器所提供的目录 
      nfs 192.168.10.151:/gpfs1/nfs
      eof
      参数参数功能
      fgbg当执行挂载时,该挂载行为会在前台(fg)还是后台(bg)执行,若在前台执行,则mount会持续尝试挂载,直到成功或time out为止;若为后台执行,则mount会在后台持续多次进行mount,而不会影响到前台的程序运行。
      softhardhard表示当两者之间的任何一台主机脱机,则RPC会持续地呼叫,直到对方恢复连接为止。如果是soft的话,那RPC会在time out后重复呼叫,而非持续呼叫
      intr当使用上面提到的hard方式挂载时,若加上intr这个参数,则当RPC持续呼叫时,该次的呼叫是可以被中断的
      rsizewsize读出(rsize)与写入(wsize)的区块大小。这个设置值可以影响客户端与服务器端传输数据的缓冲记忆容量
    • 重启autofs服务

      systemctl restart autofs

    • 查看挂载信息:

      mount | grep /nfs

    • 触发自动挂载,进入到子目录中触发,退出挂载目录一定时间后触发解挂载:

      cd /mnt/nfs   

3.删除cnfs节点:

mmchnode --cnfs-interface=DELETE -N "node1,node2"

相关文章:

搭建CNFS文件系统

1.概念&#xff1a; CNFS &#xff08;Cluster Network File System&#xff09;是 GPFS 中的一种模式&#xff0c;用于配置和管理多台服务器&#xff08;节点&#xff09;之间的文件共享和数据访问 它允许多个节点同时访问和共享文件系统的数据&#xff0c;以实现高性能、高可…...

网络工程师知识点7

111、IS-IS路由器的三种类型&#xff1f; Level-1路由器&#xff08;只能创建level-1的LSDB&#xff09; Level-2路由器&#xff08;只能创建level-2的LSDB&#xff09; Level-1-2路由器&#xff08;路由器默认的类型&#xff0c;能同时创建level-1和level-2的LSDB&#xff09;…...

C++ 八股文:类析构

继承层次中&#xff0c;为什么基类析构函数是虚函数&#xff1f; 在继承层次中&#xff0c;将基类的析构函数声明为虚函数的主要原因是为了支持多态和安全的资源释放。以下是为什么基类的析构函数通常应该是虚函数的原因&#xff1a; 多态析构&#xff1a; 当使用基类指针&a…...

第三章 内存管理 八、两级页表

目录 一、定义 二、如何实现地址变换 三、注意 四、总结 一、定义 二级页表是一种分层的虚拟内存管理机制。在二级页表中&#xff0c;虚拟地址被分成两个层次&#xff0c;第一层是页目录&#xff0c;第二层是页表。通过这种方式&#xff0c;二级页表可以管理更大的虚拟内存…...

新时代高效记账:自动化智能如何进行财务管理

随着科技的不断发展&#xff0c;自动化智能已经逐渐渗透到我们生活的各个领域。在财务管理中&#xff0c;自动化智能的应用显得尤为重要。它不仅可以提高财务管理的效率和精度&#xff0c;还能帮助我们更好地规划和掌控公司的财务状况 晨曦记账本提供了多种高效财务管理工具。…...

Linux小程序---进度条

一&#xff1a;\r 和 \n \r --- 回车 --- 使光标回到这一行的开头 \n --- 换行 --- 会来到下一行与之平行的位置 缓冲区的问题&#xff1a; <1>: \n 的示例 正常输出 hehehehe 。 <2>: \r 的示例 为了方便观察&#xff0c;加入一个 sleep &#xff08;休眠函数…...

【Java笔试强训】Day1(100449-组队竞赛 、OR63 删除公共字符)

100449-组队竞赛 链接&#xff1a;组队竞赛 题目&#xff1a; 牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。 例如: 一个队伍三个…...

C语言进行实验:通过程序实现线算图取值【支持VC++ 6.0编辑器环境运行】

背景&#xff1a; 一、实验目的和要求 1、能描述数据基本类型及其常量的表示方法&#xff1b; 2、会对变量进行定义及初始化&#xff1b; 3、能使用运算符与表达式对变量赋值&#xff1b; 4、会描述C语句的概念及种类、C语言常用的输入/出方式&#xff1b; 5、会设计顺序…...

信息检索与数据挖掘|(四)索引构建

目录 &#x1f4da;硬件基础 &#x1f4da;基于块的排序索引方法 &#x1f407;BSBI算法(blocked sort-based indexing) &#x1f4da;内存式单遍扫描索引构建方法 &#x1f407;SPIMI算法(single-pass in-memory indexing) &#x1f4da;分布式索引构建方法 &#x1f4d…...

Ruby使用类组织对象

使用Object.new创建新对象&#xff0c;但是一次只使用一种方法&#xff0c;这是感受以对象为中心的Ruby编程的最佳方式之一。不过这种方式并不能很好地扩展&#xff0c;假如有一个正在运行地在线售票网站&#xff0c;然后其数据库必须处理数以百计地售票记录&#xff0c;那么可…...

Spring Boot 中常用的注解@RequestParam

Spring Boot 中常用的注解RequestParam RequestParam 是 Spring Framework 和 Spring Boot 中常用的注解之一&#xff0c;用于从请求中获取参数值。它通常用于处理 HTTP 请求中的查询参数&#xff08;query parameters&#xff09;或表单数据。下面详细解释 RequestParam 的用…...

Spark工作流程

Spark 的整个工作流程可以概括为以下步骤&#xff1a; 创建 SparkSession&#xff1a; 应用程序首先需要创建一个 SparkSession 对象&#xff0c;它是与 Spark 的交互入口。SparkSession 提供了对核心功能和各个模块的访问。 加载数据&#xff1a; 使用 SparkSession 提供的 AP…...

IDEA如何设置项目包名分级

按上面的勾选即可&#xff01;...

消防应急疏散指示系统在某生物制药工厂项目的应用

安科瑞 华楠 摘要 消防应急照明和疏散指示系统由控制器、集中电源和灯具&#xff08;疏散指示灯具、应急照明灯具&#xff09;等几部分组成。系统采用17寸工业平板电脑、Windonws7系统&#xff0c;可支持联动报警、系统监控、故障报警、自检、备电、记录存储与查询、导光流、…...

C语言文件操作(上)

文章目录 一、为什么使用文件二、什么是文件1.程序文件2.数据文件3.文件名 三、文件的打开与关闭1.文件指针2.文件的打开和关闭fopen 与 fclose 四、文件的顺序读写01 字符输出函数&#xff1a;fputs02 字符输入函数&#xff1a;fgetc03 文本行输出函数&#xff1a;fputs04 文本…...

二叉树的前 中 后序的非递归实现(图文详解)

&#x1f388;个人主页:&#x1f388; :✨✨✨初阶牛✨✨✨ &#x1f43b;强烈推荐优质专栏: &#x1f354;&#x1f35f;&#x1f32f;C的世界(持续更新中) &#x1f43b;推荐专栏1: &#x1f354;&#x1f35f;&#x1f32f;C语言初阶 &#x1f43b;推荐专栏2: &#x1f354;…...

.NET验收

验收通用模板&#xff1a; 1.该资料计划看几天&#xff1f; 实际看了几天&#xff1f; 计划7天&#xff0c;实际看了9天 2.多少天一篇总结&#xff1f;将总结列出来。 一周总结一篇。 博客地址:3.这个资料相较于之前资料共同的内容是什么&#xff1f; 不同的(需要强化学习)…...

C++11——lambda表达式

文章目录 1. C98对自定义类型的排序2. lambda表达式语法2.1 捕捉列表 3. lambda底层原理 1. C98对自定义类型的排序 在C98中&#xff0c;想要对自定义类型就行排序&#xff0c;我们得自己写仿函数来表明我们相对哪一项进行排序 struct Student {Student(string name, long id…...

美国加密货币交易和借贷平台Membrane Labs完成2000万美元融资

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;总部位于美国纽约的加密货币交易和借贷平台Membrane Labs今日宣布已完成2000万美元A轮融资。 参与本轮融资的投资机构包括&#xff1a;Brevan Howard Digital、Point72 Ventures、Jane Street Cap…...

8-k8s-污点与容忍

文章目录 一、概念二、相关操作三、实操污点NoSchedule四、实操污点NoExecute五、实操容忍 一、概念 污点与容忍 污点taints定义在节点之上的键值型属性数据。当节点被标记为有污点&#xff0c;那么意味着不允许pod调度到该节点。 容忍tolerations是定义在 Pod对象上的键值型属…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架&#xff0c;用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录&#xff0c;以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

2024年赣州旅游投资集团社会招聘笔试真

2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

什么是Ansible Jinja2

理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具&#xff0c;可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板&#xff0c;允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板&#xff0c;并通…...