본문 바로가기

Work Sharing

[AIX] Mirroring된 rootvg disk를 교체하는 방법

반응형

안녕하세요.

오늘은 AIX 운영체제에서 rootvg를 mirroring해서 운영하는 곳이 대부분인데 두 개의 hdisk 중

하나의 disk에 문제가 생겨서 교체하게 되는 경우에, 교체 절차에 대해 적어보려 합니다.

보통 disk에 장애가 발생하면 errpt에 DISK OPERATION ERROR나 LVM I/O ERROR와 같은

error log가 발생하게 됩니다.

그런경우에 다음의 명령으로 disk 상태를 확인할 수 있습니다.

# lsdev -Cc disk // 장애난 disk가 defined로 보이는 경우, 해당 disk 교체 필요

# lsvg rootvg // STALE PVs, STALE PPs 항목 확인

# lsvg -p rootvg // active가 아닌 다른 상태의 PV를 확인해서 해당 disk 교체

지금은 정상인 상태이지만, 이상이 있다면 # lsvg rootvg 명령에서 STALE PVs 항목에 0이 아닌 1이 표시되거나,

STALE PPs에 0이 아닌 다른 숫자가 표시될 겁니다.

그리고 # lsvg -p rootvg 명령으로 어떤 disk가 fail, missing과 같은 상태로 보이는지 확인을 할 수 있습니다.

여기서는 hdisk1에 문제가 있어 교체를 한다고 가정해봅시다.

먼저 mirroring을 풀어야 합니다.

# smitty unmirrorvg

또는

# smitty -> System Storage Management -> Logical Volume Manager

-> Volume Groups -> Unmirror a Volume Group

Volume Group name 항목에 커서를 놓고 F4를 누르면 VG들이 나오는데 rootvg를 골라줍니다.

다음 화면에서 PHYSICAL VOLUME names에 교체할 disk를 골라줍니다.

남길 disk를 고르는 것이 아니라, 제거할 disk를 골라야 합니다.

이러한 message가 나오면서 OK가 표시되면 umirror가 완료된 것입니다.

SMIT menu가 아니고 CLI로도 작업할 수 있습니다.

# unmirrorvg rootvg hdisk1

unmirror가 완료되면, rootvg에서 장애 disk를 제거해야 disk를 교체할 수 있습니다.

역시 SMIT menu에서 작업을 하면 됩니다.

# smitty reducevg

또는

# smitty -> System Storage Management -> Logical Volume Manager -> Volume Groups

-> Set Characteristics of a Volume Group -> Remove a Physical Volume from a Volume Group

unmirror때와 마찬가지로 F4를 눌러서 VG를 골라줍니다.

제거할 disk를 선택합니다.

명령어는 다음과 같습니다.

# reducevg rootvg hdisk1

진행을 했더니 error가 발생하면서 failed가 되었습니다.

내용은 hdisk에 LV가 있어서 제거할 수 없다는 것입니다.

# lspv -l hdisk1

확인해보니 dump device가 hdisk1에 있었네요.

제일 흔한 경우인데, 이럴 때는 dump device를 migratepv 명령으로 hdisk0으로 옮겨주거나

새로운 dump device를 hdisk0에 만들어주면 됩니다.

# smitty migratepv

또는

# smitty -> System Storage Management -> Logical Volume Manager -> Physical Volumes

-> Move Contents of a Physical Volume

으로 들어가서 SOURCE physical volume name에 F4를 눌러서 hdisk1을 골라줍니다.

DESTINATION physical volumes에 F4를 눌러서 hdisk0을 선택합니다.

Move only data belonging to this LOGICAL VOLUME 항목에 따로 LV를 지정하지 않으면,

hdisk1에 있는 모든 LV가 hdisk0으로 이동합니다.

dump device 밖에 없으니 그냥 지정하지 않고 수행하면 OK가 나오면서 완료됩니다.

LV의 크기와 갯수에 따라 시간이 꽤 걸리는 작업입니다.

# migratepv hdisk1 hdisk0

이렇게 지정해도 됩니다.

잘 제거되었는지 확인해봅시다.

잘 되었으면 disk교체를 진행해야죠.

# rmdev -dl hdisk1

명령으로 교체할 disk를 제거해주고,

# diag -> Task Selection -> Hot Plug Manager -> SCSI and SCSI RAID Hot Plug Manager

-> Replace/Remove a Device Attatched to an SCSI Hot Swap Enclosure Device

에 들어가서 지시에 따라 교체를 해줍니다.

교체가 완료되면 diag menu를 나와서 

# cfgmgr

명령을 수행합니다. 그리고 disk 인식이 되었는지 확인합니다.

인식이 되었으면 # extendvg rootvg hdisk1 명령으로 교체한 disk를 rootvg에 넣어줍니다.

만약, 기존에 사용하던 disk를 rootvg에 사용하고자 할 경우, extendvg 명령이 fail될 수 있습니다.

이럴 때는 -f option을 주고 rootvg에 넣어줍니다.

# extendvg -f rootvg hdisk1 (-f: Force option)

# smitty mirrorvg

또는

# smitty -> System Storage Management -> Logical Volume Manager -> Volume Groups -> Mirror a Volume Group

에서 mirroring할 VG를 선택하고,

Mirror sync mode는 Background를, PHYSICAL VOLUME names에는 hdisk0과 hdisk1를 모두 선택합니다.

그리고 그리고 다음으로 넘어갑니다.

OK가 나오면서 mirroring이 진행됩니다.

명령어는 # mirrorvg -S rootvg hdisk0 hdisk1 입니다. (-S option: background option)

SMIT menu를 나와서 진행상황을 봅니다.

# lsvg -l rootvg

명령으로 확인하면 open/stale로 보이는 LV들이 있는데, 모두 open/syncd로 표시되면 mirroring은 완료됩니다.

# lsvg rootvg

명령으로 STALE PPs 항목이 0이 될 때까지 기다리시면 완료됩니다.

disk의 성능에 따라 시간이 꽤 걸릴 수 있습니다.

mirroring이 진행되는 동안 bootlist를 다시 잡아주면 모든 작업이 완료됩니다.

# bosboot -ad /dev/ipldevice

# bootlist -m normal -o

 

반응형