본문 바로가기

카테고리 없음

가상 머신 VirtualBox의 VDI 디스크 용량 줄이기 - 리눅스

반응형

VirtualBox는 가상에서 OS를 운영하게 해주는 여러 프로그램 중 하나다.

가상에서 사용하는 만큼, 실제 디스크에 영향을 주지 않으므로 파티션 작업이나, 설치 테스트, 리눅스를 배우는 용도의 프로그램으로 안성맞춤이다.

그런데 이런 VB를 자주 사용하다보면 어느 순간 하드디스크에 고용량을 차지하는 VDI를 볼 수 있게된다. (이 글에서는 동적으로 할당된 VDI 디스크를 기준으로 한다.)

가상 OS를 운영하면서 파일을 분명 지웠음에도 실제 디스크에 차지하는 VDI 디스크 파일의 용량은 줄어들 기미를 보이지 않는다. 바로, 동적으로 할당된 VDI의 특성이기때문이다.

리눅스를 설치하고나서 불필요한 프로그램들이나 파일을 삭제했음에도 불구하고 실제 디스크에 차지하는 용량은 오히려 늘어나는 경우도 있는데, 이제부터 그 용량을 줄여보로록 하자.


1. Live CD로 부팅

Zerofree 라는 유틸을 이용해 디스크 내부에 쓰레기값인 데이터를 0으로 변경 후 compact 사용시 0의 값을 삭제하여 VDI 디스크 파일의 용량을 줄일 것이다.

그런데, 가상 머신에 설치된 Linux로 부팅하면 가상 OS가 디스크를 붙잡아 Zerofree 유틸을 사용할 수 없기 때문에 별도의 OS로 부팅해서 작업해줘야 한다.


아래 ISO 이미지는 Zerofree가 포함된 Live Linux OS이다.

ISO 이미지를 받아서 가상 머신에 OS를 처음 설치하는 것 처럼 라이브 OS로 부팅하면 된다.

http://sourceforge.net/projects/systemrescuecd/




라이브 OS로 부팅하게 되면 아래와 같은 메뉴가 나타난다.

그냥 Enter키를 눌러서 넘어가면 된다.





2. zerofill로 데이터 0으로 변경

아래 명령어를 통해 sda1, sda2 등등 파티션이 나뉜 모든 sda#을 zerofree 시켜주면 된다.

mkdir /mnt/tmp
mount -o ro /dev/sda1 /mnt/tmp
zerofree /dev/sda1
umount /mnt/tmp
rm -rf /mnt/tmp


반복적으로 sda# 등의 쓰레기 데이터값을 zerofree를 이용해 0으로 변경했으면 가상 머신을 종료시킨다.


3. VBoxManage로 VDI 디스크 Compact

VB를 설치했다면 설치 폴더에 VBoxManage.exe 프로그램이 있다.

해당 폴더에 들어가서 빈 공간에 Shfit + 마우스 오른쪽 클릭하면 '여기서 명령창 실행' 이라는 추가적인 메뉴가 뜨는데, 이 메뉴를 통해 바로 명령창을 실행 시킬 수 있다.

이제 아래 명령어를 통해서 VDI 디스크의 0값인 데이터를 삭제하면 된다.

VBoxManage modifyhd -compact /path/to/vdi

아래 그림처럼 VDI의 불필요한 데이터를 줄인 후 다시 VDI 디스크를 확인하면 줄어든 용량을 볼 수 있을 것이다.




반응형