나는 주로 Oracle virtualbox에 고정 크기의 디스크 이미지를 사용하고 있었지만 동적 이미지가 확장시를 제외하고 고정 크기 이미지와 성능이 비슷하다고 들었으므로 동적 디스크 이미지로 전환하는 것을 고려하고 있습니다.
그래도 많은 작업을 수행하는 한 가지 방법은 zip 프로그램을 사용하여 백업하기 전에 고정 크기 디스크 이미지를 0으로 채우는 것입니다 (zip 아카이브의 크기를 줄이기 위해). 내 질문은 동적 디스크를 0으로 채울 때 디스크 크기가 최대 선언 값으로 증가합니까? (필자의 경우 sdelete -z
Windows 파티션을 사용 하고 있습니다.)
추가 질문 중 하나는 디스크 크기를 늘리지 않고 파티션을 0으로 채울 수있는 방법이 있습니까?
감사.
— 편집하다 —
명확히하기 위해, 내가 묻는 이유는 압축 된 virtualbox 이미지의 크기를 최소한으로 유지하고 싶어하기 때문입니다. 고정 된 크기의 이미지를 0으로 채우면 0으로 채워진 부분이 압축 된 이미지에 거의 영향을 미치지 않으므로 작업이 수행됩니다. 그러나 동적 디스크로 전환하면 제로 채우기는 동적 크기의 이미지 사용 목적을 무효화하는 것으로 보입니다.
내 질문의 두 번째 부분은 디스크 크기를 확장하지 않고 사용하지 않는 섹터를 제거 할 수있는 제로 필링보다 더 나은 대안이 있는지 묻는 것입니다.
답변
방금 sdelete -z
VM을 사용하여 테스트 했으며 디스크 를 채우지 않으면 동적 디스크 이미지의 크기가 눈에 띄게 증가 하지 않습니다 . Virtualbox는 이미 빈 블록에 0을 쓸 때 디스크에 블록을 다시 쓸 필요가 없다는 것을 알기에 충분히 똑똑합니다.
그러나 디스크를 전혀 채우지 않아도 호스트의 Virtualbox Tools를 사용하여 디스크를 다시 압축 할 수 있기 때문에 그렇게하지 않아도 그렇게 나쁘지는 않습니다 .VirtualBox 의 VDI 파일 크기를 압축하는 방법은 무엇입니까?
VM을 0으로 채울 때 이미지 크기가 ~ 14.5GB에서 ~ 15.5GB로 증가했지만 모든 디스크 공간을 완전히 할당하지는 못했습니다 (약 48GB).
실제로 (0을 통해 sdelete -z
) 디스크를 채우지 않으면 VM 운영 체제가 작성했지만 그 이후에 사용 가능한 공간을 적절하게 비울 수 있으며 VBoxManage.exe modifyhd c:\path\to\thedisk.vdi --compact
호스트 시스템 에서 명령 을 실행 하여 동적 디스크 이미지를 올바르게 압축 할 수 있습니다 최소 크기로 되돌립니다.