今天正在摸鱼,突然被通知在测试环境无法往GPFS写入文件,只能写入小于100K的文件,而大于100K的文件均写入失败。
推测可能原因及排查顺序:磁盘满了->网络不通->节点挂了->集群/节点状态不正常
说明下,排查顺序由易到难,其中网络不通是可能存在的,并不是所有服务器都是物理机,没有HBA卡的机器是走网卡传输文件数据,网络不通确实会导致文件无法写入集群,但是网速较慢建议使用专业排查工具,因为我有yum,一般使用iperf3。
命令df -TH查看磁盘使用情况,GPFS挂载目录只用了63%,远没有写满。
开始上线排查。。。
先确认GPFS服务正常
[root@test-13-2 ~]# mmgetstate -a
Node number Node name GPFS state
-------------------------------------------
1 test-16-2 active
3 test-10-2 active
4 test-13-2 active
结果节点都在线,状态为active。再看下文件系统挂载情况
[root@test-13-2 ~]# mmlsmount all -L
File system ibm_test_fs is mounted on 3 nodes:
10.53.28.2 test-13-2
10.53.28.1 test-16-2
10.53.28.3 test-10-2
也都挂载上了,再看下节点健康情况
root@test-13-2 gpfs]# mmhealth node show -N all
Node name: test-10-2
Node status: HEALTHY
Status Change: 1 day ago
Component Status Status Change Reasons
--------------------------------------------------------
GPFS HEALTHY 3 days ago -
NETWORK HEALTHY 19 days ago -
FILESYSTEM HEALTHY 3 days ago -
DISK HEALTHY 3 days ago -
CES HEALTHY 1 day ago -
FILEAUDITLOG HEALTHY 1 day ago -
MSGQUEUE HEALTHY 1 day ago -
PERFMON HEALTHY 19 days ago -
THRESHOLD HEALTHY 19 days ago -
Node name: test-13-2
Node status: HEALTHY
Status Change: 1 day ago
Component Status Status Change Reasons
--------------------------------------------------------
GPFS HEALTHY 2 days ago -
NETWORK HEALTHY 3 days ago -
FILESYSTEM HEALTHY 2 days ago -
DISK HEALTHY 2 days ago -
CES HEALTHY 1 day ago -
FILEAUDITLOG HEALTHY 1 day ago -
GUI HEALTHY 2 days ago -
MSGQUEUE HEALTHY 1 day ago -
PERFMON HEALTHY 3 days ago -
THRESHOLD HEALTHY 3 days ago -
Node name: test-16-2
Node status: TIPS
Status Change: 1 day ago
Component Status Status Change Reasons
---------------------------------------------------------------------
GPFS TIPS 3 days ago gpfs_pagepool_small
NETWORK HEALTHY 24 days ago -
FILESYSTEM HEALTHY 3 days ago -
DISK HEALTHY 3 days ago -
CES HEALTHY 1 day ago -
CESIP HEALTHY 3 days ago -
FILEAUDITLOG HEALTHY 1 day ago -
GUI HEALTHY 3 days ago -
MSGQUEUE HEALTHY 1 day ago -
PERFMON HEALTHY 24 days ago -
THRESHOLD HEALTHY 24 days ago -
[root@test-13-2 gpfs]#
可以看到有一个节点状态为TIPS,表明节点状态不健康,可能无法提供服务,后面Reasons显示gpfs_pagepool_small,赶紧查看pagepool大小
[root@test-13-2 gpfs]# mmlsconfig
查找发现未设置pagepool大小,推测原因可能是pagepool默认分配的过小,需要增大页面池大小。
因为pagepool占用的是内存空间,需要先在对应机器上查看内存大小,进行合理分配,可以使用如下命令
[root@test-13-2 gpfs]# cat /proc/meminfo | grep Mem*
查看发现总内存8G,剩余内存4G左右,我这里pagepool决定分配2G应该是足够的
设置pagepool大小
[root@test-13-2 gpfs]# mmchconfig pagepool=2g -N test-16-2
设置后需重启相应节点
[root@test-13-2 gpfs]# mmshutdown -N test-16-2
[root@test-13-2 gpfs]# mmstartup -N test-16-2
至此,再次测试,成功写入文件。未避免其他节点出现pagepool不够用的情况,我统一调整为2G,再次重启各个节点。
注意:集群/节点状态不正常有多种情况,主要看后面Reasons列出的原因,对症下药。
pagepool设置参考