一次棘手的rootvg更换硬盘处理过程

原文:http://www.talkwithtrend.com/Article/160857

事件起因

下午接到现场工程师电话,一台双系统抽屉IBM P570一个笼子掉了,经过排查电源坏了,经过各种折腾最后修复好了,但是发现rootvg的hdisk1掉了。经过检查,这台小机共有两块本地盘,每个系统抽屉1个,做了rootvg的镜像,现在来看,下面系统抽屉的硬盘损坏,连故障灯都不亮了。工程师反馈,损坏的硬盘无法删除。

事件处理

初次处理

  1. 当时第一反应,直接按PVID删除,告知工程师闪存命令,反馈依然无法删除。
  2. 远程登陆系统,经查询,存在大量的stale pp 
  3. 执行lsvg –p rootvg,提示odm里找不到旧磁盘了 
  4. 尝试通过rmlvcopy做了一下删除镜像的操作,估计没啥希望,结果提示报空间故障 
  5. 检查/tmp空间,发现不足,清理空间  删除多余空间后正常 
  6. 再次尝试rmlvcopy,依然报错,看报错,还是odm里已经没有了旧pv的信息,无法删除成功 
  7. 执行synclvodm 命令,同步信息,提示同步成功 
  8. 但再次执行查询命令,依然报错,抓狂啊 
  9. unmirror和reducevg当然也不行了 又回到了起点

再次分析

反推一下:
更换磁盘需要先解镜像---解镜像提示旧pv不在odm---synclvodm无法同步信息到odm

也就是说,必须要先解决0516-304的报错才可以往下走,但老pvid的信息又回不去,那怎么办?
自己创造一个吧

再次处理

  1. 告知工程师将坏盘拔了,换上新硬盘,扫描识别

  1. 确认坏盘的信息

  1. 通过bc命令,解构出坏盘PVID的八进制格式。

  1. 将坏盘的PVID数值强制写入新盘,发现暂时没变化

  1. 删除hdisk1重新识别后,pvid变成了以前的pvid

  1. 再次执行umirrorvg依然会失败,但是odm中已经有了旧pvid信息,这就好办了


  2. 查看rootvg的相关信息,虽然也异常,但已经不报0536-304的报错了

  1. 重新将hdisk1加入rootvg,可以看到,会出现2个hdisk1并存的情况,不用管它

  1. 执行unmirrorvg解镜像,报着错成功了,hdisk1的分布发生了变化,lv的镜像也解除了,虽然还是出现了2个hdisk1,不过暂时可以不用管他。

  1. 直接执行reducevg,报着错成功了,根据我们的操作,可以忽略报错。最后可以看到删除成功了。

  1. 后面就比较简单了,加盘,做镜像,生成引导,改引导顺序,一起都做了,不截图了。 bosboot -ad hdisk0 chdev -l hdisk1 -a pv=clear extendvg rootvg hdisk1 mirrorvg -c 2 rootvg hdisk0 hdisk1 bosboot -ad hdisk1 bootlist -m normal hdisk0 hdisk1

总结

每次问题的处理都是对基础知识的考验。只要坚信“问题总是可以解决的”,找到合适的切入点,终归会找到合适的解决方法。

最新文章

  1. MongoDB中的数据类型
  2. phpcms首页实现轮播图
  3. Sql Server中实现Mysql中的group_concat函数效果
  4. 八皇后java算法
  5. KMP算法 hdu4686 Oulipo
  6. 备份一张iPhone拍照写入exif中的orientation图片
  7. NYOJ 51-管闲事的小明
  8. JavaScript 变量克隆和判断变量类型
  9. ubuntu c程序操作系统设备
  10. C++ 中的类型转换机制详解
  11. JMeter命令行方式运行时动态设置线程数及其他属性(动态传参)
  12. 用JAVA中BufferedImage画出漂亮的验证码点击变化
  13. 字典 (dict) 的增删改查及其他方法
  14. 【HNOI2002】【矩阵快速幂】公交车路线
  15. Java多线程访问共享资源类及类之间关系设计
  16. Tinker 热修复
  17. File类_常见的方法(获取目录中指定规则的内容)_listFiles
  18. ThinkPHP5代码执行的简单分析
  19. 000 Jquery的Hello World程序
  20. D3——Axes

热门文章

  1. Servlet.service() for servlet UserServlet threw exception java.lang.NullPointerException 空指针异常
  2. C++中函数模版与类模版
  3. Modelsim设置数据以模拟波形显示
  4. wp8.1 sqlite Error - Deployment optimization failed due to an assembly that's not valid.
  5. 使用Toolbar + DrawerLayou实现菜单侧滑,改变toolbar左上角图标
  6. 解决“找不到请求的 .Net Framework Data Provider。可能没有安装.”错误
  7. Android App的破解技术有哪些?如何防止反编译?
  8. 如何让Syncthing始终使用同一个设备ID?
  9. Python3.5 学习四
  10. JavaWeb -pageContext/request/session/application