分类: AIX
2017-01-10 09:52:10
转自:http://blog.sina.com.cn/s/blog_149d7c9f30102vsae.html
AIX系统rootvg硬盘更换场景汇总
在IBM pSeries小型机日常维护过程中,经常会遇到AIX操作系统所在rootvg故障盘的情况。系统换盘对于硬件维护人员来说是极为普通的一件事,但就在这常见的换盘流程里也隐藏许多让你一时不知所措的情况。
rootvg是AIX操作系统所存在的VG,在生产环境中rootvg的硬盘都做了冗余保护措施,它可以通过硬件raid卡来实现,但绝大多数情况却是通过LVM逻辑卷镜像的方式来做保护,本文我们就主要讨论通过LVM操作逻辑卷镜像硬盘更换时所遇到的各种情况。
一、定义报错故障硬盘的两种状态。
第一种,硬盘频繁报错,lsvg –p rootvg硬盘状态为active,但可以进行读写。
第二种,硬盘彻底损坏,lsvg –p rootvg硬盘状态为missing或者removed。
常见的rootvg大多有两个PV组成。
rootvg中的lv通过mirrorvg 做了镜像关系。
如果硬盘出现故障,应该能看到lv status状态变为了stale,通过lslv -m hd2 查看lv的stale的状态。
二、开始模拟场景
场景一
部分lv未镜像,在unmirrorvg后,故障硬盘上仍然存在某些lv,导致无法reducevg 这块硬盘。
这时需要查看报错硬盘上lv的状态是否正常,如果可读写,可以通过migratepv 将lv从故障盘迁移到好盘。
通过lspv确认hdisk0上有足够的free pp,既可以执行迁移命令“migratepv -l sapsoftlv hdisk1 hdisk0”。
如果硬盘彻底损坏,就需要从系统中删除lv定义,建议直接删除文件系统,当删除文件系统的同时,对应的lv将自动被删除。如果只删除lv,文件系统的定义将依然存在于系统ODM库中和配置文件中。
删除故障盘上lv定义后,继续走更换流程,待更换完毕后再重建删除掉的lv及文件系统并恢复数据。这里可以看到平时对数据备份和lv进行镜像是非常重要的。
场景二
在unmirrorvg后发现有lv同时在两个pv上存在,即为lv跨pv的情况,这种情况和上面的处理方式一致。
1.如果故障盘还可以读写,尝试将故障盘上部分lv迁移至好的pv上。
此项操作的前提是好盘上存在足够的free pp可以使用,如果好盘上没有空间了,就无法进行操作了。如果主机本地还有空槽位,可以先增加一块盘到rootvg中,使用迁移命令将lv迁移到新硬盘 中,然后在踢出故障硬盘。这里除了migratepv命令,可能还会用到migratelp命令,我们将会在最后一个场景中介绍。
2.如果故障硬盘彻底损坏,删除lv对应的文件系统,尽管好盘上的部分lv还是好的。
场景三
在unmirrorvg后发现故障盘上还存在lg_dumplv的lv,好盘上却没有。
1.如果故障盘还能读写,通过migratepv将lg_dumplv迁移到好盘上即可。
2.如果故障盘彻底损坏,按以下方式操作。
1) sysdumplv -l查看当前的primary dump设备;
2) 在好盘上建立一个lv,取名dumplv,type设置为sysdump类型;
3) sysdumplv-P-p/dev/dumplv
4) sysdumplv -l 确认primary dump device已经改到新dump设备上;
5) 删除lg_dumplv。
此时要使用原来lg_dumplv的名字,按照上述步骤在好盘上再建立一个lg_dumplv,再将primary dump设备指向回来。这部分修改完成就可以按照正常换盘流程进行了。
场景四
当发现Paging space空间除了hd6还有paging00并同时分布在两个盘且没有镜像,在Unmirrorvg后,报错硬盘上还是有paging00。这时候需要删除paging00,在镜像完成后确认是否再次创建paging space。
完成后将hdisk1上的paging00删除,走正常更换流程,更换完毕后,重新创建一个paging space
场景五
前面所说的都是rootvg中含有hdisk0和hdisk1两块硬盘的情况,如果rootvg包含超过两块硬盘,可按照以下方法操作。
多数情况下,硬盘过多是由于空间不足而进行扩容所导致的,并且硬盘大小也可能不一致,这种情况下就很可能造成lv跨卷,使lv的镜像分布在多块硬盘上。
这时需要活用lsvg,lspv,lslv等命令准确的分辨出每块硬盘上lv及其他lv在不同硬盘上的镜像情况和分布情况。往往此时unmirrorvg 不能达到理想的目的,所以最好使用rmlvcopy、mklvcopy等命令来精准调整lv在不同pv上的镜像情况。如果一个lv跨多个卷并且每一个pv 上的free pp都不能满足这个lv,就需要使用migratelv、migratelp等命令来调整lv的分布,最终达到更换故障硬盘的目的。
下面看一个例子,rootvg中存在4个pv,并且有硬盘大小不一致的情况。
首先通过rmlvcopy来解除lv的镜像关系
查看sapsoftlv的分布情况
假设hdisk1出现频繁报错,要将hdisk1上sapsoftlv的lp迁移到hdisk0和hdisk2上,通过migratelp来精准迁移。
将sapsoftlv分布在hdisk1上的lp分别迁移至hdisk0和hdisk2上后,使hdisk1上没有任何lv,就可以按照正常流程进行硬盘更换流程了。