当前位置: 首页 > 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对象上的键值型属…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

springboot 百货中心供应链管理系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;百货中心供应链管理系统被用户普遍使用&#xff0c;为方…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式&#xff0c;以r为参数&#xff1a; p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]&#xff1b; 此多项式的根为&#xff1a; 尽管看起来这个多项式是特殊的&#xff0c;其实一般的三次多项式都是可以通过线性变换化为这个形式…...

Vue 3 + WebSocket 实战:公司通知实时推送功能详解

&#x1f4e2; Vue 3 WebSocket 实战&#xff1a;公司通知实时推送功能详解 &#x1f4cc; 收藏 点赞 关注&#xff0c;项目中要用到推送功能时就不怕找不到了&#xff01; 实时通知是企业系统中常见的功能&#xff0c;比如&#xff1a;管理员发布通知后&#xff0c;所有用户…...