<In Story>

DiskPart를 이용한 VHD 병합 - Merge // [OS] [MS Windows] [Virtual Disk] [Disk Partition] [Command] 본문

OS(operating system)/MS WIndows

DiskPart를 이용한 VHD 병합 - Merge // [OS] [MS Windows] [Virtual Disk] [Disk Partition] [Command]

<In Story, Hi story, History> 2015. 12. 20. 15:10

http://cappleblog.co.kr/174


자식 디스크의 데이터를 부모 디스크로 합치는 Merge 명령

지난 글에서 부모 - 자식 디스크에 대해서 모두 알아보았죠. 이렇게 부모 - 자식 디스크를 사용하다 보면 자식 디스크의 데이터를 부모 디스크로 합치고 싶을 때가 있습니다. 그럴 땐 DiskPart 의 Merge 명령을 사용하면 됩니다. Merge 명령은 자식 디스크의 모든 데이터를 상위의 부모 디스크로 합해주는(병합해주는) 것입니다.

사용 방법은 간단합니다. 먼저 자식 VHD 파일을 선택하고 Merge Vdisk 명령을 내리는데, 해당 자식 VHD 에서 몇 단계 위의 부모 디스크까지(체인) 데이터들을 합칠 것인지 Depth 매개 변수로 설정해주면 됩니다.

Select Vdisk File="D:\Child.vhd"
Merge Vdisk Depth=1

Depth=[병합할 체인 단계]


일단 제일 먼저 체인이 뭔지 알아야 겠죠. [부모 <- *자식] 이게 1 체인입니다. [부모 <- 자식(부모) <- *손자(자식)] 이러면 2 체인이고요. * 은 Select 로 선택해야 할 VHD 를 의미합니다. 즉,

Depth=1 -> [자신의 모든 데이터] 를 [바로 위 부모 VHD(1 단계 위)] 로 합침.
Depth=2 -> [자신과 자신의 바로 위 부모의 모든 데이터] 를 [그 위의 부모 VHD(2단계 위)] 로 합침.
Depth=3 -> [자신과 자신의 바로 위 부모와 그 위 부모의 모든 데이터] 를....


인거죠. 간단하죠?

자식 디스크의 데이터를 부모 디스크로 합치기

흠... 이건 예제보다는 그냥 그림으로 설명하는 게 낫겠네요.


간단하죠? 그림에서 설명한 것과 같이 자식 VHD 의 모든 데이터를 부모 VHD 로 병합(합치기)했죠? 그럼 데이터가 합쳐진 부모 VHD 는 데이터가 변한거잖아요? 맞죠? 부모 VHD 의 데이터가 변하면 하위에 존재하는 모든 자식 VHD 들은 더이상 정상적으로 사용할 수 없다고 지난 글에서 이야기드렸죠?


그래서 해당 자식 VHD 들은 더이상 사용할 수 없기에 제거해야 합니다. 다시 자식 VHD 를 사용하길 원한다면 현재 상태에서 다시 자식 VHD 를 생성하면 되고요. 만약 해당 단계에 맞는 깨끗한 자식 VHD 를 준비해뒀다면 그걸로 교체해도 되고요. 이해되시죠?

참고로 자식 VHD 의 데이터를 부모 VHD 로 합치는데 걸리는 시간은 순전히 자식 VHD 에 저장된 데이터의 크기에 달려 있습니다. 만약 자식 VHD 파일의 크기가 크다면(차이점이 크다면) 그만큼 오래 걸리는 거죠. 생각보다 오래걸릴 수도 있습니다. 물론 부모 VHD 를 연결한 후 수동으로 저장하는 시간보다는 덜 걸리겠지만요. 이건 뭐 당연한 간가요?

아무튼 이건 딱히 예제를 보고 말고 할 게 없기 때문에 예제는 생략하도록 하겠습니다. 이상입니다. ^^


↑↑↑이 부분 위로 본문을 입력하고↑↑↑ 스크립트를 본문 하단에 추가하세요! ---> Start Script --->