H3C CX8028 GPFS并行文件系统全闪存储配置案例

news/2025/2/24 12:26:00/文章来源:https://www.cnblogs.com/dayuchen/p/18717935

CX8K GPFS全闪存储配置

全闪采用客户端集群部署方式,结构为存储集群<--->文件系统<--->客户端集群,存储集群上负责创建元数据盘和数据盘和文件系统,客户端集群负责添加客户端主机挂载文件系统,分了两个客户端集群挂载三个文件系统

image.png

本次实例客户端网卡组:nc_client_3,nc_client_4,nc_client_5:

客户端网卡组 服务器 设备ID 网卡 网卡
nc_client_3 server001,server002 mlx5_1,mlx5_3 eth1 enp74s0np0
nc_client_4 server001..server012 mlx5_7,mlx5_9 ens16np0 ens18np0
nc_client_5 server013..server032 mlx5_4,mlx5_6 ens112np0 ens114np0

文件系统:fs1,fs34,fs5

文件系统 服务器
fs1 server001..server032
fs34 server001..server012
fs5 server013..server032

客户端集群:ubuntu.cluster1,ubuntu.cluster2

客户端集群 服务器 文件系统
ubuntu.cluster1 server001..server012 fs1,fs34
ubuntu.cluster2 server013..server032 fs1,fs5

存储节点集群

在客户端集群配置前,需要在存储节点cx001上将虚拟磁盘和文件系统定义并挂载上存储节点集群,以下示例是创建fs5过程:

1.1 定义元数据vs

mmvdisk vdiskset define --vs nvmevs5m --rg rg_1 --code 3WayReplication --block-size 1M --set-size 3t --da DA1 --nsd-usage metadataOnly --storage-pool system

1.2 定义数据

mmvdisk vdiskset define --vs nvmevs5 --rg rg_1 --code 8+3P --block-size 1M --set-size 50T --da DA1 --nsd-usage dataOnly --storage-pool pool1

1.3 查看vdiskset组

/usr/lpp/mmfs/bin/mmvdisk vdiskset list --vs all

1.4 创建vdiskset组

/usr/lpp/mmfs/bin/mmvdisk vs create --vs  nvmevs5m
/usr/lpp/mmfs/bin/mmvdisk vs create --vs  nvmevs5 

1.5 创建文件系统

/usr/lpp/mmfs/bin/mmvdisk fs create --fs fs5 --vs nvmevs5m,nvmevs5 --mmcrfs -T /cx8k/fs5 -n 64

1.6 挂载文件系统到存储集群所有节点

/usr/lpp/mmfs/bin/mmmount fs5 -a

1.7 查看是否已挂载到存储节点

/usr/lpp/mmfs/bin/mmlsmount all -L

客户端集群

先根据客户端集群的数量定义 1/3/5/7单数的仲裁节点,本次是20台华三服务器,需要将选出的仲裁节点与所有客户端做免密互信,此处是所有客户端节点server013-server029 17台,仲裁节点为server013-server017 5台,选择server013客户端集群主节点配置均在server013上

2.1 所有节点先做root密码/配置密钥/root登录

echo "root:xxxxx" | sudo chpasswd
sudo sed -i 's/^#PermitRootLogin .*/PermitRootLogin yes/' /etc/ssh/sshd_config
sudo sed -i 's/^#PasswordAuthentication  .*/PasswordAuthentication yes/' /etc/ssh/sshd_config
sudo systemctl restart sshd

2.2 在单个仲裁节点先生成SSH-KEY,5台仲裁都需要

ssh-keygen -m PEM

2.3 单个仲裁节点做免密,5台仲裁都需要执行

sudo sshpass -p "XXXXXX" ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa.pub root@server013
.....
sudo sshpass -p "XXXXXX" ssh-copy-id -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa.pub root@server029

2.4 选择仲裁节点server013配置做客户端集群的安装节点(主节点),配置node list

vim /root/nodes
server013.owl.local:quorum
server014.owl.local:quorum
server015.owl.local:quorum
server016.owl.local:quorum
server017.owl.local:quorum
server018.owl.local:client
server019.owl.local:client
server020.owl.local:client
server021.owl.local:client
server022.owl.local:client
server023.owl.local:client
server024.owl.local:client
server025.owl.local:client
server026.owl.local:client
server027.owl.local:client
server028.owl.local:client
server029.owl.local:client

2.5 server013-server029之前如安装过客户端包需要删除,新添加集群的客户端需要保证客户端上干净

rm -rf /var/mmfs /usr/lpp/mmfs
rm -rf /var/adm/ras/mm*
rm -rf /tmp/mmfs

2.6 scp安装客户端包:

sudo scp /root/Spectrum_Scale_Erasure_Code-5.1.6.1-x86_64-Linux-install root@server013:/root/
....
sudo scp /root/Spectrum_Scale_Erasure_Code-5.1.6.1-x86_64-Linux-install root@server029:/root/

2.7 登录server013-server032依次运行 Spectrum Scale 安装脚本,提示输入1

/root/Spectrum_Scale_Erasure_Code-5.1.6.1-x86_64-Linux-install --text-only

2.8 安装存储客户端

sudo apt install ksh -ysudo dpkg -i  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.base_5.1.6-1_amd64.deb  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.docs_5.1.6-1_all.deb  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.gpl_5.1.6-1_all.deb  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.adv_5.1.6-1_amd64.deb  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.gskit_8.0.55-19.1_amd64.deb  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.java_5.1.6-1_amd64.deb  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.license.ec_5.1.6-1_amd64.deb  /usr/lpp/mmfs/5.1.6.1/gpfs_debs/gpfs.msg.en-us_5.1.6-1_all.debsudo /usr/lpp/mmfs/bin/mmbuildgpl

2.9 创建客户端集群

/usr/lpp/mmfs/bin/mmcrcluster -N /root/nodes --ccr-enable -r /usr/bin/ssh -R /usr/bin/scp -C ubuntu.cluster2

2.10 授权客户端节点

/usr/lpp/mmfs/bin/mmchlicense server --accept -N server013,server014,server015,server016,server017,server018,server019,server020,server021,server022,server023,server024,server025,server026,server027,server028,server029

2.11 配置自动挂载和块大小

/usr/lpp/mmfs/bin/mmchconfig autoload=yes
/usr/lpp/mmfs/bin/mmchconfig maxblocksize=16M

2.12 客户端集群的秘钥发送到存储集群的安装cx001上

scp -r /var/mmfs/ssl/id_rsa.pub 10.24.9.201:/home/

2.13 在存储集群节点cx001执行,把存储集群的秘钥发送到客户端集群的客户端server013上

scp -r /var/mmfs/ssl/id_rsa.pub 10.24.9.13:/home

2.14 在客户端server013上执行,获取客户端集群的集群名,本例中为ubuntu.cluster2

/usr/lpp/mmfs/bin/mmlscluster

2.15 在存储节点cx001上执行,存储集群对客户端集群授,秘钥在之前发送的/home路径下,ubuntu.cluster2为客户端集群名

/usr/lpp/mmfs/bin/mmauth add ubuntu.cluster2 -k /home/id_rsa.pub

2.16 在存储节点cx001上执行,存储集群对客户端集群文件系统授权

/usr/lpp/mmfs/bin/mmauth grant ubuntu.cluster2 -f fs1 -a rw

2.17 在客户端server013上执行,在客户端集群指定链接节点cx001

/usr/lpp/mmfs/bin/mmremotecluster add h3c_cx8028.h3c.com -n cx001.h3c.com -k /home/id_rsa.pub

2.18 在客户端server013上执行,创建远程文件系统的挂载点

/usr/lpp/mmfs/bin/mmremotefs add fs1 -f fs1 -C h3c_cx8028.h3c.com -T /cx8k/fs1 -A yes

2.19 启动客户端集群

/usr/lpp/mmfs/bin/mmstartup -a

2.20  在客户端server013上执行,所有客户端挂载文件系统

/usr/lpp/mmfs/bin/mmmount fs1 -a

2.21 客户端自动挂载文件系统

/usr/lpp/mmfs/bin/mmchconfig autoload=yes
/usr/lpp/mmfs/bin/mmremotefs update fs1 -A ye

客户端配置RDMA

3.1 配置rc.local

#!/bin/bash# 关闭自动更新
sudo sed -i 's/^APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic# 配置 rc.local
sudo sh -c 'echo  "[Install]\nWantedBy=multi-user.target" >> /lib/systemd/system/rc-local.service'# 添加设置到 rc.local
sudo tee -a /etc/rc.local <<EOFmlnx_qos -i ens112np0 --pfc 0,0,0,1,0,0,0,0 --trust dscp
mlnx_qos -i ens114np0 --pfc 0,0,0,1,0,0,0,0 --trust dscpcma_roce_tos -d mlx5_4 -t 106
cma_roce_tos -d mlx5_6 -t 106
echo 106 > /sys/class/infiniband/mlx5_4/tc/1/traffic_class
echo 106 > /sys/class/infiniband/mlx5_6/tc/1/traffic_classsysctl -w net.ipv6.conf.ens112np0.disable_ipv6=0
sysctl -w net.ipv4.conf.ens112np0.arp_ignore=2
sysctl -w net.ipv4.conf.ens112np0.arp_announce=1
sysctl -w net.ipv4.conf.ens112np0.rp_filter=2sysctl -w net.ipv6.conf.ens114np0.disable_ipv6=0
sysctl -w net.ipv4.conf.ens114np0.arp_ignore=2
sysctl -w net.ipv4.conf.ens114np0.arp_announce=1
sysctl -w net.ipv4.conf.ens114np0.rp_filter=2for i in mlx5_4 mlx5_6; do mlxconfig -y -d \$i -e s INT_LOG_MAX_PAYLOAD_SIZE=12; doneethtool -G ens112np0 rx 8192 tx 8192
ethtool -G ens114np0 rx 8192 tx 8192EOF# 设定权限
chmod +x /etc/rc.local# 启用 rc.local 服务
systemctl enable rc-local.service# 重启 rc.local 服务

3.2 .配置200G网络,传参IP最后一位

#!/bin/bash# 检查参数是否提供正确
if [ $# -ne 1 ]; thenecho "Usage: $0 <new_last_octet>"exit 1
fi# 存储传递给脚本的参数
new_octet="$1"# 生成配置文件内容并替换指定的地址部分
config_content="network:version: 2ethernets:ens112np0:addresses: [10.24.12.$new_octet/24]dhcp4: nomtu: 9000ipv6-address-generation: eui64routes:- to: 10.24.12.0/24scope: linkfrom: 10.24.12.$new_octettable: 101routing-policy:- from: 10.24.12.$new_octettable: 101priority: 32761ens114np0:addresses: [10.24.14.$new_octet/24]dhcp4: nomtu: 9000ipv6-address-generation: eui64routes:- to: 10.24.14.0/24scope: linkfrom: 10.24.14.$new_octettable: 102routing-policy:- from: 10.24.14.$new_octettable: 102priority: 32761"# 写入配置文件
echo "$config_content" | sudo tee /etc/netplan/01-roce-config.yaml > /dev/nullecho "Configuration generated and written to /etc/netplan/01-roce-config.yaml"# 应用配置
sudo netplan apply# 添加路由表
echo "101     t1" | sudo tee -a /etc/iproute2/rt_tables
echo "102     t2" | sudo tee -a /etc/iproute2/rt_tables

客户端网卡组

4.1 在客户端集群仲裁节点server013上创建客户端组

/usr/lpp/mmfs/bin/mmcrnodeclass nc_client_5 -N server013,server014,server015,server016,server017,server018,server019,server020,server021,server022,server023,server024,server025,server026,server027,server028,server029
/usr/lpp/mmfs/bin/mmchconfig verbsPorts="mlx5_4/1 mlx5_6/1" -N nc_client_5
/usr/lpp/mmfs/bin/mmchconfig workerThreads=2048,maxMBpS=50000,maxFilesToCache=3M,maxStatCache=4M -N nc_client_5
/usr/lpp/mmfs/bin/mmchconfig pagepool=16G -N nc_client_5
/usr/lpp/mmfs/bin/mmshutdown -N nc_client_5
/usr/lpp/mmfs/bin/mmstartup -N nc_client_5

4.2 在客户端集群仲裁节点server013启用RDMA通道

/usr/lpp/mmfs/bin/mmchconfig verbsRdma=enable -N nc_client_5
/usr/lpp/mmfs/bin/mmchconfig verbsRdmaSend=yes -N nc_client_5
/usr/lpp/mmfs/bin/mmchconfig verbsRdmaCm=enable -N nc_client_5

ROCE全闪常用查询

##集群节点查看挂载节点:
/usr/lpp/mmfs/bin/mmlsmount all -L##集群节点上查看节点状态:
/usr/lpp/mmfs/bin/mmgetstate -a##集群节点上查看健康:
/usr/lpp/mmfs/bin/mmhealth cluster show node
/usr/lpp/mmfs/bin/mmhealth cluster show##客户端上集群查询:
/usr/lpp/mmfs/bin/mmlscluster##客户端上查询集群名:
/usr/lpp/mmfs/bin/mmlscluster |grep -i GPFS##集群节点上查看RDMA状态
/usr/lpp/mmfs/bin/mmdiag --network##CX001存储节点查看vdiskset组
/usr/lpp/mmfs/bin/mmvdisk vdiskset list --vs all##CX001存储节点查看创建好的vdisks
/usr/lpp/mmfs/bin/mmvdisk vdisk list --rg all##客户端上查看包是否安装:
ll /usr/lpp/mmfs/bin/mmcrcluster##集群节点查看配置信息包括网卡组:
/usr/lpp/mmfs/bin/mmlsconfig

GUI服务器

CX8028存储还可以提供一台GUI服务器,安装在一台单独的虚拟机上。 主要能提供一些监控功能,比如节点状态,负载,健康度,文件系统;还可能用来创建快照。 功能比较单一,并不能用来取代命令行进行配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/884658.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【kali】在Kali Linux中安装Navicat17

Navicat 是笔者最喜欢的一款专业的数据库管理工具,不仅支持多种数据库类型,而且它提供了直观的用户界面和丰富的功能,帮助用户轻松管理和操作数据库,提高工作效率。 通过,Navicat我们是在Windows环境中部署的。本文以KALI为例,讲解如何在Linux环境中部署。 首先,我们从官…

URL 生成网站截图 API 数据接口

URL 生成网站截图 API 数据接口 网站工具 / 截图 高效生成网页截图 生成网页截图 / 图片输出。1. 产品功能支持全页截图和视窗截图; 支持自定义截图尺寸; 兼容移动设备截图; 支持暗黑模式截图; 固定参数请求,可以得到最新的站点截图; 快速高效的截图生成; 全接口支持 HT…

OCR识别表格中的参数及参数值

一、需求 识别固定表格中的文字,输出表格中的参数字典 二、整体思路找到一张含有表格的图片,利用mac自带的预览工具分析出图片每个单元格的对角线坐标, 使用程序根据图片文件和对角线坐标数组,分割图片为很多个小图片, 采用tesseract库识别单个单元格中的文字,并将识别出…

H800 Nvlink 基础环境配置(Ubuntu20.04 )

H100/800 SXM的8卡服务器在配置多机互联环境时,除了要安装Nvidia的GPU驱动,还需要安装FabricManager。 Nvidia 提供了在线安装和离线安装两种方式。Z项目H800 NVL 基础环境配置(Ubuntu20.04 ) 操作系统基础安装 配置源 本操作在Ubuntu 20.04下完成, 所有命令都以root身份执行…

c_note

c笔记一、变量 1、变量的声明 ​ 变量的声明是给编译器看的,告诉编译器变量的类型以及名字等相关的信息。 格式:数据类型 变量名; 变量的声明显然是一个编译时概念,所以它和程序的运行没有太大的关系。 一个变量具有声明,并不意味着该变量会在运行时期分配内存空间。 2、…

Drasi Sources SDK

什么是Drasi数据源(Source)?Source提供了与系统的连接,Drasi 可以将这些系统视为变化源。source 在 Drasi 中执行三个重要功能:处理源系统生成的更改日志/源,并将这些更改推送到使用该源作为输入的每个连续查询。 将源更改数据转换为一致的属性图数据模型,以便订阅的 Co…

【每日一题】20250216

人生就是这样,不经历鲜血淋漓的疼痛,就不会明白那些曾经让我们厌烦的说教其实是受用一生的信条。【每日一题】(多选)如图所示,在竖直半面内有一半径为 \(R\) 的圆弧轨道.半径 \(OA\) 木平、\(OB\) 竖直,一个质量为 \(m\) 的小球自 \(A\) 的正上方 \(P\) 点由静止开始自由…

数据团队必读:智能数据分析文档(DataV Note)五种高效工作模式

数据项目,无论是数据分析、可视化,还是数据科学和机器学习相关的项目,通常都非常复杂,涉及多个组成部分,比如代码、数据、运行环境、SQL脚本以及分析报告等;与此同时,随着AI时代的到来,数据科学领域正经历重大变革。这对于数据科学团队来说,如何保持高效地工作模式一直…

SU镜像:缩放s

su没有镜像,可用:缩放s 选中要镜像的对象——复制一个——s——找到中间的点——向右拉动——输入 -1

LGP1377 [TJTS 2011] 树的序 学习笔记

LGP1377 [TJTS 2011] 树的序 学习笔记 Luogu Link 题意简述 给一个生成序列 \(p\),简单起见 \(p\) 是一个长为 \(n\) 的排列。按照这样的步骤生成一棵二叉搜索树:往空树中插入 \(p_i\),则 \(p_i\) 成为当前二叉搜索树的根。 往非空树 \(u\) 中插入 \(p_i\),若 \(p_i\) 小于…

vxe-input绑定keyup事件传递的参数

一、VUE3中 Input输入框绑定keyup事件传递的$event 代码一:<script setup>function judgeIsEnterToSerach(event){console.log(event,1111);console.log(event.key,2222);console.log(event.target,230923);console.log(event.target.value,3333);console.log(event.tar…

清华大学推出第二讲 DeepSeek 如何赋能职场应用?从提示语技巧到多场景应用!

前言 清华大学第二讲《DeepSeek如何赋能职场应用》是一份35页的专业文档,详细探讨了DeepSeek在职场中的多场景应用及其赋能作用,从提示语技巧到多场景应用,咱们打工人有福啦!DeepSeek访问地址:https://chat.deepseek.com 清华大学推出的 DeepSeek 从入门到精通(104页)免…