HPC集群运维总结6-监控与开关机

[TOC]

集群软件环境

集群目前所有软件都配置在/public/software目录下面,目前配置的有Intel编译器、OpenMPI、Mathlab2009、Matlab2016、lammps、FDTD等,还有很多需要的软件可能还没有安装。

很多集群的用户都喜欢在自己的目录下面安装计算软件,这就导致了同一个非常占用空间的软件在集群上面有多个副本,导致集群存储空间被大大浪费掉了。

因此最好是能够及时统计用户需要使用的软件的信息,并和软件用户一起将软件安装到/public/software目录下面,并告知其他用户直接使用该目录下面的软件即可。

集群还安装了Torque5作业调度管理系统,目前主节点为node307,后期考虑将B区的所有节点都安装作业调度管理系统,并采用调度系统提交作业。

总而言之,集群软件尽量安装到/public/software目录下面,并编写一定的说明文档,告知用户使用方法,可以找一些已经有过安装和使用经验的用户进行交流,让他们提供这些资料。

集群监控

集群的监控工作的作用和意义就不再强调了,为了更好掌握集群每个节点的运行情况、资源使用情况,监控是必须的。本人之前在集群的所有节点上面都安装了zabbix2.14监控管理软件,zabbix有个非常大的好处就是报警处理做的比较好,目前主要针对机器网络不通、重启会进行报警,当前情况下设置了Email报警以及短信报警。zabbix监控管理软件的URL地址是^v^,这个保密,只对管理员开放咯。

由于个人精力有限,没有深入一部配置zabbix的报警规则。另外本人重新编写了一个脚本,该脚本的作用是在白天没过2个小时扫描一下集群所有计算节点的温度,发现CPU温度超过90摄氏度的,则向终端用户发出警告,CPU温度超过95摄氏度的,直接进行关机处理。该脚本所在目录地址是/vpublic01/zhangchi/clustermgmt/temp-monitor/monitor.sh,使用操作系统的crontab进行定时执行。该脚本能够正确获取到温度信息的前提是,刀片的BMC管理模块是好的,而且在BIOS中设置了该刀片BMC模块的IP地址信息,而且网络是连通的。

集群关机与开机流程

一般而言,集群不需要进行关机处理,但是实验室暑假、春节期间由于长期没有人照看,需要进行关机处理,特别是暑假温度高、用户如果计算量上去,加上空调质量不是很好,很可能会导致难以预料的后果。

集群关机流程如下:

  • 关闭所有的计算节点和GPU节点,编号是node1-node306,node327-node348
  • 关闭集群管理节点,node307-node308
  • 关闭对象存储服务器,node311-node326节点
  • 关闭元数据服务器,node309-node310节点

集群开机流程如下:

  • 启动元数据服务器,node309-node310节点
  • 等待5-10分钟
  • 启动对象存储服务器,node311-node326节点
  • 等待10-15分钟
  • 启动集群管理节点,node307-node308节点
  • 查看node307和node308上面的/public是否正常挂载,如果正常则执行下面的步骤
  • 如果不正常,则按照关机流程,重启元数据和对象存储服务器
  • 启动所有计算节点,node1-node306,node327-node348

集群断电与通电流程

集群如果关机只是暂时关机,而不是断电,那么执行普通的关机的命令关闭所有的服务器即可。
如果由于实验室长期无人看管,导致需要停止集群,那么需要进行断电处理。

机房电路简介

进行带电设备操作之前,请务必要主要安全,务必注意安全,务必注意安全!
请阅读资料确保安全后操作,请阅读资料确保安全后操作,请阅读资料确保安全后操作!
管理员曾经因为不谨慎就被电过,幸好没出事,请一定要谨慎!

本部分内容仅供参考,不保准准确性,请勿直接接触供电设备。进行有关电气设备操作之前,请务必与相关负责老师联系,做好防触电准备,请务必谨记,安全第一。

下面介绍主机房电源的接入情况。
主机房有14个机柜,一般情况下,2个机柜共用一个PDM,少数机柜单独使用一个PDM,因此主机房有7个PDM,这些PDM上面有一个开关,关闭开关,就可以将其负责供电的机柜的断电。

PDM主要分配在机柜2、机柜3、机柜6、机柜7、机柜9、机柜11、机柜13的最下面。

这些PDM由配电房的UPS电源模块来进行供电。在配电房的配电柜里面有对应的开关,可以直接断掉这些PDM的供电。

另外,主机房还有2个大型工业空调用于集群的制冷工作,这两个空调不是通过UPS进行供电的,走的是市电线路。

主机房还有地板PEU,即从地上往上进行吹风的风扇,用于辅助空气流动,帮助集群进行扇热的,也是接的市电线路。

主机房还有一个设备叫做新风,简要理解为一个电风扇,主要负责集群内部的空气和室外的空气交换的,这个设备也是走的市电线路。

主机房还要照明设备、消防报警器、门禁设备等,这些也都是走的市电通道。

总而言之,除了集群的机柜是使用UPS进行供电外,其他的所有设备都是市电进行供电。

配电房设备介绍

配电房主要有UPS设备和配电柜、空调。
简要介绍一个各设备的摆布,走进配电房。

最西边的两个乳白色的大箱子里面安装的是UPS铅酸电池组,平时巡检的时候,需要稍微闻一下是否存在异味,由于设备老化,电池已经处于危险期了。

背面有4个柜子并列,左侧两个是配电柜,右侧两个是UPS的主机和控制箱。

左侧第一个配电柜是市电配电柜,上面有一个市电总开关,控制整个机房的市电接入,一般情况不要动此开关。下面还有一排空气开关,这些开关的最左侧是UPS旁路开关,从左往右依次是配电室5P柜式空调开关、备用开关、主机房新风、ADU地板、主机房照明、电源室照明、主机房插座、电源室插座、电源室空调(壁挂式关空调,已经没有使用)、主机房精密空调一、主机房精密空调二。这些开关直接控制了相应设备的市电输入,如果需要断电,可以直接从这里进行控制。

左侧第二个配电柜是UPS输出配电柜,上面有一个UPS输出总开关,该开关控制着集群所有机柜的供电,而且该供电是通过UPS进行输出的,所以一般情况不要断电。

右侧从左往右第一个机柜是UPS的控制和监控柜,显示了一些UPS的运行信息以及UPS的几个主要开关。

右侧最后一个机柜是UPS的控制电路柜,这里需要注意的是过滤网要定期的清洗。

集群断电流程

  • 集群关机,按照集群关机流程部分描述的方法,将集群所有服务器按照正确顺序进行关机处理。
  • 关闭机柜2、机柜3、机柜6、机柜7、机柜9、机柜11、机柜13最下面的PDM的开关,从所有机柜的后面查看是不是所有服务器电源模块的指示灯都断电了。最明显的断电特征是,机房的声音变得很小了,基本上没有了,因为刀箱的散热模块断电了。
  • 关闭主机房两台精密空调,精密空调的右侧有个显示面板,显示面板的左侧有一个可以旋转开关,将开关旋转至Off即可关闭空调。在集群关机之后,可以关闭精密空调。
  • 到配电房左侧市电柜中关闭精密空调开关、主机房新风、主机房ADU地板的开关。
  • 回到主机房检查服务器、空调、地板、以及换气设备是否都已经停止工作了,确认好之后,关好主机房的门。

经过以上步骤,主机房就基本上进行了断电,即服务器设备和空调设备都进行了断电,其他东西可以不用断电,因为功率比较小。

配电房由于存在UPS电源设备以及配电柜,因此配电房里面的设备不能直接断电,而且配电房空调也不能断电。

最后总结一下断电的流程:集群服务器设备断电->集群精密空调断电->其他辅助设备断电。

集群通电流程

  • 到配电房左侧市电柜中打开精密空调的开关。
  • 进入主机房,打开机柜2、机柜3、机柜6、机柜7、机柜9、机柜11、机柜13最下面的PDM的开关,从所有机柜的后面查看是不是所有服务器电源模块的指示灯都通电了。需要依次检查每个刀箱背后的4个电源模块是否正常运行,即,电源模块的指示灯是否全部是绿色,如果是绿色,表示正常。若有一个是黄色,则很有可能导致刀箱交换模块无法正常被供电,导致无法工作,这种情况导致的后果就是整个刀箱无法连接,也无法相互通信,所以通电后,第一件事请就是要保证所有刀箱的所有电源模块正常工作,如果无法正常工作,请参考刀箱电源模块故障处理进行处理。
  • 中间还有一点需要说明的就是,每个刀片服务器的前置面板的上方有一个白色的纸质标签,标签上面写着nodeXXX,即节点的主机名或者编号信息,这个标签是通过刀箱散热模块产生的向后的空气流动形成的吸引力吸在前置面板上面的,如果集群的刀箱断电后,散热模块停止运行,将会导致有些不是很稳的标签飘落下来,因此,集群断电之后,如果看到了标签落地,请将标签集中捡起来,并放到一个没有风的地方,最好用大一点的螺丝压住,然后等集群通电的时候,散热模块运行,标签可以稳定吸住之后,再将落下的标签贴上。
  • 开启主机房两台精密空调,精密空调的右侧有个显示面板,显示面板的左侧有一个可以旋转开关,将开关旋转至On即可启动空调。集群开机之前,请首先打开精密空调。
  • 到配电房左侧市电柜中打开主机房新风、主机房ADU地板的开关。
  • 集群开机,按照集群开机流程部分描述的方法,将集群所有服务器按照正确顺序进行开机处理。集群开机过程中,请务必注意服务器

经过以上步骤,集群基本上已经通电并且开机了。

最后总结一下通电的流程:集群机柜PDM通电->集群空调通电并开机->其他辅助设备通电运行->集群服务器通电并开机。

紧急情况处理

停电

由于机房的市电是从学校其他大楼接入过来的,所以可能存在这样的问题,E5楼停电了,校内会通知,但是机房基本上不受影响。其他大楼停电了,但是学校没有正常通知到E5楼,导致集群以外断电。

集群具有UPS电源,理论上,最多可支持集群非IT设备运行30分钟左右时间。注意,空调,照明灯非IT设备的电源都未接入到UPS中,所以一旦市电断开,只有服务器,网络设备会正常运行,所以这个时候,机房的温度会陡然升高,可想而知,几百台机器疯狂散热,就算没有负载,机房温度也会升很高,如果是夏天,那可能直接导致机房起火了。

所以一旦出现断电,温度过高,机房的火灾报警器会响起来,这时候,应该尽早进行关机处理。有时候来不及正常关机,可以直接跑到配电房里面,将UPS电源输出柜的电源开关全部断开,这样机器会全部断电,速度上更快,更早防止损失。

目前这个问题还没有很好的解决办法,目前能够做的最好方式就是,及时关注学校的停电通知,及早做好相关的处理。另外,还有一个办法,就是需要添加特殊设备,能够实现市电断开报警或直接将UPS的的电池输出断开,就是把UPS当作一个大的配电箱来用,市电断开,集群立即全部都停电。这样就不会导致空调开着,集群还在运行,温度过高的情况出现了。

近期看到阿里巴巴平台上面有一种断电告警设备,能够检测机房等市电断电情况,一旦断电,即将通过短信,电话等报警的方式通知接收人,这样可以在第一时间知道机房停电的事情,从而进行及时处理。

个人想法,UPS电源的确是一个非常好的方式,不仅可以帮助机房IT设备稳定电压,而且还能在停电时采取正确关机方式,保证用户数据的安全和应用的数据一致性问题,整体来说是非常有效一种措施和设施,但是,如果停电后,UPS工作,但是管理员没有收到通知,最后电池耗尽了,导致关机,这种情况,有没有UPS都一样,甚至有了UPS还会出事情,严重情况会导致火灾。如果停电后,UPS供电,空调断电,机房继续工作,温度过高,特别是在夏天,机器工作20分钟,足以将机房温度升到70-100度直接导致火灾,所以机房一定要有断电通知的机制,否则,UPS不仅是摆设,还是危害。硬件设施重要,但是管理机制更加重要。

集群管理软件和技能

管理软件推荐

pssh
shell
Linux
LSI RAID

需要的技能

Linux OS基本架构和原理的理解
Linux Shell编程,最好是熟练掌握
计算机网络知识

ZHANGCHI wechat
关注微信号进一步交流