Chinaunix首页 | 论坛 | 博客
  • 博客访问: 107329
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 30
  • 用 户 组: 普通用户
  • 注册时间: 2020-02-11 18:44
文章分类

全部博文(14)

文章存档

2020年(14)

我的朋友

分类: AIX

2020-02-11 21:38:06

转自: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,就可以按照正常流程进行硬盘更换流程了。

阅读(4367) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~