AIX的rootvg两块盘同时异常

errpt的报错显示hdisk1有问题:

errpt|more

IDENTIFIER TIMESTAMP T C RESOURCE_NAME DESCRIPTION

80D3764C 0619103119 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0619103119 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0619103119 P H hdisk1 DISK OPERATION ERROR

80D3764C 0619010319 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0619010319 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0619010319 P H hdisk1 DISK OPERATION ERROR

80D3764C 0619003819 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0619003819 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0619003819 P H hdisk1 DISK OPERATION ERROR

6CADB5B8 0619000119 T H sissas0 SATA ERROR

12296806 0619000119 T H sissas0 SAS ERROR

6CADB5B8 0619000119 T H sissas0 SATA ERROR

12296806 0619000119 T H sissas0 SAS ERROR

12296806 0619000119 T H sissas0 SAS ERROR

12296806 0619000119 T H sissas0 SAS ERROR

80D3764C 0618234419 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0618234419 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0618234419 P H hdisk1 DISK OPERATION ERROR

80D3764C 0618234019 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0618234019 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0618234019 P H hdisk1 DISK OPERATION ERROR

80D3764C 0618225419 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0618225419 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0618225419 P H hdisk1 DISK OPERATION ERROR

80D3764C 0618221919 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0618221919 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0618221919 P H hdisk1 DISK OPERATION ERROR

80D3764C 0618214019 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0618214019 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0618214019 P H hdisk1 DISK OPERATION ERROR

80D3764C 0618145919 U H LVDD PV NO LONGER RELOCATING NEW BAD BLOCKS

E86653C3 0618145919 P H LVDD I/O ERROR DETECTED BY LVM

747725D9 0618145919 P H hdisk1 DISK OPERATION ERROR

A924A5FC 0615111119 P S SYSPROC SOFTWARE PROGRAM ABNORMALLY TERMINATED

rootvg的状态:

$ lsvg

rootvg

$ lsvg -o

rootvg

$ lsvg -l rootvg

rootvg:

LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT

hd5 boot 1 1 1 closed/syncd N/A

hd6 paging 1 3 3 open/syncd N/A

hd8 jfs2log 1 3 3 open/syncd N/A

hd4 jfs2 120 360 3 open/syncd /

hd2 jfs2 40 120 3 open/syncd /usr

hd9var jfs2 20 60 3 open/syncd /var

hd3 jfs2 60 180 3 open/syncd /tmp

hd1 jfs2 40 120 3 open/syncd /home

hd10opt jfs2 20 60 3 open/syncd /opt

hd11admin jfs2 1 1 1 open/syncd /admin

lg_dumplv sysdump 6 6 1 open/syncd N/A

livedump jfs2 1 1 1 open/syncd /var/adm/ras/livedump

fslv01 jfs2 200 600 3 open/stale /ibslog

查看lv的分布状态

$ lspv -l hdisk0

hdisk0:

LV NAME LPs PPs DISTRIBUTION MOUNT POINT

hd11admin 1 1 00..00..01..00..00 /admin

lg_dumplv 6 6 00..06..00..00..00 N/A

livedump 1 1 00..01..00..00..00 /var/adm/ras/livedump

fslv01 200 200 111..00..00..24..65 /ibslog

hd5 1 1 01..00..00..00..00 N/A

hd8 1 1 00..00..01..00..00 N/A

hd6 1 1 00..01..00..00..00 N/A

hd2 40 40 00..32..08..00..00 /usr

hd4 120 120 00..31..02..87..00 /

hd3 60 60 00..10..50..00..00 /tmp

hd9var 20 20 00..18..02..00..00 /var

hd10opt 20 20 00..00..20..00..00 /opt

hd1 40 40 00..13..27..00..00 /home

$ lspv -l hdisk1

hdisk1:

LV NAME LPs PPs DISTRIBUTION MOUNT POINT

fslv01 200 200 111..29..00..60..00 /ibslog

hd8 1 1 00..00..01..00..00 N/A

hd6 1 1 00..01..00..00..00 N/A

hd2 40 40 00..32..08..00..00 /usr

hd4 120 120 00..18..02..01..99 /

hd3 60 60 00..00..50..10..00 /tmp

hd9var 20 20 00..18..02..00..00 /var

hd10opt 20 20 00..00..20..00..00 /opt

hd1 40 40 00..13..27..00..00 /home

最初打算直接替换hdisk1,在Unmirrorvg rootvg hdisk1的时候报错了,提示有stale状态的lv,要用syncvg进行同步。但syncvg确失败了。

通过以下步骤发现hdisk0上也有stale状态的lv

$ lspv -p hdisk0

hdisk0:

PP RANGE STATE REGION LV NAME TYPE MOUNT POINT

1-1 used outer edge hd5 boot N/A

2-32 used outer edge fslv01 jfs2 /ibslog

33-33 stale outer edge fslv01 jfs2 /ibslog

34-112 used outer edge fslv01 jfs2 /ibslog

113-113 used outer middle hd6 paging N/A

114-119 used outer middle lg_dumplv sysdump N/A

120-120 used outer middle livedump jfs2 /var/adm/ras/livedump

121-133 used outer middle hd4 jfs2 /

134-143 used outer middle hd3 jfs2 /tmp

144-161 used outer middle hd4 jfs2 /

162-193 used outer middle hd2 jfs2 /usr

194-211 used outer middle hd9var jfs2 /var

212-224 used outer middle hd1 jfs2 /home

225-225 used center hd8 jfs2log N/A

226-227 used center hd4 jfs2 /

228-235 used center hd2 jfs2 /usr

236-237 used center hd9var jfs2 /var

238-287 used center hd3 jfs2 /tmp

288-288 used center hd1 jfs2 /home

289-289 used center hd10opt jfs2 /opt

290-290 used center hd11admin jfs2 /admin

291-309 used center hd10opt jfs2 /opt

310-335 used center hd1 jfs2 /home

336-422 used inner middle hd4 jfs2 /

423-446 used inner middle fslv01 jfs2 /ibslog

447-511 used inner edge fslv01 jfs2 /ibslog

512-558 free inner edge

$ lspv -p hdisk1

hdisk1:

PP RANGE STATE REGION LV NAME TYPE MOUNT POINT

1-1 free outer edge

2-112 used outer edge fslv01 jfs2 /ibslog

113-113 used outer middle hd6 paging N/A

114-114 free outer middle

115-143 used outer middle fslv01 jfs2 /ibslog

144-161 used outer middle hd4 jfs2 /

162-193 used outer middle hd2 jfs2 /usr

194-211 used outer middle hd9var jfs2 /var

212-224 used outer middle hd1 jfs2 /home

225-225 used center hd8 jfs2log N/A

226-227 used center hd4 jfs2 /

228-235 used center hd2 jfs2 /usr

236-237 used center hd9var jfs2 /var

238-287 used center hd3 jfs2 /tmp

288-288 used center hd1 jfs2 /home

289-289 used center hd10opt jfs2 /opt

290-290 free center

291-309 used center hd10opt jfs2 /opt

310-335 used center hd1 jfs2 /home

336-395 used inner middle fslv01 jfs2 /ibslog

396-435 free inner middle

436-445 used inner middle hd3 jfs2 /tmp

446-446 used inner middle hd4 jfs2 /

447-545 used inner edge hd4 jfs2 /

546-558 free inner edge

因此推测hdisk0上文件系统错误,hdisk1出现硬件损坏。

后续措施:添加新盘hdisk2,smit mirrorvg 做成1:3,在hdisk2上rmlvcopy, 除去有问题的stale状态的lv,然后migratepv把fslv从hdisk1上(为sysnc状态)移动到hdisk2,失败了。因此决定停掉业务后,进行重做文件系统。

涉及系统

此系统为负载均衡,未用到存储。

故障现象

rootvg的两块盘均出现异常,hdisk1出现物理损坏,正常状态下可以在线替换掉这块盘,然而由于hdisk0的状态为未同步,无法在线更换,需要进行停机

(需要停机时间4小时,包括进行回退所需的时间)。

受影响的目录为/ibslog,数据量约50G:

$ df -g

Filesystem GB blocks Free %Used Iused %Iused Mounted on

/dev/hd4 60.00 58.49 3% 19566 1% /

/dev/hd2 20.00 16.06 20% 59036 2% /usr

/dev/hd9var 10.00 8.45 16% 7352 1% /var

/dev/hd3 30.00 29.66 2% 431 1% /tmp

/dev/hd1 20.00 18.97 6% 6415 1% /home

/dev/hd11admin 0.50 0.50 1% 7 1% /admin

/proc – – – – – /proc

/dev/hd10opt 10.00 5.58 45% 54517 4% /opt

/dev/livedump 0.50 0.50 1% 4 1% /var/adm/ras/livedump

/dev/fslv01 100.00 52.28 48% 2781 1% /ibslog

变更步骤

备份受影响的文件系统

从其他服务器挂载nfs共享目录至server

smit nfs->Network File System.->Add a file system for mounting,将/backup挂载至server

cp -rp /ibslog /backup/ 将ibslog文件夹备份至其他服务器;

验证备份数据的大小、权限等

F5调整

停止应用

更换硬盘

收集配置

smit lv-> Show Characteristics of a Logical Volume->选择fslv01收集原有的卷组配置

除去卷组

smit lv -> remove a logical volume->选择fslv01

除去坏盘

Unmirrorvg rootvg hdisk1

Reducevg rootvg hdisk1

Rmdev Rdl hdisk1

换盘后,再cfgmgr v

添加新盘

AIX上通过diag判定DISK位置

#diag 执行命令回车

选择黑色部分

用PgDn键翻页找到Hot plug Task回车

选择黑色部分,回车

继续选择黑色部分

选择想判定位置的目标DISK,比如:hdisk1

回车,这个时候去观察硬盘,会发现硬盘的指示灯会显示”红色”,这个硬盘就是你需要判定的目标盘。

如果想把这个有故障的硬盘从SCSI剔除,用F3返回上一级菜单选择”Replace/Remove a Device Attached to an SCSI Hot Swap Enclosure Device”

光标移到hdisk1处,回车

然后拔掉故障磁盘,插上新的磁盘,执行cfgmgr –v,重新识别出新插的磁盘。

消除系统警告灯

选择黑色部分,回车

用Enter键选择黑色部分,在按F7或者Esc+7键commit

重做镜像

确认新盘hdisk0是否有PVID lspv  rootvg

hdisk0         00c3f435d0f4916c                    rootvg          active

hdisk1 00c2f65fa4a27df5 none none

上面标红的即是。

如果没有,需要手动添加:chdev -l hdisk1 -a pv=yes

HDISK1出现后, HDISK1加到ROOTVG

#extendvg rootvg hdisk1

MIRROR  mirrorvg –S rootvg (也可执行mirrorvg –c 2 rootvg 等待时间较长)

0516-1804 chvg: The quorum change takes effect immediately.

0516-1126 mirrorvg: rootvg successfully mirrored, user should perform

bosboot of system to initialize boot records. Then, user must modify

bootlist to include: hdisk1 hdisk0.

查看PV  lspv  

Hdisk0          00x9k241k2l3811n                    rootvg          active

hdisk1          00c3f435d0f4916c                    rootvg          active

HDISK0上创建boot image

bosboot –ad hdisk1

bosboot: Boot image is 51228 512 byte blocks

先确认当前启动顺序
bootlist –m normal -o

改变启动设备的顺序  bootlist –m normal hdisk0 hdisk1 cd0 

确认修改后的启动顺序
bootlist –m normal -o

后续操作:在HMC上关闭事件,系统中执行errclear 0清空相关报错。

重做文件系统

smit lv->
Add a Logical Volume然后依据之前记录的配置来重做fslv01

smit fs->
Add / Change / Show / Delete File Systems-> Enhanced Journaled File Systems->
Add an Enhanced Journaled File System on a Previously Defined Logical Volume->lv name填入fslv01,挂载点选择/ibslog,再执行mount -a,挂载文件系统。注意调整/ibslog的权限

数据恢复及验证

cp -rp /backup/ibslog/ /ibslog, 然后验证文件大小,权限,读写属性等。

启动应用、调整F5

回退步骤

本次变更前已将重要数据备份至独立的外部nfs服务器,在出现问题时可利用备份数据进行重建。如遇其他服务器硬件故障,可协调IBM原厂及时处理。

总结

ibslog这个重建后的文件系统在做mirror同步时,发现挂载的nfs共享目录(备份数据用)无法umount, fuser /nfsdir 查看进程号,发现占用此文件的进程为syncvg -v rootvg ,判断为后台做mirror时,syncvg同时锁定了rootvg,而/nfsdir是建立在根目录下,属于rootvg,从而暂时无法卸载

发表评论

您的电子邮箱地址不会被公开。