기술공부/인프라

[Hyper-V] Disk differencing에 대하여

봉두두 2022. 4. 11. 23:10
728x90

사내에서 사용중인 Infrastructure 기술 중에는 Cloud서버로서는 Azure를 사용하고 있지만 Virtualization 기술로서는 Hyper-V를 활용중이다. 오늘은 Hyper-V에서 Disk 생성 옵션 중 하나인 differencing에 대하여 정리해보고자 한다.

관련 내용은 아래 포스팅에서 일부 참고하여 작성했다.

 

Hyper-V - Use Differencing Disks

How to Use Differencing Disks in Hyper-V

www.tenforums.com

Disk Differencing이란?

기존에 생성했던 Disk(VHDX등)를 부모(Parent)디스크로 두고 자식(Child)디스크를 파생하여 생성하는 것이다. 이 말인 즉슨 부모로 둘 Disk가 이미 존재해야 이 방식을 사용할 수 있다는 말이다. 

그럼 왜 Differencing을 쓰는걸까?

Parent disk에서 differencing하여 활용하면 뭐가 좋을까?

 

1. 저장공간을 절약할 수 있다.

Parent disk와 공유하는 부분은 제외하고 이후 추가되는 작업사항에 대해서만 child disk에 저장하므로 disk용량 관리에 효율적이다.

 

2. 새로운 VM 생성 시 비교적 빠르게 생성할 수 있다.

기존 Parent disk에 setting된 환경구성값을 가져오는 것이기 때문에 비교적 빠르게 원하는 환경을 세팅하여 바로 활용할 수 있게 된다.

 

3. DISK를 좀 더 효율적으로 활용하기 위한 꿀팁이 있다.(?)

SSD 용량이 넉넉치 않을 때, Parent disk를 SSD에 두고 Child disk는 HDD에 위치시키게 되면 거의 SSD급 속도를 체감할 수 있다고 한다.오!

VHD 파일을 external hard disk에 두어도 특별한 issue는 없다고 하는데.. Disk connection 불안정으로 발생할 수 있는 여러 문제점들을 생각하면 외장하드에 위치하는건 좋은 생각은 아닌 듯 하다.

 

그럼 Differencing이 최상의 선택 아닌가? 왜 다들 새로 생성하나요?

음... Parent disk에 변경사항이 발생하면?

Parent disk에 변경사항이 생기면 그에 대한 부모디스크의 작업이력에 대해서 Child disk에 기록하게 되므로,

Parent disk에서 데이터나 파일 등을 대규모로 삭제하더라도 Child disk에서는 그만큼 용량이 줄어드는 것이 아닌 되려 증가하는 상황이 발생하기도 한다.

 

만약 하나의 디스크를 부모로 두고 여러개의 자식디스크를 파생해서 쓰고 있는 중이었다면

부모디스크의 이런 변경사항들이 모든 자식 디스크에게 영향을 끼치게 된다.

또, 혹여나 부모디스크가 소실된다거나 손상이 발생했다면 그 자식디스크들은 모두 부모를 잃고 헤매게 된다.... 끔찍.

백업은 필수.....

 

부모디스크의 환경설정을 그대로 가지고 와서 활용하고 싶다면 Differencing 방법 외에도 단순 Disk copy and paste 방법으로도 활용할 수 있으니

관리자의 판단에 따라 선택하면 될 것 같다.

728x90
728x90