一、问题背景
1、LSF分发出去的任务(一般长时间运行)随机性的异常退出
Log 显示如下:
2、相同的CASE,组内“老员工”跑起来很顺,无异常;问题集中在新加入的两位员工
二、分析过程
分析1:新、老员工的工具版本、环境配置等是否统一
结果:环境都是一样的,AE也提供了更新的版本,无果,此项排除。
分析2:为异常用户提供单独的机器(独立于LSF),供其本机测试
结果:受flow影响,此步骤虽未经长时间的测试,但测试的几个CASE运行结果是正常的。
所以仍需要在下面的LSF环境中分析。
分析3:LSF系统本身异常的排查
结果:经过查看相关系统 log、供应商工程师协助分析,未发现异常,此项排除。
分析4:LSF报的 “TERM_EXTERNAL_SIGNAL”
官方的解释:
官方链接:https://www.ibm.com/support/pages/how-understand-termexternalsignal-message-output-bhist
文中提到了 “killed by a signal external LSF”, 意为被外部信号杀掉。
用SYSTEMTAP工具捕获一下kill信息,使用方法如下:
SYSTEMTAP: KILL() [WHO KILLED MY PROCESS?]
https://www.ibm.com/support/pages/node/3286395
结果:
未发现有价值的信息,不过此过程中发现了相关任务 oom_score 值挺高,但 /var/log/messages 中并没有发现因为 oom 而被 kill 掉的进程。
抓取 oom 值的方法如下:
https://blog.csdn.net/sam2009944096/article/details/104376607
仅供参考,后面的问题证明与其无关,oom_score是另外一个话题了,在此案例中耗了很大的分析精力,无效排查方向。
分析5:期间又有几位新员工加入,也遇到了相同的问题
看来不是个别的“灵异”问题了,既然是普遍问题,反倒是好分析一些。
业务同事的一句话,给了我新的排查思路 “是不是 ETX 的问题 ? ”。
先来看下我的架构规划,如下图所示:
Linux desktop 系统、软件:
centos 7.9 + lightdm + xfce
Desktop Cluster方案:
ESXi + ETX Session Balance (每台规划20个session)
插曲:
ESXi 在交付的时候,网络有异常,使用卡顿,无法使用,一直在找网络人员找原因。
(在这过程中,我是找了一台物理机来做 login desktop ,ETX session上限 100)
行动:
又做了一台物理机 login desktop ,请有异常的用户切过来。
不负众望,正常了。
三、结论
7上xfce配lightdm,需控制每台上的用户数(session)。
此经验早就有专家分享过,本案例中又用血的教训验证了一次。
“基础不牢,地动山摇” ,与各位同行共勉。
网友留言: