北肙

当你不能够再拥有,唯一可以做的,就是令自己不要忘记。

Category: HP-UX & HPE

客户处有一HP P2000 G3的存储,由于机房停电而异常关机,再次上电开机后发现同时有4块硬盘亮起了故障灯。接到case时,已经过了半月有余,不但该存储无法访问数据,连接它的主机也由于不明原因无法使用数据库。经过排查,发现几个问题。存储共2个盘柜,共14块盘,其中8块盘作了raid5,其它6块盘作了raid6,全局无热备盘。出现故障时,两个raid组中各坏了两块盘,raid5已经是“offline”状态,raid6则是“degrade”状态。对于主机来说,/sybase安装了数据库,目前使用率已100%,连接数据库时报“状态=JZ006”错误,排除存储本身的数据问题,sybase不能连接也和没有空间写日志有关系。 一、HP P2000 G3更换硬盘 1、管理口地址:10.0.0.2(A控)、10.0.0.3(B控),掩码255.255.255.0,用户名manage,密码!manage 2、   raid6本身有6块盘,坏了两块,热插拔更换硬盘后,系统并没有自动将新盘添加到卷簇而是标记为“AVAI”状态,需要手动将该盘添加到相应卷簇作为热备盘,而后系统会自动同步数据。具体操作如下: 在左侧一栏选择相应的虚拟磁盘 à configuration à manage dedicated spare à 勾选需要的硬盘(状态是AVAI) à modify spares à 搞定。 3、   raid5中两块有故障的硬盘,在管理界面中状态显示是“LFTOVR”,且该卷簇已“officeline”,可尝试使用“trust”命令。官方文档中关于此命令的使用禁忌有详细说明。文中提到该命令“只能作为进行灾难恢复的最后一步使用“、“此命令可能导致数据永久丢失,虚拟磁盘运行不稳定“、”如果具有一个磁盘的虚拟磁盘处于保留或故障状态,千万不要使用trust命令“,还提到“trust命令尝试同步保留磁盘,以使得所有保留磁盘再次成为虚拟磁盘的活动成员“。因为文中案例的Vdisk已是脱机状态且不止一块物理盘,加上卷簇中数据对于客户来说不是特别重要,于是尝试用trust命令。 # trust enable     //有些系统中该命是被禁用的 # show vdisk       //查看系统中全部虚拟磁盘(raid组)的状态 # trust vdisk*      //trust有保留(“LFTOVR”)磁盘的虚拟磁盘(卷簇) # show vdisk       //再次查看vdisk状态 如图所示,vd02执行trust命令后已经开始同步数据。系统中查看之前两块硬盘的状态,已经恢复正常。 至于成员盘为何会成为保留(LFTOVR)状态,官方有如下解释: a)在控制器轮询驱动器之前,驱动器加速转动未完成。当控制器查询驱动器并发现驱动器未处于就绪状态时,它会将驱动器置于 “保留”状态。 b)开机顺序不正确。 c)固件升级(由于定时问题)。 d)故障转移所耗时间比期望的时间长。 e)从其他 MSA 系统中交换驱动器,或从阵列中删除和重新插入。 官方还警示,通过trust命令激活的卷簇对于其它故障是零容忍,不能再放回生产环境中去,所以需要把trust后的虚拟磁盘上面的数据备份,删掉该虚拟磁盘后进行重建。 4、   添加热备盘 P2000 G3 Experiment à provisioning à manage global spares à 选中需要的硬盘 à modify spares à 搞定。 二、扩展HP-UX文件系统 1、   查看是否可以在线扩展 # swlist | grep –I vxfs […]

1、故障描述 A)系统日志 正常 B)MP->VFP->0 E  0  OS heartbeat C)MP->CM->PS->c->1 HW status for Cell 1 : FAILURE DETECTED Power status : on, 3.3V Module 0, VRM #8 VOLTAGE FAULT Boot is not blocked PDH memory is shared Processor Compatibility : OK RIO cable status : connected RIO cable connection physical location : PCI Domain 1 Core cell is cell 0 Attention Led is off PDHC status Leds :  ***- CPU Module Slot   0 1 2 3 Populated          P P P P Local 48V Good    * * * * Power Enabled   * * * * Power Good     * * * * (* - True, P - Processor, T - Terminator) DIMMs populated: 0 . . . 4 . . . 8 . . .12 . . . *   *   *   *   *   *   *   * 1 1 1 1 1 1 VRM's          1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 Present     : * * * * * * * * * * * * * * * Enabled      : * * * * * * * * * * * * * * * Pwr Good      : * * * * * * *   * * * * * * * Front Side Bus Freq.     : 200 MHz CPU Core Freq.        : 1000 MHz CPU Part Number   : PA8800 System Boot Rom (SFW) firmware rev  22.002 PDH controller (PDHC) firmware rev 3.023, built WED FEB 16 14:33:12 2005 MICE revision is 1.0 2、故障分析 查看rp8420用户手册可知,3.3V为高电压VRM,PN:0950-4123。 3、备件更换 一个cell板上有15个VRM,分别为高电压VRM和低电压VRM。有三种常见方法区别: ü 低电压VRM标记为“0.88-1.9V”,高电压VRM标记为“1.75-3.3V”。 ü 低电压VRM主针脚在插槽中间,高电压VRM主针脚在插槽边缘。(有待考证) ü 低电压VRM散热片小,高电压VRM散热片大。 通过系统固件,可以定位故障VRM,LV为电压VRM,HV为高电压VRM。 移除VRM步骤: 1. 移除机器右侧挡板(详见后文)。 2. 在MP命令行中对需要维护的Cell板进行断电处理(MP->CM->PE->c->)。 3. 确保在移除Cell板前,Cell板右手或左手边的绿色LED灯是灭的。 4. 弹出每一个拉手,将锁滑动到解锁位置。向外拖拉手,使Cell板脱离背板插槽。 5. 从底盘上滑出Cell板。 6. 移除内存和CPU保护罩。 7. 找出要替换的VRM。 8. 松开VRM固定螺丝。 9. 从Cell板上拔出VRM。 替换VRM […]

一、概述 为了实现上班偷懒以及被老板最小化利益压榨,为了在闲着的时候还能心安理得地拿工钱,耗时数天凑出一套自动telnet到主机并将巡检结果回传,整理后生成PDF文档的脚本。 二、脚本用途 1、 将主机密码和用户名放在脚本,实现自动telnet到主机。(脚本完成后可用软件加密,免除密码被闲杂人员看到的风险) 2、 可执行命令用变量来存储,可随意增删巡检内容。(至于PDF报告,则需要另外筛选、重新整理。) 3、 既然是自动,除了自动执行外,还可滤掉正确的项,只留下错误日志,让结果一目了然。 4、 生成PDF报告,可直接邮件BOSS,省事又方便。(这才是最重要的) 三、脚本结构 1、 auto_check.sh 遍历主机,调用各种脚本命令。 2、 host.exp 执行expect命令,简单来说,使远程命令在本地执行。 3、 console.exp 同host.exp功能相似,自动敲入回车等,只不过对象是小机MP卡。 4、 其它。过程中提取某一功能单独来写,凑字数。 四、小记 大功告成,哇哈哈,这下可以一门心思修电脑了。(此处应该有掌声) 总觉时间漫长,生亦何欢,死亦何哀,不管人生意义何在,坐吃等死绝不是最合理的一条路。多走走,多看看,不一定通达,但鼠目寸光一定会自取灭亡。 这个周末,好多个时间,只出去吃了两顿饭,总共睡了八九个小时,一直是眼睛盯着字母,心里走着循环,吃饭的时候都在想着这个点这么写会不会更好。总之一句话,水平有限,勉强为之累死人。不知道这两天给百度又添了多少搜索量。 电脑从一开始就循环着“爱是你我”、“西海情歌”,还特意外接了小音响,大晚上不知道从外面能不能听得到,此处按住不提。还别说,伴着女高音和刀哥沧桑的调子,思路不知道有多顺畅。当然,还有蹩脚的英文提示,和针对性不太强的变量以及用得不太熟的awk/sed命令和shell数组,就按各自理解,且学且用吧。 五、BUG 1、生成的PDF文件,有部分内容并未按照即定位置显示; 2、关于vmstat的结果,并未体现在PDF报告中; 3、代码冗长重复; 4、部分巡检功能未涉及。 附上脚本代码,涉及到隐私的,会用多个*代替。 Bash 1、auto_check.sh #! /bin/bash # auto_check.sh # Create by Kitaluft 8-2-14 # Copyright (c) 2014 Kitaluft. All right reserved. HOST=host USER=user […]

一、环境概述 共有六台HP小机,telnet IP分别为1.1.1.{1..6},MP卡地址分别为1.1.3.{1..6},其中1号机用户名密码分别为user\passwd,2号机管理员密码为123456,其余管理员密码为password。脚本分为四部分,telnet到主机并执行巡检telnet_host.exp,telnet到主机MP卡并查看日志 telnet_console.exp,管理多IP登陆并处理上述两个脚本生成日志auto_check.sh,以及巡检中需要用到的命令组合。 二、脚本作用域 1、查看/var/adm/syslog/syslog.log /etc/rc.log /etc/shutdownlog,筛选其中错误信息; 2、筛选#dmesg输出错误信息; 3、检查逻辑卷有无错误; 4、检查文件系统用量有无超过80%; 5、检查硬件有无错误; 6、检查物理内存、虚拟内存使用; 7、查看磁盘I/O情况; 8、查看CPU使用率; 三、脚本代码及解释 #! /bin/bash # auto_check.sh # HOST=host #定义变量,存放主机IP USER=user #定义变量,存放用户各 PASSWD=passwd #定义变量,存放用户密码 FLAG=flag #定义变量,在调用judge函数时进行区分 [ -f ./host.log ] && rm -rf ./host.log [ -f ./tmp.log ] && rm -rf ./tmp.log # 判断上一句中“grep”是否查找到预期值,当结果为否,则判断为日志无错误信息,则返回相应语句。 function judge_grep() { if [ $? -ne 0 ];then […]