社区里有很多兄弟分享惨痛的宕机案例,提醒大家提高警惕,下面是几个案例,血淋淋的教训……(以下案例来自许多社区成员分享,主要由社区专家孙伟光和崔增顺编辑)01.AIX下NTP设置不当导致集群多次宕机前段时间发生过。接到朋友的电话,用户在AIX服务器上运行了三套oraclerac集群。飞机上有两台本地机房和两台同城机房。设备搬迁后的一天晚上,本地和同城两套rac突然重启,而且是同时发生的。网络、小型机、存储、数据库属于不同的维护厂商,争论由此开始。每个家庭都开始从自己的方向证明自己没有错。去之前比较倾向于oracle的网络心跳,crs抢选盘时触发重启。但是因为是小机厂商的代表,所以只是从aix层面进行排查,并没有发现明显的原因。我整理了每台主机的宕机时间,并与oracle事件日志进行了对比。还没有找到任何东西。宕机产生的dump被发往IBM原厂,IBM随后出具报告,根据dump内容定位触发宕机的进程为cssd。oracledba关注那个进程的log,发现宕机前后,时间突然变了,早了40多秒。dba确认时间变化太大,cssd进程会导致系统重启,疑似与时间同步有关。经检查,3套aixrac集群使用的是同一个ntpserver,但一套没有问题。对比检查差异后发现,没有问题的那组主机集群使用xntpd配置了时间同步。有问题的主机直接使用ntpdate命令更新时间,写crontab定时执行。查看/var/adm/cron/log日志,发现定时任务执行时间与cssd故障时间一致。查看时间服务器,发现搬迁后,时间服务器的时间偏差较大。xntpd方式的时间同步在时间偏差较大时不会强制同步。ntpdate命令的方法没有这个限制,会直接同步。最终,cssd进程在检测到时间偏差过大后触发了停机。经验分享:在配置时间同步的时候,建议使用xntpd服务的方式,而不是直接在定时任务中写ntpdate,因为ntpdate比较粗糙,出现故障时时间偏差较大会导致应用出现问题并引发不可预知的后果。社区成员王巧蕾分享02.使用爱速备份一体机导致宕机去年刚买了一台爱速备份一体机。在测试阶段遇到一个小例子分享给大家:当时我们测试了各种数据的备份备份。功能,爱速备份的代理客户端安装在一个系统上,客户端安装选项之一是安装CDP驱动。当时,我没有注意它。升级客户端版本并做了一些其他测试后,我卸载了代理客户端,但没有先卸载CDP驱动。重新启动后,系统不会直接启动。与客服沟通后得知需要先卸载CDP驱动,再卸载客户端。否则当CDP驱动存在时,系统将无法启动。社区成员“pysx0503”分享03.经典双机双存,一晚上主存异常故障,业务立马中断。用户经典的双机双存高可用应用方案。IBM2*P570PowerHA6.1两台中端存储通过lvm镜像实现数据镜像,用户信用系统和报表系统运行在上面,存储压力比较大。用户每年完成一次HA切换演练,保证服务高可用。一天晚上,一个储能电源坏了,还没来得及紧急更换电源,另一个电源也坏了。所以主要存储已关闭。恰好此时业务立即停止,用户在电话中表示刚刚完成的Powerha钻头进行得很顺利。但是今天发生的事情是无法理解的。后来经过大量的日志和用户的沟通得知,用户之前的一次操作为这次业务中断埋下了一个大“地雷”。用户究竟做了什么导致了这次事件?用户业务系统中某个文件系统的存储空间不够,需要扩容,但是共享vg中的空间目前还不能满,需要在vg中添加新的磁盘。存储管理员给两台主机分配新的磁盘,然后用户使用Powerhacspoc添加磁盘,扩容FS。正是这样的操作导致了问题的发生。经验分享:在lvm镜像双存储的情况下,我们在扩容fs的时候,需要注意先扩容LV,再扩容fs,这样才能保证数据正确分布在两个存储上。如果用户在添加新磁盘后直接对fs进行扩容,会导致数据有两份,但不能准确保证分布在两个存储上。有可能存储A的分布是90%,存储B的分布是110%。这样的存储失败会直接导致数据不完整。社区成员孙伟光分享04.同一个HACMPNODEID导致故障宕机故障描述:前几天在论坛闲逛的时候发现了一个兄弟的帖子“其中一个PowerHA异常宕机”(发布者:yangming27),点开看看,发现故障描述和报错信息和我之前遇到的一模一样。根据提醒和血的教训,我特地把这个问题整理成了一个案例。希望大家都能从中吸取教训!我们的生产环境有2台PowerVM虚拟化后的AIX虚拟机,灾备环境有1台PowerVM虚拟化后的AIX虚拟机。三台虚拟机通过PowerHAXD(基于SVCPPRC远程复制)搭建了跨中心的高可用环境,操作系统版本为7.1.2.3,HA版本为7.1.2.6。在搭建这个环境之前,生产环境的两台AIX机器通过HAMCP搭建了一个本地高可用环境。通过alt_disk_copy将rootvg复制一份到外存,再通过SVCPPRC将外存复制到容灾存储卷。灾难恢复虚拟机然后挂载该卷并通过该卷启动操作系统。这样三台AIX虚拟机就重新构建了PowerHAXD,实现了跨中心的HA热备份。这样我们搭建了三个系统,都通过了HA切换测试。但是,运行一段时间后,其中一个系统的主机出现故障(关机),资源组切换到备机上。发现问题后,第一时间查看errpt日志,如下(这里借用了yangming27帖子中的日志截图)故障分析:由于操作系统没有开启alwaysallowdump,所以没有生成dump文件。日志分析了半天,百思不得其解。最后只能提交给IBM后台分析,后台多日没有反应。一周后,第二个系统也出现了同样的现象,同样的故障,导致主备HA切换。我开始怀疑是HACMPXD实现的问题。马上看了实现文档,发现在做alt_disk_copy的时候,只用了alt_disk_copy-dhdiskx之后,后面的-O-B-C参数都没有用到。这些参数主要用于删除原操作系统的配置信息和复制rootvg时ODM库的一些信息,可能会导致生产主机和容灾机的一些操作系统信息一致。基于这个怀疑,我查看了errpt的错误记录。宕机的主要原因应该是以下几点:IBM.StorageRMdaemonhasbeenstoppedGroupServicesdaemonstoppedGroupServicesdetectedafailureQUORUMLOST,VOLUMEGROUPGROUPCLOSING猜测是不是因为主备两个节点的信息都保留了inQUORUM是一致的,这会导致QUORUM关闭。然后在生产主机上运行命令odmget-q"attribute='node_uuid'"CuAt输出:CuAt:name="cluster0"attribute="node_uuid"value="673018b0-7a70-11e5-91fa-f9fe9b9bc3c6"type="R"generic="DU"rep="s"nls_index=3运行命令odmget-q"attribute='node_uuid'"容灾主机输出CuAt:CuAt:name="cluster0"attribute="node_uuid"value="67301842-7a70-11e5-91fa-f9fe9b9bc3c6"type="R"generic="DU"rep="s"nls_index=3生产主机运行命令/usr/sbin/rsct/bin/lsnodeid灾备主机运行命令/usr/sbin/rsct/bin/lsnodeid中,发现两个节点的RSCTNODEID完全一致。这是导致信息冲突的点,也是导致主服务停止和QUORUM仲裁关闭的罪魁祸首。故障排除:1、关闭PowerHAXD所有HA服务,禁止HA组服务保护,运行命令/usr/sbin/rsct/bin/hags_stopdms-scthags/usr/sbin/rsct/bin/hags_disable_client_kill-scthags2。停止HA的ConfigRM服务和cthags服务停止rc-sIBM。ConfigRM停止rc-scthags3。重新配置RSCT节点/usr/sbin/rsct/install/bin/recfgct4。重新启动所有3个操作系统shutdown-Fr5。启动HACMP服务和资源组,查看RSCTNODEID经验分享:通过以上方法,三个系统的HACMP主机宕机问题已经彻底解决。建议以后做类似alt_disk_copy的时候一定要带上-B-C-O参数,保持新操作系统的干净。以防你遇到类似莫名其妙的问题。社区成员“jxnxsdengyu”分享05.Power570/595宕机原因:由于周六宕机,是客户的核心应用,但是客户周六没有上班。周一上班的时候,发现所有office,邮件系统等一半的核心应用都无法访问。经现场机房管理人员临时排查,发现小电脑Power595后面的I/O柜全部断电,Power570黄灯亮,绿灯慢闪.工程师赶到了现场。根据与客户沟通的结果,我们开始了工作。折腾了大概6个小时,Power595还是没有启动,但是power570可以正常访问。为了快速让客户生产数据,我们临时决定用power570临时做一个lpar让storage链接过来,先把应用拉起来,折腾了3个多小时,所有应用都可以正常访问了。我们继续对Power595进行故障排除。我们更换了CECDCA内存板,但CPU并没有解决问题。最后我们更换pubook,问题解决。花了3天。问题原因:电工改造电路,导致机房停电,UPS临时接管。由于电池放置时间过长,导致机器功率过高,导致低电压运行,导致设备无法正常工作。及时检查电路。按照师傅的说法,大概1分钟后交流电就送出去了。电压冲击非常严重。社区成员“shizhe1030”分享06.一起ERP备份导致宕机案例回顾:某日凌晨,其中一台ERP数据库主机宕机。AIX.5.3HACMPRAC数据库环境。故障分析:宕机点在备份过程中。通过分析数据库日志和系统日志,发现数据库关闭的主要原因是HACMP的一个守护进程haemd自动重启。由于oracle数据库和haemd进程的关系,发现haemd重启后数据库也自动停止。.据IBM工程师和实验室分析,Haemd之所以自动重启,是因为在一定时间内(参数为2分钟)没有对HACMP系统做出响应。原因之一是系统太忙,无法响应Haemd。后续分析结果发现,在备份期间,从存储的角度来看,系统并不是很忙;但ERP数据库服务器主机性能异常:有时出现周期性无响应现象,同时系统I/O高。停止备份后,此现象消失。借助IBM实验室,初步分析:1)AIX系统内存分为计算内存和非计算内存。非计算内存主要用于文件操作缓存,以提高文件再次读写的性能。目前ERP生产数据库占用内存近20G作为文件系统缓存。2)当文件系统缓存有空间时,文件写操作不会阻塞。当文件系统缓存没有空间时,系统会根据内部策略挤出一部分缓存。当找不到空闲缓存时,会等待系统调整空闲缓存。当有大量等待时,系统可能会出现反应迟钝的情况。解决方案:考虑到未来数据量的增加,如果不能解决大I/O对系统冲击过大的问题,这个隐患将一直存在。调整备份文件系统的属性。当文件系统的I/O请求达到一定值时,阻塞文件系统的读写I/O,保证为系统预留足够的资源。具体参数为Maxpout和Minpout。经验分享:Maxpout和Minpout参数的选择与具体环境有关,没有统一的建议值。如果该参数设置不当,可能会影响文件系统的读写操作。需要通过设置和观察来确定合适的参数。社区成员孙伟光分享07.Weblogic宕机排查问题现象:系统持续运行2-3天,中间件宕机。系统运行过程中,只需要访问weblogic控制台即可。经过几次操作,中间件宕机报错日志:分析:根据错误日志分析,是内存溢出,是非堆内存溢出。这种情况一般需要调整:PermSize的大小。解决方法:调整weblogic配置参数:setDomainEnv.sh设置setDomainEnv.sh为512,调整后重启系统,发现问题依旧,宕机问题也没有解决。确认修改的参数是否生效:生成javacore进行分析(kill-3进程ID)截图如下:我们发现参数没有生效。继续分析参数不生效的原因。Weblogic中的commEnv.sh中发现JAVA_VENDOR为N/A,setDomainEnv.sh中PermSize的设置为:这里的参数没有设置我们需要的OpenJDK的JAVA_VENDOR的N/A赋值,所以设置非堆内存没有生效。注意:正常打开jdk的JAVA_VENDOR是Oracle,但是配置文件是:N/A,可能是weblogic的兼容问题,或者是人为改动造成的。如果找到原因,这个问题就不细追究了。解决方法:修改commEnv.sh,JAVA_VENDOR为Oracle、HP、IBM、Apple中的任意一个在startWeblogic中,单独定义:MEM_ARGS="-Xms2048m-Xmx2048m-XX:PermSize=1024m"验证方案:采用方案二:1)在原默认环境,执行12小时循环,继续访问weblogic控制台。2)在修改后的环境中,继续访问weblogic控制台生成javacore文件,查看参数是否生效。并进行50人20小时的高强度并发测试,看是否会重现宕机问题。解决方案第一步,系统运行2小时,访问控制台,中间件宕机,无法访问系统。程序第二步,在50个高强度并发测试20小时的情况下,系统正常响应。频繁访问控制台并没有发现任何异常情况。通过生成javacore,发现非堆内存正常生效。社区成员“gu?y?011”分享08.P550/P570宕机案例一个周末,一个客户打电话说核心业务无法访问。工程师赶到现场发现客户环境(P550/P570--HACMP)两台P550小型机都关机了。发现客户现场部分服务器也处于断电状态。这时,客户发现周五晚上市电已经停电,但客户的机房却配备了两台UPS,机房一半的设备都接在两台UPS上。调查发现,其中一台UPS无法供电。两台小电脑都有一个电源接在UPS上,导致市电断电后机器立即关机。小机上电后发现P550无法开机,CPUVRM稳压模块报错。由于客户业务比较重要,P570已经拉起来,HA集群准备在IBMP570单节点上运行。才发现HA无法拉起Oracle数据库。由于时间关系,手动为P570网卡添加IP别名后,手动挂载VG,恢复业务。后来更换P550稳压模块后,发现还是不能开机,又出现了新的错误:11002630。再次更换CPU板后,P550小型机启动正常。安排停机时间窗口以进行故障排除恢复。在处理过程中,集群发生了意外。HA拉上后,经过业务测试,发现/orafile丢失了部分数据。此时最新的备份数据是前一天晚上23:00。一天的数据没有备份,只能进行数据恢复,最后成功将数据恢复回来。重新配置HA,模拟故障转移,测试业务,验证数据完整性,业务恢复正常!社区成员“ACDante”分享09.AIX6100-06-06systembugcausedadownmachine某机器操作系统版本6100-06-06,系统down机,生成dump文件。问题:SystemcrashwithfollowingstackCRASHINFORMATION:CPU3CSAF00000002FF47600attimeofcrash,errorcodeforLEDs:30000000pvthread+02BD00STACK:[00009500].simple_lock+000000()[00450E24]netinfo_unixdomnlist+000824(??,??,1?,4?,net)[??,??,1?,4?,net]+00006C(??,??,??,??,??,??)[004504DC]netinfo+0??000FC(??,??,??,??)[00003850]ovlya_addr_sc_flih_main+000130()[kdb_get_virtual_memory]norealstorage@FFFFFFFFFFEF20[100002640]0000000100002640()[kdb_read_mem]norealstorage@FFFFFFFFFFFF5E30bug原因:在检查文件类型是否为socket之前进行了文件锁。该故障是由netstat-funix命令引起的,是IBM的一个bug导致的。bos.mp64包补丁包或整体升级到6100-06-12-1339(SP12)官网说明:IV09793:SYSTEMCRASHINNETINFO_UNIXDOMNLISTAPPLIESTOAIX6100-06http://www-01.ibm.com/support/docview.wsthers?uid=isg1IV09793FilelockitakenbeforecheckingockwhetCommunity会员“qb306”分享10.P570宕机案例IBM570意外宕机,过程如下:1.先查看asmi日志,电源和风扇故障,更换2个电源和1个风扇后,可以开机进入待机模式.但是很多固件报错。2、将微码升级到sf240-417后,微码错误消失。3、如果分区激活失败,hmc终端会提示“ideinitedfailed”几秒后消失。然后就死机了,报找不到硬盘。4、观察外观,发现后端的光纤卡灯很弱,有时不亮。5、查看了570红皮书的结构图,发现idecontroller(红圈圈出的部分)同时处理来自pci设备和硬盘背板设备的io。根据现有的故障现象,确定ide控制器有故障。6、通过ibm系统信息中心,idecontroller的定位码是p1-15,不是可更换的FRU,必须和IObackbone(即主板)一起更换。7、更换iobackbone后,系统正常启动。进入系统微调后一切正常。社区成员王巧蕾分享11.某企业的HACMP软件在更换网络交换机时导致宕机。当IP交换机关闭时,企业HA集群日志导致双节点停止。系统版本为7100-03-03,HA版本为6.1sp13ErrordeionInHACMP6withrsct.core。utils3.1.4.9orhigher,ifallIPnetworksarelostandatleastonenon-IPnetworkisfunctioning,theGroupServicessubsystemwillcoredumpwhentryingtosendpacketstoberoutedthroughTopologyServices(acrossthenon-IPconnection).Thiswillcauseanodehalt.CustomerswithPowerHA7,orHACMP6customerswithnonon-IPnetworks(suchasrs232ordisk)arenotindanger.Alsothiswillnothappenifonlyonenodeisstillrunning,sincetherewillbenootherclustermemberstosendmessagesto.日志如下:原因是补丁IV55293:HAGSDCOREDUMPWHENIPNETWORKSLOST,需要升级rsct文件集。官网说明:http://www-01.ibm.com/support/docview.wss?uid=isg1IV55293社区成员“qb306”分享I/O机柜电源故障。在线更换步骤时,I/O机柜在步骤执行到一半突然断电,I/O机柜重启。原因:一线工程师检查的时候不够细心,因为同一个I/O居然坏了两个电源,但是另一个没有报具体位置,但是报了I/O的partnumber,但同时也说明,IBM小型机并没有完整报出具体的插槽,只是报出了大致的位置。解决方法:将设备断电,更换两个I/ODCA,再上电,问题解决。社区成员“shizhe1030”分享13.X86史上最离谱的宕机事件硬件:IBM的X3650操作系统:suse9linux系统无法远程登录。我用KVM登录,看到是固定在操作系统页面上的,不能移动。重启操作系统后,在操作系统的消息日志中发现如下错误:咨询了Novell和IBM的工程师后,结论是像IBM这样的服务器在安装Linux系统时,如果光驱出现问题驱动器,确实会造成停机。经硬件工程师检查,光驱坏了……坏了……社区成员“hp_hp”分享
