Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1514092
  • 博文数量: 230
  • 博客积分: 474
  • 博客等级: 下士
  • 技术积分: 1955
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-19 18:40
文章分类

全部博文(230)

文章存档

2020年(3)

2019年(3)

2018年(12)

2017年(13)

2016年(11)

2015年(55)

2014年(74)

2013年(39)

2012年(2)

2011年(18)

我的朋友

分类: 云计算

2013-12-05 18:12:51

GPFS 的概念

GPFS 的全称为:General Parallel File System,即通用并行文件系统。IBM GPFS 是一个可自由扩展的高性能并行文件系统,它主要有以下三个特点:

  • 基于高可用的集群架构,可灵活扩展
  • 支持并行的共享磁盘访问方式,提供单一命名空间
  • 针对并行 I/O 负载优化,提供极高的 I/O 处理能力

本文主要立足于 GPFS 配置的变更与性能的测试,因此 GPFS 的安装,在本文不做赘述。

GPFS 的配置变更

动态增加一个 NSD client

我们以一个 6 节点的 GPFS 集群为例:


图 1. 查看一个 6 节点的 GPFS 集群
图 1. 查看一个 6 节点的 GPFS 集群 

首先,设置 NSD server 对 NSD 磁盘的访问顺序,以便实现负载均衡和多路径。

修改之前,需要先卸载所有节点上的 gpfs 文件系统:


图 2. 卸载一个 GPFS 文件系统
图 2. 卸载一个 GPFS 文件系统 

设置磁盘的访问优先级:

 mmchnsd "nsd1:78001_lpar2,78001_lpar3,78002_lpar1"
 mmchnsd "nsd2:78001_lpar2,78001_lpar3,78002_lpar1"
 mmchnsd "nsd3:78001_lpar3,78001_lpar2,78002_lpar2"
 mmchnsd "nsd4:78002_lpar1,78002_lpar2,78002_lpar3"
 mmchnsd "nsd5:78002_lpar2,78002_lpar1,78002_lpar3"
 mmchnsd "nsd6:78002_lpar3,78002_lpar2,78002_lpar1"
 mmchnsd "nsd7:78002_lpar4,78002_lpar2,78002_lpar1"
 mmchnsd "nsd8:78002_lpar1,78001_lpar2,78001_lpar3"
 mmchnsd "nsd9:78002_lpar2,78001_lpar3,78002_lpar3"
 mmchnsd "nsd10:78001_lpar3,78002_lpar3,78001_lpar2"

然后,确认变更已经生效:


图 3. 查看 NSD 磁盘访问路径
图 3. 查看 NSD 磁盘访问路径 

接下来,给 GPFS 集群增加第 7 个节点“78001_lpar1”

首先确认节点 78001_lpar1 不属于任何 GPFS 集群:


图 4. 查看节点状态
图 4. 查看节点状态 

 

如果不进行任何配置,直接向集群增加节点会报错 :


图 5. 增加集群节点
图 5. 增加集群节点 

必须在所有节点上(包括第 7 个节点)编辑 /etc/hosts 和 /.rhosts 两个配置文件


图 6. 修改系统配置文件
图 6. 修改系统配置文件 

再次添加第 7 个节点,可以成功:


图 7. 增加集群节点
图 7. 增加集群节点 

检查添加结果,第 7 个节点已经添加成功:


图 8. 检查增加结果
图 8. 检查增加结果 

将第 7 个节点设置成仲裁节点:


图 9. 设置仲裁节点
 

接下来,启动第 7 个节点:


图 10. 启动节点
图 10. 启动节点 

现在,第 7 个节点已经处于活动状态 :


图 11. 检查节点状态
图 11. 检查节点状态 

在第 7 个节点上挂载 GPFS 文件系统,文件系统能够挂载成功 :


图 12. 检查文件系统状态
图 12. 检查文件系统状态 

动态删除一个 NSD client

以 7 节点的 GPFS 集群为例:


图 13. 查看集群的信息
图 13. 查看集群的信息 

下面的操作将删除第 7 个节点:78001_lpar1。

若节点处于活动状态,删除将会失败 :


图 14. 删除集群节点
图 14. 删除集群节点 

因此需要,先将节点 78001_lpar1 关闭:


图 15. 关闭集群节点
图 15. 关闭集群节点 

检查状态,已经处于关闭的状态 :


图 16. 查看集群节点状态
图 16. 查看集群节点状态 

再次删除节点,可以成功;


图 17. 删除集群节点
图 17. 删除集群节点 

GPFS 的性能评估

本章将会以测试的方式验证 GPFS 的并发读写特性,包含读测试、写测试以及读写混合测试。

本测试以 P7-780 服务器作为试验机,配置为 64 个处理器、512 GB 内存,然后划分 6 个 LPAR,每个 LPAR 的配置为:10C 处理区 /64G 内存。操作系统版本为 AIX 6106,GPFS 的版本为 GPFS3.4。

并发写测试:首先,为测试编写一些简单的测试脚本:

“start_write.sh”脚本,用于在所有节点上对 GPFS 文件系统中的一个发起并发写:


图 18. 并发写脚本
图 18. 并发写脚本 

“view_status.sh”脚本用于监控 GPFS 集群所有节点上的 I/O 性能:


图 19. 实时性能监控脚本
图 19. 实时性能监控脚本 

“kill_dd.sh”脚本用于杀死所有节点上的 dd if 进程:


图 20. 杀死进程脚本
图 20. 杀死进程脚本 

“monitor.sh” 脚本用于启动 nmon 进程,“kill_monitor.sh”用于杀死 nmon 进程:


图 21. 启动 nmon 与终止 nmon 脚本
图 21. 启动 nmon 与终止 nmon 脚本 

现在,启动并发写测试:


 

然后,观察所有节点上的 I/O 性能:


图 22. 观测节点 I/O 性能
图 22. 观测节点 I/O 性能 

 

 

 

 

 

并发写测试结果分析

从上面的结果可以看出,GPFS 集群所有节点对 GPFS 文件系统中同一个文件的写操作是并发的,虽然各个节点的 IOPS 和吞吐量在同一时刻并不相同,但整体而言,各个节点对于文件系统中的同一个文件的写操作的 IOPS 和吞吐量是比较平稳的,这充分验证了 GPFS 作为并发文件系统的优良特性。

并发读测试

停掉所有节点上的 dd if 进程:


图 23. 杀死 dd if 进程
图 23. 杀死 dd if 进程 

编写一个简单的脚本“start_read.sh”,以便进行并发读测试:


图 24. 并发读脚本
 

运行“start_read.sh”脚本,然后运行“view_status.sh”脚本来检测实时读:


图 25. 观测节点 I/O 性能
图 25. 观测节点 I/O 性能 

 

 

 

 

并发读测试结果分析

从上面的结果可以看到,GPFS 集群所有节点对 GPFS 文件系统中同一个文件的读操作是并发的,虽然各个节点的 IOPS 和吞吐量在同一时刻并不相同,但整体而言,各个节点对于文件系统中的同一个文件的读操作的 IOPS 和吞吐量是比较平稳的,这充分验证了 GPFS 作为并发文件系统的优良特性。

  • 长时间并发混合读写测试

    在所有的节点上,对 GPFS 文件系统中的同一个文件发起读写操作:



    图 26. 发起混合读写压力
    图 26. 发起混合读写压力 

    两个小时以后,利用“Nmon analyzer”分析收集到的 nmon 结果,可以看出所有节点对文件系统的同一文件的读写的并发的,但所有节点上的 IOPS 和吞吐量并不时刻相同:



    图 27. 观测节点 I/O 性能
    图 27. 观测节点 I/O 性能 



     



     



     



     



     

  • 长时间并发混合读写测试结果分析

    可以看到,GPFS 集群所有节点对 GPFS 文件系统中同一个文件的混合读写操作是并发的,虽然各个节点的 IOPS 和吞吐量在同一时刻并不相同,但整体而言,各个节点对于文件系统中的同一个文件的读操作的 IOPS 和吞吐量是比较平稳的;并且,通过长达两个小时的大量混合读写,GPFS 文件系统并未出现报错以及其他任何问题,这充分验证了 GPFS 作为并发文件系统的优良特性以及稳定性。

总结

本文通过一系列测试,验证了 GPFS 的并发读写特性:GPFS 集群中的多个节点可以同时对 GPFS 文件系统中的同一个文件进行并发读写,并且吞吐量和 IOPS 比较平稳。这一点,可以提高客户应用的性能以及稳定性,是十分有用的。

阅读(2325) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~