- 时间:2018-09-16 22:48
- 编辑:admin
- 点击: 次
系统状况:
1、主机发生重启现象,检查文件系统和硬件正常。
2、系统运行压力大,CPU 已经达到 100% 的使用率,i/o 负荷很高。
一、查看 error log 错误报告 :
6D19271E 0827152608 I O topsvcs Topology Services daemon stopped
AA8AB241 0827152608 T O OPERATOR OPERATOR NOTIFICATION
BA431EB7 0827152608 P S SRC SOFTWARE PROGRAM ERROR
BC3BE5A3 0827152608 P S SRC SOFTWARE PROGRAM ERROR
12081DC6 0827152608 P S haemd SOFTWARE PROGRAM ERROR
BC3BE5A3 0827152608 P S SRC SOFTWARE PROGRAM ERROR
AA8AB241 0827152608 T O clstrmgrES OPERATOR NOTIFICATION
9DEC29E1 0827152608 P O grpsvcs Group Services daemon exit to merge domain
详细查看错误信息中 , 发现在 15:26 因 hacmp 原因系统宕机。
二、问题原因:
集群中的节点经历着极端的性能问题,如:大量的 I/O 传输、过多的错误记录、内存不足等,导致集群管理器(clstrmgrES)没有得到足够的 CPU 处理时间,而引起无反映开关在分配的时间被重置。某个应用程序运行权限高过集群管理器时,会导致此问题。
三、解决方法:
术语“Deadman Switch”指的是在特定集群条件下,未能及时重置该开关,引起系统宕机和转储的内核扩展部分。无反映开关在超过了特定的时间限制后会宕掉处于挂起状态的节点。此过程导致集群中的其它节点接管处于挂起状态节点的资源。要解决此问题需要解决与之相关的几个性能问题:
调整 HACMP 中的性能优化参数 :
※ 调整系统 I/O pacing
※ 增加信息同步(syncd)的频率
※ 增加通信子系统使用的内存量
※ 更改错误探测速率
1、调整系统使用 I/O 的步调:
使用 I/O pacing 调整系统,使得在大量写操作时,系统资源的分配更合理。为 HACMP 集群激活 I/O Pacing 是必要的,尤其是在集群中可能会有大量磁盘数据块写操作的时侯。
按下述步骤修改 I/O Pacing 设置:
# smitty hacmp
Cluster Configuration
Advanced Performance Tuning Parameters
Change/Show I/O Pacing
修改 hacmp 中的高低水平位值 :
HIGH water mark for pending write I/Os per file 33
LOW water mark for pending write I/Os per file 24
2、增大 syncd 的运行频率:
增加 syncd 的运行频率,使缺省 60 秒运行一次变为 10 秒运行一次。这样可以强迫增加 I/O 刷新速率,并减少由于沉重的 I/O流量触发无反映开关的可能性。
按下述步骤修改 syncd 运行频率设置:
# smitty hacmp
Cluster Configuration
Advanced Performance Tuning Parameters
Change/Show syncd frequency
修改 syncd frequency in seconds 域,推荐值为 10 秒,可用值在 0 - 32767 之间。
3、增加通信子系统可用的内存量:
如果运行命令:# netstat –m,发现请求 mbuf 被拒绝,或运行命令 # errpt 发现 LOW_MBUFS 错误,则应增加网络参数“thewall”的值。Thewall 的缺省值为 25%的系统实内存。可以将其增加为 50%的系统实内存。
按下述步骤修改 thewall 值的设置:
# vi /etc/rc.net
在此文件的末尾加入:
no -o thewall= 1024
4、修改错误探测速率:
如果激活 I/O Pacing 或增加 Syncd 运行频率不能解决无反映开关不能重置的问题时,则修改错误探测速率,将其值该为 Slow。这样可以延长一个挂起节点调用无反映开关之前,以及接管节点探测到节点故障并获得挂起节点资源之前所需的时间。
注意:
在完成上述步骤之前,I/O Pacing 必须先激活。这是因为修改此设置会调整 I/O 数据的传输量。
四、处理结果:
优化 HACMP 参数后系统一直运行正常。