AIX下rootvg镜像硬盘更换步骤
AIX下rootvg镜像硬盘更换步骤
参考:
http://broadview.blog.chinaunix.net/uid-30236372-id-5758114.html
https://blog.****.net/wmc2750301/article/details/78016686
https://www.ioperat.com/news/operation/24.html
LV迁移
在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,就可以按照正常流程进行硬盘更换流程了。
接下来为更换流程:
已确认是HDISK0坏,去之后先做三件事情
a、 在主机上执行bosboot –ad /dev/hdisk1
b、 在主机上执行bootlist –m normal hdisk1
c、 确认hdisk0上/XXXX文件系统的重要性,如果重要先将数据备份出来
以下以rootvg中hdiskX故障为例:
1.列出物理卷,这里要对预报警硬盘hdiskX进行更换。
# lspv
- 列出rootvg卷组
若逻辑卷中的PPs是LPs的两倍,同时PV数是2,则说明该逻辑卷已经配置镜像
lsvg -l rootvg
3、 解磁盘镜像
# unmirrorvg rootvg hdiskX
4、 确认unmirror是否成功
# lsvg -l rootvg
5、 从卷中删除物理卷hdisk0,可能会报0516-016,0516-884错误,原因是lg_dumolv(dump device)建在hdisk0上,lslv -l lg_dumolv可以查看
# reducevg rootvg hdiskX
6、修改dump
# sysdumpdev -P -p /dev/sysdumpnull
7、重新执行删除物理卷hdisk0,可能会报0516-914错误,可以用smitty reducevg强制删除
# reducevg rootvg hdiskX
8 lspv
9、删除坏硬盘或者用diag工具中Replace/Remove a Device Attached to an SCSI Hot Swap Enclosure Device 选项移除hdisk0
# rmdev -dl hdiskX
DIAG定位磁盘
1.登陆AIX,执行#diag
2.回车
3.选择“Task Selection”
4.按PgDn,选择“Hot Plug Task”
5.选择“SCSI
and SCSI RAID Hot Plug Manager”
6.选择“Identify a Device Attached to aSCSI Hot Swap Enclosure Device”
7.选择想判定位置的目标DISK,比如:hdisk0
8.回车,这个时候去观察硬盘,你会发现硬盘的指示灯会显示“红色”,这个硬盘就是你需要判定的目标盘。
9.如果想把这个有故障的硬盘从SCSI剔除,返回上一级菜单选择“Replace/Remove a Device Attached to an SCSI Hot Swap Enclosure Device”
10.然后选择想剔除的硬盘即可。
10、插入新硬盘,cfgmgr,lspv识别的新磁盘
#cfgmgr
#lspv
如果无PVID,执行
# chdev -l hdiskX -a pv=yes
11、将更换后的硬盘添加如卷组当中
# extendvg rootvg hdiskX
12 关闭QUORUM(关闭quorum就是为了VG在少于半数的vgda存活时不会自动挂起)
# chvg -Qn rootvg
13、用smit工具做mirrorvg镜像,选择 rootvg和hdisk0,同步模式选择background后台同步
# smit mirrorvg
或者
(不建议用命令行)
# mirrorvg -c 2 rootvg hdisk0 hdisk1 //镜像rootvg
14、为hdiskX 建立引导信息
# bosboot -ad /dev/hdiskX
15、重新设置引导顺序,使之都能够引导系统
# bootlist -m normal hdisk0 hdisk1(自己定)
# bootlist -m normal -o
16、重建dumplv,其中16为dump lv的PP数量,可以根据具体环境更改
# mklv -t sysdump -y lg_dumplv rootvg 16 hdisk0
17、修改主设用dump device
# sysdumpdev -Pp /dev/lg_dumplv
18、查看rootvg
# lsvg -l rootvg