320x100
안녕하세요. 빛나는불꽃 입니다.
오늘은 데이터 마이그레이션 하는 방법에 대해서 알아보겠습니다.
일반적으로 외장디스크(스토리지)가 변경될 경우 스토리지 업체에서 DATA Migration을 하는게 간단합니다.
하지만 여러가지 이유로 인해서 OS에서 데이터를 복제하는 경우가 생깁니다.
OS에서 자주사용하게 되는 미러링 작업으로 인해 데이터를 복제하는 방법을 테스트 해보겠습니다.
1. 테스트 환경
테스트를 위해 볼륨그룹 [datavg] 와 LV [lv01, lv02, lv03] 를 생성하였습니다.
동일한 용량인 신규 디스크 (hdisk1, hdisk3) 에 DATA 를 복제하도록 하겠습니다.
[node2:root]/>lspv hdisk0 00c5c1d71c2b3c88 rootvg active hdisk1 00c5c1d73a9d5461 None << 신규 디스크 hdisk2 00c5c1d73a9d54a0 datavg active hdisk3 00c5c1d73a9d414b None << 신규 디스크 hdisk4 00c5c1d73a9d4187 datavg active [node2:root]/>bootinfo -s hdisk1 102400 [node2:root]/>bootinfo -s hdisk2 102400 [node2:root]/>bootinfo -s hdisk3 51200 [node2:root]/>bootinfo -s hdisk4 51200 [node2:root]/>lsvg -l datavg datavg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT lv01 jfs2 10 10 2 open/syncd /fs01 lv02 jfs2 10 10 1 open/syncd /fs02 lv03 jfs2 10 10 1 open/syncd /fs03 lv01, lv02, lv03 이름으로 LV를 생성하였고 각 /fs01, /fs02, /fs03 마운트포인트로 파일시스템을 생성해주었습니다. [node2:root]/>lslv -l lv01 > hdisk2, hdisk4 에 데이터 존재 lv01:/fs01 PV COPIES IN BAND DISTRIBUTION hdisk2 005:000:000 100% 000:005:000:000:000 hdisk4 005:000:000 100% 000:005:000:000:000 [node2:root]/>lslv -l lv02 > hdisk2 에 데이터 존재 lv02:/fs02 PV COPIES IN BAND DISTRIBUTION hdisk2 010:000:000 100% 000:010:000:000:000 [node2:root]/>lslv -l lv03 > hdisk4 에 데이터 존재 lv03:/fs03 PV COPIES IN BAND DISTRIBUTION hdisk4 010:000:000 100% 000:010:000:000:000 |
2. 미러링 작업
[node2:root]/>extendvg datavg hdisk1 hdisk3 >> hdisk1, hdisk3 디스크를 datavg에 추가 [node2:root]/>lspv hdisk0 00c5c1d71c2b3c88 rootvg active hdisk1 00c5c1d73a9d5461 datavg active hdisk2 00c5c1d73a9d54a0 datavg active hdisk3 00c5c1d73a9d414b datavg active hdisk4 00c5c1d73a9d4187 datavg active [node2:root]/>mirrorvg '-S' datavg hdisk1 hdisk3 >> Background 로 datavg 미러링 0516-1804 chvg: The quorum change takes effect immediately. [node2:root]/>lsvg -l datavg datavg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT lv01 jfs2 10 20 4 open/stale /fs01 lv02 jfs2 10 20 2 open/stale /fs02 lv03 jfs2 10 20 2 open/stale /fs03 loglv00 jfs2log 1 2 2 open/stale N/A LPs 값이 LPs의 값의 2배가 되며, PPS가 2배로 늘어나게 됩니다. [node2:root]/>lsvg datavg | grep -i stale STALE PVs: 0 STALE PPs: 0 STALE 값이 0으로 확인되면, 정상적으로 미러링 작업이 완료된 겁니다. [node2:root]/>lslv -m lv01 lv01:/fs01 LP PP1 PV1 PP2 PV2 PP3 PV3 0001 0041 hdisk2 0041 hdisk1 0002 0021 hdisk4 0021 hdisk3 0003 0042 hdisk2 0042 hdisk1 0004 0022 hdisk4 0022 hdisk3 ... [lv01] LV는 기존 hdisk2, hdisk4 에 존재하였고 신규 디스크인 hdisk1, hdisk3으로 복제가 되었습니다. [node2:root]/>lslv -m lv02 lv02:/fs02 LP PP1 PV1 PP2 PV2 PP3 PV3 0001 0046 hdisk2 0046 hdisk1 0002 0047 hdisk2 0047 hdisk1 0003 0048 hdisk2 0048 hdisk1 0004 0049 hdisk2 0049 hdisk1 ... [lv02] LV는 기존 hdisk2 에 존재하였고 신규 디스크인 hdisk1으로 복제가 되었습니다. [node2:root]/>lslv -m lv03 lv03:/fs03 LP PP1 PV1 PP2 PV2 PP3 PV3 0001 0026 hdisk4 0056 hdisk1 0002 0027 hdisk4 0057 hdisk1 0003 0028 hdisk4 0058 hdisk1 0004 0029 hdisk4 0059 hdisk1 ... [lv02] LV는 기존 hdisk4 에 존재하였고 신규 디스크인 hdisk1으로 복제가 되었습니다. 여기서 Mirroing 의 문제점을 발견하게 됩니다. 기존 hdisk4 에 존재하였던 LV가 동일한 용량인 hdisk3에 복제가 되는 것이 아닌 첫번쨰 디스크인 hdisk1로 복제가 일어 나게 됩니다. 이로인해 여러 개의 LV를 미러링을 하게 되면 복제되는 디스크 처음부터 데이터를 사용하게 되므로 as-is, to-be 디스크 안의 LV 데이터가 달라지게 됩니다. 동일한 디스크 구조로 복제가 필요할 경우에는 mklvcopy 명령어를 이용하여 데이터를 복제 해주어야 합니다. mklvcopy 테스트는 조만간에 업로드 하도록 하겠습니다. |
3. Splitvg
[node2:root]/>splitvg -y datavg_bk -c 1 -i datavg [node2:root]/>lspv hdisk0 00c5c1d71c2b3c88 rootvg active hdisk1 00c5c1d73a9d5461 datavg active hdisk2 00c5c1d73a9d54a0 datavg_bk active hdisk3 00c5c1d73a9d414b datavg active hdisk4 00c5c1d73a9d4187 datavg_bk active [node2:root]/>lsvg -p datavg datavg: PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION hdisk1 active 199 173 40..14..39..40..40 hdisk3 active 99 94 20..15..19..20..20 [node2:root]/>lsvg -l datavg datavg: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT lv01 jfs2 10 10 2 open/syncd /fs01 lv02 jfs2 10 10 1 open/syncd /fs02 lv03 jfs2 10 10 1 open/syncd /fs03 loglv00 jfs2log 1 1 1 open/syncd N/A [node2:root]/>lsvg -p datavg_bk datavg_bk: PV_NAME PV STATE TOTAL PPs FREE PPs FREE DISTRIBUTION hdisk2 active 199 183 40..24..39..40..40 hdisk4 active 99 84 20..05..19..20..20 [node2:root]/>lsvg -l datavg_bk datavg_bk: LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT fslv01 jfs2 10 10 2 closed/syncd /fs/fs01 fslv02 jfs2 10 10 1 closed/syncd /fs/fs02 fslv03 jfs2 10 10 1 closed/syncd /fs/fs03 fsloglv00 jfs2log 1 1 1 closed/syncd N/A 기존에 hdisk2, hdisk4 로 사용중이던 [datavg] 가 [datavg_bk] 볼륨그룹 이름으로 변경되었습니다. 또한, /fs/fs01, /fs/fs02, /fs/fs03 파일시스템으로 변경되며 마운트 되지 않고 사용중이지 않습니다. 신규 디스크 hdisk1, hdisk3 는 [datavg] 로 남아있는 상태이며, 기존 파일시스템은 /fs01, /fs02, /fs03 으로 마운트되어 사용 중에 있습니다. |
4. 기존 디스크(hdisk2, hdisk4) 삭제
변경된 디스크로 정상적으로 파일시스템의 접근 및 서비스가 정상이라면, 기존 디스크를 삭제하여 줍니다.
[node2:root]/>lspv hdisk0 00c5c1d71c2b3c88 rootvg active hdisk1 00c5c1d73a9d5461 datavg active hdisk2 00c5c1d73a9d54a0 datavg_bk active hdisk3 00c5c1d73a9d414b datavg active hdisk4 00c5c1d73a9d4187 datavg_bk active [node2:root]/>varyoffvg datavg_bk [node2:root]/>exportvg datavg_bk [node2:root]/>lspv hdisk0 00c5c1d71c2b3c88 rootvg active hdisk1 00c5c1d73a9d5461 datavg active hdisk2 00c5c1d73a9d54a0 None hdisk3 00c5c1d73a9d414b datavg active hdisk4 00c5c1d73a9d4187 None [node2:root]/>rmdev -dl hdisk2 [node2:root]/>rmdev -dl hdisk4 |
감사합니다.
반응형
'IBM시스템 > AIX' 카테고리의 다른 글
[AIX] SSH RSA 공개 Key 생성 및 authorized_keys 파일 교환 (0) | 2022.07.18 |
---|---|
[AIX] OS에서 Diag를 이용한 물리적 Adapter 교체 (0) | 2022.05.18 |
[AIX] hostid 확인 및 고정(Fix)설정 방법 (0) | 2022.04.19 |
[AIX] Cron 데몬을 이용한 작업 스케줄링(Scheduling) (0) | 2022.03.14 |
[AIX] AIX7.1 Default 계정 보안취약점 (1) | 2022.03.07 |