环境

ubuntu22.04

试用版下载链接

https://www.ibm.com/cn-zh/products/storage-scale

我的版本:Storage_Scale_Developer-5.2.2.1-x86_64-Linux

apt install -y build-essential linux-headers-$(uname -r)

hosts

172.23.170.11 ubuntu1
172.23.170.12 ubuntu2
172.23.170.13 ubuntu3
172.23.170.14 ubuntu4 172.23.170.101 ces1.imalloc.cn ces1
172.23.170.102 ces2.imalloc.cn ces2
172.23.170.103 ces3.imalloc.cn ces3

安装

# 解压后安装
./Storage_Scale_Developer-5.2.2.1-x86_64-Linux-install --text-only # 配置安装节点
cd /usr/lpp/mmfs/5.2.2.1/ansible-toolkit/
./spectrumscale setup -s 172.23.170.101 # 添加节点并查看配置
./spectrumscale node add ubuntu1 -a -g -n -m -q
./spectrumscale node add ubuntu2 -a -g -n -q
./spectrumscale node add ubuntu3 -n -q
./spectrumscale node list

参数-a-g-n-m 和 -q 分别表示不同类型的节点,这些节点在 GPFS 集群中扮演不同的角色。以下是它们的具体作用:

  1. -a 表示 Admin 节点(管理节点):

    • Admin 节点是 GPFS 集群的管理员节点,主要负责管理集群的配置、监控和维护任务。
    • 它通常用于运行 GPFS 管理命令,例如创建文件系统、添加或删除节点、配置策略等。
    • Admin 节点可以有多台,但通常由系统管理员指定一台或几台节点作为主要的管理节点。
  2. -g 表示 GUI 节点(图形用户界面节点):
    • GUI 节点用于运行 GPFS 的图形用户界面工具,方便管理员通过可视化界面管理集群。
    • 它提供了一个友好的界面来监控文件系统的性能、节点状态和执行管理任务,而无需使用命令行。
    • 并非所有 GPFS 部署都需要 GUI 节点,这取决于是否需要图形化管理。
  3. -n 表示 NSD 节点(Network Shared Disk 节点):
    • NSD 节点负责管理 GPFS 的存储设备(磁盘)。它是 GPFS 数据存储和访问的核心节点。
    • 这些节点直接与物理存储(例如 SAN 或本地磁盘)交互,并确保数据在集群中的分布和冗余。
    • 每个 NSD 节点都可以为文件系统提供存储空间,并且多个 NSD 节点协作以提高性能和容错能力。
  4. -m 表示 Manager 节点(管理器节点):
    • Manager 节点负责协调 GPFS 集群中的元数据操作。元数据包括文件系统结构、文件位置等信息。
    • 在 GPFS 中,Manager 节点确保所有节点对文件系统的元数据有一致的视图,并处理锁管理和数据一致性。
    • 通常会有多个 Manager 节点以提供高可用性,如果主 Manager 节点失败,备用 Manager 节点会接管。
  5. -q 表示 Quorum 节点(仲裁节点):
    • Quorum 节点用于确保集群在节点失败或网络分区的情况下保持稳定。
    • GPFS 使用仲裁机制来决定集群是否可以继续运行。例如,只有当大多数 Quorum 节点在线时,集群才能正常工作,这防止了数据不一致或“分裂脑”问题。
    • Quorum 节点的数量和位置需要仔细规划,以保证高可用性和容错能力。

添加磁盘

./spectrumscale nsd add -p ubuntu1 -fs gpfs -fg 101 -po system -u dataAndMetadata "/dev/sdb"
./spectrumscale nsd add -p ubuntu1 -fs gpfs -fg 101 -po pool01 -u dataOnly "/dev/sdc"
./spectrumscale nsd add -p ubuntu1 -fs gpfs -fg 101 -po pool02 -u dataOnly "/dev/sdd"
./spectrumscale nsd add -p ubuntu2 -fs gpfs -fg 102 -po system -u dataAndMetadata "/dev/sdb"
./spectrumscale nsd add -p ubuntu2 -fs gpfs -fg 102 -po pool01 -u dataOnly "/dev/sdc"
./spectrumscale nsd add -p ubuntu2 -fs gpfs -fg 102 -po pool02 -u dataOnly "/dev/sdd"
./spectrumscale nsd add -p ubuntu3 -fs gpfs -fg 103 -po system -u dataAndMetadata "/dev/sda"
./spectrumscale nsd add -p ubuntu3 -fs gpfs -fg 103 -po pool01 -u dataOnly "/dev/sdb"
./spectrumscale nsd add -p ubuntu3 -fs gpfs -fg 103 -po pool02 -u dataOnly "/dev/sdc"
./spectrumscale nsd list

命令结构和参数说明

基本命令是 ./spectrumscale nsd add,用于向 GPFS 集群添加新的 NSD 设备。以下是每个参数的含义:

  • -p <node>:指定 NSD 设备所在的节点。在你的例子中,节点分别是 ubuntu1ubuntu2 和 ubuntu3。这表示这些 NSD 设备将挂载在指定的节点上。
  • -fs <filesystem>:指定要添加 NSD 设备的文件系统名称。在所有命令中,文件系统名称都是 gpfs,意味着这些 NSD 设备都属于同一个 GPFS 文件系统。
  • -fg <failure group>:指定故障组 (Failure Group)。故障组用于确保数据的高可用性和容错能力。如果一个故障组中的节点或磁盘失败,其他故障组的节点可以接管。命令中使用了三个不同的故障组:101(用于 ubuntu1)、102(用于 ubuntu2)和 103(用于 ubuntu3)。
  • -po <pool>:指定存储池 (Storage Pool)。存储池是 GPFS 中用于组织和管理存储空间的逻辑分组。命令中使用了三个存储池:
    • system:通常用于存储元数据和关键数据。
    • pool01 和 pool02:用户数据存储池,可能用于不同的性能或容量需求。
  • -u <usage>:指定 NSD 的使用类型:
    • dataAndMetadata:该磁盘用于存储数据和元数据(适用于关键存储,如 system 存储池)。
    • dataOnly:该磁盘仅用于存储数据,不存储元数据(适用于大规模数据存储,如 pool01 和 pool02)。
  • "/dev/sdX":指定实际的物理设备或分区路径,例如 /dev/sdb/dev/sdc 等。这些是将被用作 NSD 的底层存储设备。

副本数量与挂载点

./spectrumscale filesystem list
./spectrumscale filesystem modify gpfs -mr 2 -MR 3 -r 2 -R 3 -m /gpfs
./spectrumscale filesystem list

参数说明

  • -r

    指定每个数据块的文件副本数。该参数接受以下值:1、2、3。

  • -mr

    指定inode和目录的副本数。该参数接受以下值:1、2、3。

  • -MR

    指定inode和目录的默认最大副本数。该参数接受以下值:1、2、3。

  • -R

    指定每个数据块的文件的默认最大副本数。该参数接受以下值:1、2、3。

-m <mountpoint>:指定文件系统的挂载点。在这里,-m /gpfs 表示文件系统 gpfs 将挂载在 /gpfs 目录下。这是客户端访问文件系统时使用的路径。

其他配置

# 开启性能监控,默认已经打开
./spectrumscale config perfmon -r on # 通讯端口
./spectrumscale config gpfs -c gpfsdemo -e 60000-61000 # Callhome 功能
./spectrumscale callhome disable

GPFS集群部署

# 检查配置
./spectrumscale install --precheck # 安装
./spectrumscale install

GUI配置

/usr/lpp/mmfs/gui/cli/mkuser admin -g Administrator,SecurityAdmin

部署CES服务(可选)

echo "172.23.170.101 ces1.imalloc.cn ces1">>/etc/hosts
echo "172.23.170.102 ces2.imalloc.cn ces2">>/etc/hosts
echo "172.23.170.103 ces3.imalloc.cn ces3">>/etc/hosts ./spectrumscale node add ubuntu1 -p
./spectrumscale node add ubuntu2 -p
./spectrumscale node add ubuntu3 -p
./spectrumscale node list # 我的另外一张网卡,发布服务
./spectrumscale config protocols -e 172.23.170.101,172.23.170.102,172.23.170.103 # 配置cesShareRoot
./spectrumscale config protocols -f gpfs -m /gpfs # 开启NFS和SMB服务协议
./spectrumscale enable nfs
./spectrumscale enable smb # 检查配置
./spectrumscale deploy --precheck
# 部署
./spectrumscale deploy

配置CES(可选)

# 认证方式本地认证
/usr/lpp/mmfs/bin/mmuserauth service create --data-access-method file --type userdefined # 添加用户
useradd cestest
/usr/lpp/mmfs/bin/smbpasswd -a cestest # 发布SMB
mkdir /gpfs/smbshare1
chown cestest /gpfs/smbshare1
/usr/lpp/mmfs/bin/mmsmb export add smbshare1 /gpfs/smbshare1 #访问
\\172.23.170.101\smbshare1

添加GPFS客户端

./spectrumscale node add FQDN
./spectrumscale callhome disable ./spectrumscale install --precheck
./spectrumscale install

命令参考

https://www.ibm.com/docs/en/storage-scale/5.2.2

GPFS并行文件系统部署实践的更多相关文章

  1. IBM GPFS并行文件系统

    原文地址:http://www.hqschina.com/Show.aspx?info_lb=283&info_id=751&flag=103 IBM GPFS文件系统是一种专门为群集 ...

  2. GPFS 文件系统部署步骤

    GPFS 文件系统部署步骤 参考文档: 简书网友提供: https://www.jianshu.com/p/a0ecc0838b3b?utm_campaign=maleskine&utm_co ...

  3. GlusterFS分布式文件系统部署及基本使用(CentOS 7.6)

    GlusterFS分布式文件系统部署及基本使用(CentOS 7.6) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Gluster File System 是一款自由软件,主要由 ...

  4. Lustre文件系统部署和应用探索

    1. Lustre文件系统概述 2. Lustre文件系统部署 2.1 基本环境 本篇博客将在KVM虚拟机中部署Lustre文件系统. 操作系统版本为CentOS6.5_x86_64.Lustre软件 ...

  5. 《OpenStack部署实践》

    <OpenStack部署实践> 基本信息 作者: 张子凡 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115346797 上架时间:2014-2-27 出版日期:2014 ...

  6. 基于AWS的自动化部署实践

    过年前,我给InfoQ写了篇文章详细介绍我们团队在过去4年基于AWS的自动化部署实践.文章包括了:为什么选择AWS.AWS上自动化部署的优势和挑战.我们的解决方案,以及和AWS DevOps方案(Op ...

  7. 基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)

    基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)   前言 前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候 ...

  8. winserver的consul部署实践与.net core客户端使用(附demo源码)

    winserver的consul部署实践与.net core客户端使用(附demo源码)   前言 随着微服务兴起,服务的管理显得极其重要.都知道微服务就是”拆“,把臃肿的单块应用,拆分成多个轻量级的 ...

  9. FastDFS 分布式文件系统部署实战及基本使用

    FastDFS 分布式文件系统部署实战及基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. FastDFS是一个开源的高性能分布式文件系统.它的主要功能包括:文件存储,文件同步 ...

  10. Zabbix3.0部署实践

    Zabbix3.0部署实践   Zabbix3整个web界面做了一个全新的设计. 1.1Zabbix环境准备 [root@linux-node1 ~]# cat /etc/redhat-release ...

随机推荐

  1. PostgreSQL:数据库迁移与版本控制

    title: PostgreSQL:数据库迁移与版本控制 date: 2025/2/6 updated: 2025/2/6 author: cmdragon excerpt: 在现代软件开发中,数据库 ...

  2. 一种基于alpine、支持ARM架构64位的镜像构建方法及其构建系统

    本文分享自天翼云开发者社区<一种基于alpine.支持ARM架构64位的镜像构建方法及其构建系统>,作者:郑****团 一种基于alpine.支持ARM架构64位的镜像构建方法及其构建系统 ...

  3. Hetao P1307 树的剖分 题解 [ 蓝 ] [ 树形 dp ] [ 贪心 ]

    树的剖分:很厉害的性质题,代码也很好写.运用到了奇偶性拼凑答案的 trick. 观察 首先发现一个很重要的条件:一个点的点权只可能是 \(0,1,2\). 这个条件开始我们可能无法用上,于是先想最后的 ...

  4. 为什么TCP需要三次握手?深入解析背后的设计哲学

    在互联网通信中,TCP(传输控制协议)是确保数据可靠传输的基石.而TCP连接的建立过程--"三次握手"(Three-Way Handshake),看似简单的三个步骤,却蕴含了网络协 ...

  5. C# 如何解决文件写权限不可访问

    原文链接 实际业务中,我们可能会遇到我们的安装包将程序安装在C盘Program Files目录下后,有些文件要修改或者新增会导致拒绝访问的异常.但是我们又不想把数据放临时文件夹AppData中,那么如 ...

  6. Typecho获取当前页面加载完成速度时间

    判断当前页面加载是否快速,通常是直接在浏览器中访问网站,看自己的直观感受是否快速.而客观的方法则是计算具体的页面加载时间并显示出来给看. 1.在当前主题的functions.php文件添加下面的代码: ...

  7. 《uTools:提升效率的神奇工具》

    utools5.0 一.引言 在如今快节奏的工作和生活中,我们都在寻找能够帮助我们节省时间.提高效率的工具.uTools 就是这样一款令人惊艳的工具,它为我的日常带来了极大的便利. 相关链接:uToo ...

  8. P4118 [Ynoi2018] 末日时在做什么?有没有空?可以来拯救吗?

    YNOI 智慧题 EasyVer1 [Ynoi Easy Round 2015] 世上最幸福的女孩 EasyVer2 小白逛公园 先看 EasyVer2 单点修改 区间查询最大子段和 考虑在线段树维护 ...

  9. npm配置

    在 Node.js 中,npm(Node Package Manager)是 JavaScript 包的默认管理工具.要查看 npm 的配置,你可以使用 npm config 命令配合不同的子命令来获 ...

  10. [AI/GPT/LLOps/AI中台] Dify : 开源AI大模型应用开发平台(Apache 2.0)

    概述:Dify Dify 是一款开源的大语言模型(LLM) 应用开发平台. 它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI ...