2021년 8월 10일 화요일

기존 VG의 pvid를 변경하는 절차 정리

 

이유가 어떻건 간에 pvid를 바꿔야 하는 경우가 있을 수 있습니다.  이때 기존 VG의 data를 파손하지 않으면서 그렇게 할 수 있는 방법은 chdev 명령으로 pv=clear를 하고난 뒤 recreatevg를 하는 것입니다.   아래와 같이 정리했습니다.


기존 pvid와 VG name, 그리고 LV name 등을 확인합니다.  여기서 hdisk1의 pvid를 바꾸겠습니다.


/ # lspv

hdisk0          00f6db0af58e9775                    rootvg          active

hdisk1          00f9d7b4aa7cc533                    lthvg           active

hdisk2          00f9d7b4afdd3f2e                    lthvg           active

hdisk3          00f9d7b4afdd3ff4                    lthvg           active

hdisk4          00f9d7b41e2e58e1                    None

hdisk5          00f9d7b4afdd409f                    lthvg           active

hdisk6          00f9d7b42df8691c                    lthvg           active


/ # lsvg -l lthvg

lthvg:

LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT

loglv00             jfs2log    1       1       1    open/syncd    N/A

fslv00              jfs2       12800   12800   5    open/syncd    /trace


먼저 filesystem을 umount하고 VG를 내립니다.  그리고 VG도 exportvg 합니다.


/ # umount /trace


/ # varyoffvg lthvg


/ # exportvg lthvg


이제 hdisk1의 pvid를 clear 하겠습니다.


/ # chdev -l hdisk1 -a pv=clear

hdisk1 changed


/ # lspv

hdisk0          00f6db0af58e9775                    rootvg          active

hdisk1          none                                None

hdisk2          00f9d7b4afdd3f2e                    None

hdisk3          00f9d7b4afdd3ff4                    None

hdisk4          00f9d7b41e2e58e1                    None

hdisk5          00f9d7b4afdd409f                    None

hdisk6          00f9d7b42df8691c                    None


그 다음에 recreatevg 명령을 내립니다.  이때, 반드시 -Y LA -L / 이라는 옵션을 붙여야 기존 LV name 등이 변경되지 않는다는 점에 유의하십시요.  또한 기존 VG의 모든 hdisk 번호들을 다 명기해야 합니다.


/ # recreatevg -y lthvg -Y NA -L / hdisk1 hdisk2 hdisk3 hdisk5 hdisk6

lthvg


이제 pvid가 새로운 것이 주어진 것을 보실 수 있습니다.


/ # lspv

hdisk0          00f6db0af58e9775                    rootvg          active

hdisk1          00f9d7b42f325d3b                    lthvg           active

hdisk2          00f9d7b42f325db6                    lthvg           active

hdisk3          00f9d7b42f325e48                    lthvg           active

hdisk4          00f9d7b41e2e58e1                    None

hdisk5          00f9d7b42f325ec8                    lthvg           active

hdisk6          00f9d7b42f325f41                    lthvg           active


varyonvg한 뒤, 기존 LV 등이 기존과 똑같이 보존된 것을 확인하시면 됩니다.


/ # varyonvg lthvg


/ # lsvg -l lthvg

lthvg:

LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT

loglv00             jfs2log    1       1       1    closed/syncd  N/A

fslv00              jfs2       12800   12800   5    closed/syncd  /trace


/ # mount /trace


/ # ls -l /trace

total 46662784

-rw-r-----    1 root     system   16502636544 Jun 21 04:52 64C_0620_.CCA.tar

drwxr-xr-x   12 root     system        94208 Jun 21 07:34 64C_0620_CAA

drwxr-xr-x    2 root     system        20480 Jun 20 20:16 64C_0621_CAA_nodelayack

-rw-r-----    1 root     system   5218713600 Jun 21 03:52 64C_0621_CAA_nodelayack.tar


댓글 없음:

댓글 쓰기