读懂GPFS:从基础知识到集群搭建、参数设置优化及故障诊断(三)

  1. 创建文件系统,设置参数
  2. 根据经验优化具体的参数设置
  3. 测试(是否正常访问,是否高可用,读写等)
  4. 完毕,书写文档,总结经验

群集的搭建流程大致是上面10个步骤,但是因具体环境或多或少的有所变化,在此附上一篇在IBM AIX上构建一个双节点IBM GPFS 集群小文,敬请参考:https://www.ibm.com/developerworks/cn/aix/library/au-aix-building-two-node-gpfs-cluster/

五、参数设置和优化

所谓参数优化设置都是要结合具体环境而定,那么在此我们不做太具体的参数设置,而是根据以往经验和最佳参考实践进行梳理和总结,由于笔者经验问题,很难做到面面俱到。

下面我们将分几个方面针对GPFS的群集搭建过程当中常见的场景进行介绍和梳理

优化分类

  1. 操作系统

下面主要结合Linux 操作系统应用场景进行设置。

Linux: sysctl net.core.somaxconn=Linux: sysctl net.core.netdev_max_backlog=250000Linux: sysctl net.ipv.neigh..mcast_solicit=9 and/or net.ipv.neigh..ucast_solicit=9Linux: sysctl vm.min_free_kbytes=an order of magnitude of 5-6% of the total amount of physical memoryLinux: modprobe.conf ib_ipoib send_queue_size=8192 recv_queue_size=8192 (specific to IB)Linux: IPoIB should use datagram mode instead of connectedLinux: net.ipv4.tcp_sack = 1Enable Flow Control– In large GPFS clusters we have found that enabling flow control can improve performance. Typically flow control is enabled on the host and on the network switches. Indications of network flow control issues in GPFS include seeing log getData waiters or long NSD I/O waiters.

推荐:

网络:使用10GB 以太网和infiniband 网组网,支撑高网络io需求

存储:使用多个同级别存储,分散IO,并发读写能力高,存储端可以配置ssd进行性能热点

2. GPFS群集参数

GPFS: socketMaxListenConnections=maximum number of nodes in a clusterGPFS: idleSocketTimeout=0GPFS: failureDetectionTime=60GPFS: minMissedPingTimeout=60GPFS: tscWorkerPool=128GPFS: maxReceiverThreads=number of logical CPUs on the nodeGPFS: tokenMemLimit=1GGPFS: work1Threads=100GPFS: worker3Threads=40GFFS: maxMBpS=2400GPFS: maxStatCache=60000GPFS: pagepool=4-8GBGPFS: maxFilesToCache=1000

推荐:

设置管理网络和数据网络独立,相互不影响。

设置failgroup,保证数据的高可用

阅读更多

读懂GPFS:从基础知识到集群搭建、参数设置优化及故障诊断(二)

Failure Group

Failure Group 是一个磁盘的集合,一个单点故障会引起集合内部的所有磁盘同时失效

Quorum

Quorum 是保障GPFS资源可用和完整性的机制。在一个GPFS系统中,如果半数以上节点GPFS守护进程正常工作,次机制就被激活。GPFS文件系统就处于可用状态。

GPFS 特殊管理功能节点

GPFS configuration Manager:处理当节点失效时,判断是否满足Quorum,从而决定FS系统是否持续可用为文件系统选择File Manager节点,每个文件只有一个FSM,从而保证数据的一致性。

File System Manager

1、处理文件系统配置的改变,例如增加删除磁盘等。Mount进程靠FSM和发请求节点共同执行。

2、磁盘空间分配管理:控制磁盘区域的分配,运行并发的空间分配。

3、信令管理功能:实现多个节点对同一文件同一区域的并发访问。

4、Quota 管理功能:用户限额功能。

The Metadata Node

1、为维持文件Metadata的一致性每一个被打开的文件都有一个MetaNode,任何一个访问该文件的节点都可以对该文件进行读写,但只有MetaNode可以更新该文件的MetaData。

2、MetaNode 是随机的,通常是访问该文件时间最长的节点担当。

GPFS 文件系统结构

一个GPFS文件系统包含一组磁盘,称为一个条带组(stripe group)。用于存储MetaData,Quota Files,GPFS recovery log,User data。这些磁盘的配置信息存放在每个磁盘的file system description area 区,FSDA也包含文件系统状态信息。

MetaData

The same as Unix file system,inode,indirect blocks ard considered Metadata

Quota Files

用于文件系统的限额功能

GPFS Recovery Log

当创建文件系统时,就自动会创建GPFS recovery logs。GPFS recovery logs一定是被复制的,并且可以通过位于FSDA内的指针找到他们。GPFS recovery logs备平均分布在所有磁盘上,通过情况下不可见的。The file system manager 为每一个访问这个文件系统的用户分配一个GPFS Recovery log。

User Data

The remaining space is allocated from the block allocation map as needed and is used for user data and directories.

总结:有了以上GPFS 各个角色和概念的介绍,对于GPFS的规划,使用都会带来相应的工作便利。

四、群集搭建

在日常工作当中,时常要进行GPFS群集的搭建工作,下面对整个群集的过程进行一个梳理,便于参考步骤执行,有一个清晰的顺序。

1.根据需求选择GPFS响应版本的软件,使用支持的操作系统(参照官方文档)

2.根据需求规划群集拓扑,定义角色

  1. 准备硬件,安装OS和必须软件,做信任配置,
  2. 编译,安装软件
  3. 创建集群,接受License,设置参数,设置数据网络和管理网络
  4. 准备磁盘,编写nsd profile,格式化NSD

读懂GPFS:从基础知识到集群搭建、参数设置优化及故障诊断 (一)

本文整体梳理了GPFS 发展史、GPFS常见架构、GPFS角色和概念、集群搭建、参数设置及优化、故障诊断。较为清晰明白,以便为大家日常运维提供便利。

一、GPFS 发展史

IBM GPFS是一个可扩展,高性能,基于共享磁盘的并行文件系统,自从4.1后更名为IBM Spectrum Scale ,并入IBM Spectrum 产品线。本文后续有关Spectrum Scale的名字还是以大家较习惯的GPFS为主。

Spectrum Scale的发展与演进

IBM GPFS 软件在当今软件定义存储的大背景下,与时俱进,在原有的基础之上拓展了许多功能,诸如云计算、大数据、云存储和对象存储等,并且还在持续不断的增添新功能。

使得在多种应用场景下均可看见GPFS支持的身影。

二、GPFS常见架构

在日常的多种使用GPFS的应用场景中,主要的架构方式有以下几种:

GPFS架构分类:

  • Network-Based Client架构
  • Direct Attached Storage架构
  • Mixed NSD access架构
  • File Placement Optimizer (FPO)架构

三、GPFS 角色和概念

本文将结合GPFS产品的关键字,对GPFS整体的逻辑概念进行梳理,希望大家有一个清晰的认识。

Cluster

GPFS群集是指多个节点的集合,他们共享同一个或者多个并行文件系统;群集里的节点可以并发访问这些文件系统里的数据

GPFS Admin LAN

用于GPFS 管理的网络

Primary/Secondary NSD Server

主和次 NSD Server

NSD(network share disk)

NSD是一个虚拟的磁盘子系统,提供对GPFS内共享磁盘全局命名的功能