Computer >> 컴퓨터 >  >> 소프트웨어 >> 가상 머신

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

오래전에 VirtualBox 가상 하드 디스크를 축소하고 확장하는 방법을 다룬 튜토리얼을 소개한 적이 있습니다. 그 당시에는 디스크를 줄이는 것은 쉬웠지만, 용량을 늘리려면 디스크 이미징 작업이 필요했습니다. 그런데 상황이 많이 달라졌습니다. VirtualBox 4.X 버전부터는 이 가상화 소프트웨어에서 디스크 확장도 기본적으로 지원하기 시작했습니다.

실제로 저는 저장 공간이 부족해진 가상 머신을 운영하던 중, 한번 시도해 보기로 했습니다. 명령어 실행은 성공했는데 정작 디스크 크기는 늘어나지 않았습니다. 곧바로 원인을 깨달았습니다. 바로 스냅샷(snapshot)을 사용 중이었기 때문입니다. 사실 10년 전의 원래 가이드에서도 강조했던 부분입니다. 이번에 새롭게 개선된 튜토리얼에서는 스냅샷이 있는 경우에도 안전하고 깔끔하게 디스크를 확장하는 방법을 알아보겠습니다.

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

modifyhd(modifymedium) 명령어 사용하기

VirtualBox 4.X부터 도입된 가장 큰 변화는 기본 리사이즈 명령어가 추가되었다는 점입니다. 다만 이 명령어는 VirtualBox 고유의 하드 디스크 포맷(VDI 등)에서만 동작하며, 동적 할당(dynamically allocated) 방식으로 생성된 볼륨에만 적용됩니다. 그럼에도 불구하고 예전보다 훨씬 유연한 관리가 가능해졌습니다. 명령어 형식은 다음과 같습니다.

sudo VBoxManage modifyhd "Ubuntu 18.10.vdi" --resize 16000
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

명령어를 실행한 뒤 가상 머신을 부팅해 보았지만, 여전히 10GB 그대로였습니다. 라이브 세션으로 부팅하여 GParted로 확인해 보니 원래 크기 그대로였고, 할당되지 않은 여유 공간도 없었습니다. 공식 문서와 포럼 게시글을 찾아보니 스냅샷이 디스크 리사이즈 작업을 방해한다는 것을 확인할 수 있었습니다. 이 경우 스냅샷을 삭제하고 모든 데이터를 하나의 현재 상태로 병합하는 방법도 있지만, 더 나은 방법은 스냅샷을 유지하면서 확장 작업을 진행하는 것입니다. 물론 약간의 조건이 따릅니다. 두 번째 시나리오를 자세히 살펴보겠습니다.

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

가상 머신 복제 및 스냅샷 병합

필요한 작업 순서는 다음과 같습니다. 머신을 복제(clone)하여 모든 스냅샷을 하나의 이미지로 병합한 후, 다시 리사이즈 작업을 반복하는 것입니다. 먼저 새 클론의 이름을 지정하고 네트워크 어댑터 주소를 재초기화할지 여부를 결정합니다. 다음으로 전체 복제(Full clone) 옵션을 선택합니다. 그리고 가장 중요한 단계로, 현재 머신 상태(Current machine state)를 선택합니다. 이렇게 하면 최신 스냅샷만 사용하고 이전의 모든 스냅샷 데이터를 하나로 병합합니다. 결과적으로 '히스토리'와 스냅샷이 없는 머신을 얻게 됩니다.

복제 과정이 완료되면 기존 머신과 스냅샷은 그대로 유지되고, 마지막 체크포인트만 반영하는 동일한 새 복제본이 생성됩니다. 이것이 바로 앞서 언급한 작은 조건입니다.

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

라이브 세션 부팅 후 파티션 확장

이제 가상 머신 설정에서 디스크 크기 변경이 제대로 반영되었는지 확인할 수 있습니다. 이전에는 VM 디스크가 10GB로 고정되어 modifyhd 명령어를 실행해도 변하지 않았지만, 이번에는 크기가 정상적으로 표시됩니다. GParted 같은 훌륭한 파티션 관리 도구로 쉽게 확인할 수 있습니다. 하지만 아직 끝난 것이 아닙니다. 시스템 루트(root) 파티션을 실제로 확장해야 합니다.

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

앞서 GParted 튜토리얼에서 보여드린 것처럼, 루트 파티션의 크기를 늘리기만 하면 됩니다. 이 작업은 루트 파티션이 마운트 해제된 상태(따라서 라이브 세션)에서 수행해야 합니다. 마운트된 상태에서도 시도할 수는 있지만 데이터 손실 위험이 있으므로 권장하지 않습니다. 물론 어떤 디스크 작업이든 만일의 상황에 대비해 전체 백업, 필요하다면 시스템 이미지까지 준비해 두는 것이 안전합니다.

VirtualBox 가상 디스크 용량 늘리기 - modifyhd 명령어와 스냅샷 문제 해결법

이것으로 완료입니다. 이제 더 큰 디스크를 가진 가상 머신을 사용할 수 있게 되었고, 저장 공간 부족 문제도 해결되었습니다. 물론 이 과정이 항상 간단한 것은 아니며, 복제나 리사이즈를 사용할 수 없는 경우도 많습니다. 그래도 10년 전과 비교하면 훨씬 간소화된 절차라고 할 수 있습니다.

마무리

이 가이드가 도움이 되길 바랍니다. 일반적으로 저장 공간이 남아돌기보다는 부족해지는 경우가 많습니다. 초기에 여유 있는 용량 설정 없이 생성된 가상 머신의 크기를 조정할 수 있다는 것은 매우 중요한 기능입니다. 특히 복잡한 중간 단계 없이 빠르게 처리할 수 있다면 더욱 그렇습니다.

VirtualBox 4.X부터는 비교적 간단한 절차로 이 작업을 수행할 수 있습니다. 이번 글에서는 modifyhd 명령어의 사용법, 복제 기능과 스냅샷에 미치는 영향, 그리고 GParted를 활용한 파티션 관리 방법을 다시 살펴보았습니다. 근본적으로 복제는 예전의 디스크 이미징과 비슷하지만, 적어도 VirtualBox 내부에서 기본 기능으로 처리할 수 있다는 점이 큰 장점입니다. 유용하게 활용하시기 바랍니다.