Skip to Content
Infra & DevOps맥미니와 Home Assistant의 디스크 공간 정리
☁️ Infra & DevOps2026년 10월 10일

맥미니와 Home Assistant의 디스크 공간 정리

#virtualbox#storage#home-assistant#macos
맥미니 홈서버 구성과 운영5 / 6
맥미니의 저장공간을 조사하고 Home Assistant 가상 디스크를 압축했습니다. 게스트 사용량, 디스크 최대 크기, 호스트 파일 크기를 구분하며 공간을 회수한 과정입니다.

250GB 맥미니의 여유 공간이 약 19GB까지 줄었습니다. Colima를 사용하고 있었지만 예전 Docker Desktop 디스크 파일도 남아 있었고, Home Assistant VM과 다운로드, 캐시, 로컬 메일도 공간을 차지하고 있었습니다.

먼저 현재 사용하는 데이터와 예전 환경의 잔여 파일을 구분했습니다. 폴더 크기는 상위·하위 경로가 중복될 수 있어 조사한 값을 그대로 더하지 않았습니다. 이 글에서는 파일 삭제 후 공간이 바로 반환되지 않던 문제와 HA 가상 디스크를 줄인 과정을 정리합니다.

삭제한 파일이 계속 차지하는 공간

예전 Docker 디스크를 지운 뒤에도 호스트의 여유 공간이 바로 늘지 않았습니다. 파일을 열고 있던 프로세스가 남아 있었기 때문입니다. 프로세스가 현재 서비스와 어떤 관계인지 확인한 뒤 재시작하고 여유 공간을 다시 확인했습니다.

이때 실행 중인 Colima 데이터와 과거 Docker Desktop 파일을 구분하는 것이 먼저였습니다. 큰 디스크 파일이라는 이유만으로 현재 사용하는 환경까지 함께 정리하면 서비스 데이터에 영향을 줄 수 있습니다.

VDI 파일 크기 줄이기

HA 내부 사용량은 약 6.9GB였지만 호스트의 VDI 파일은 약 21GiB였습니다. 게스트에서 파일을 삭제해도 동적으로 커진 가상 디스크 파일이 자동으로 같은 크기만큼 줄어들지는 않았습니다.

VM을 정상 종료하고 백업한 뒤 처음 압축했을 때는 약 20GiB가 남았습니다. 이후 게스트의 빈 영역을 0으로 정리하고 다시 종료해 압축하자 파일 크기가 약 7.8GiB로 줄었습니다.

단계호스트의 VDI 파일 크기
정리 전약 21GiB
첫 압축 후약 20GiB
게스트 빈 영역 정리 후 재압축약 7.8GiB

게스트가 더 이상 사용하지 않는 영역과 압축 도구가 회수할 수 있는 영역은 같지 않았습니다. 파일 삭제만으로 큰 변화가 없었던 이유입니다. 빈 영역 정리 과정에는 작업 공간이 필요했고, 호스트에서 압축할 때는 VM을 중단했습니다.

압축 후에는 기존 디스크로 HA를 다시 시작하고 웹과 Observer 응답을 확인했습니다. 실행 중인 디스크 파일에 압축 명령만 적용한 작업은 아닙니다.

정리 전후의 값을 비교하는 방법

디스크를 줄일 때는 삭제 명령부터 실행하기보다 비교할 값을 먼저 정합니다. 아래는 Mac에서 파일시스템 여유 공간과 특정 VM 폴더의 사용량을 조회하는 예시입니다. 실제 VM 경로로 바꿔 사용합니다.

bash
example/check-vm-space.sh
df -h / du -sh "/path/to/Home Assistant VM" ls -lh "/path/to/Home Assistant VM/ha.vdi" VBoxManage showmediuminfo disk "/path/to/Home Assistant VM/ha.vdi"

df는 파일시스템의 여유 공간을 보고, du는 파일이 실제로 점유한 블록을 기준으로 봅니다. ls -lh의 파일 길이와도 값이 다를 수 있습니다. 동적 디스크나 희소 파일에서는 파일의 논리적 길이와 실제 점유량을 같은 수치로 다루지 않는 편이 좋습니다.

따라서 작업 전후에는 같은 명령과 경로로 비교했습니다. 서로 다른 화면에서 본 GB·GiB 값을 정밀한 차이처럼 빼지 않고, 어떤 값인지 함께 기록했습니다. 큰 폴더를 찾는 du 결과에서도 부모 폴더와 그 안의 하위 폴더를 더하면 중복됩니다.

압축과 용량 축소의 차이

이번에 한 작업은 게스트가 사용할 최대 용량을 줄이는 파티션 축소가 아닙니다. 게스트의 사용하지 않는 영역을 압축 도구가 회수할 수 있도록 정리하고 호스트의 이미지 점유량을 줄인 것입니다.

text
example/disk-capacity.txt
게스트에서 보는 최대 용량: 유지 게스트 안의 파일·설정: 유지 호스트에서 이미지가 점유한 공간: 압축 후 감소 VM의 메모리 크기: 디스크 압축과 무관

이 구분이 없으면 “32GiB 디스크를 7.8GiB로 줄였다”는 설명이 게스트 파티션까지 줄인 것으로 읽힐 수 있습니다. 실제로는 최대 크기를 유지한 채 호스트 파일 크기가 줄었습니다.

게스트의 빈 영역을 정리할 때는 그 과정에서 임시로 필요한 공간도 고려해야 합니다. 실행 중인 VM이나 복구할 백업이 없는 상태에서 압축 명령만 따라 하는 흐름으로 정리하지 않았습니다. 당시에는 정상 종료와 백업, 빈 영역 정리와 종료, 압축, 재기동 후 HA 확인을 따로 진행했습니다. VirtualBox의 디스크 정보와 관리 명령은 공식 명령 문서 를 기준으로 설치 버전에 맞춰 확인할 수 있습니다.

디스크 최대 크기와 실제 사용량

이번 작업은 호스트에서 차지하는 파일 크기를 줄인 것입니다. HA의 디스크 최대 크기 32GiB와 RAM 2GB 설정은 유지했습니다.

가상 디스크를 볼 때는 다음 값을 나눠야 결과를 읽기 쉽습니다.

  • 게스트 내부 사용량: HA에서 파일이 사용하는 공간
  • 가상 디스크 최대 크기: 게스트가 사용할 수 있도록 설정한 한도
  • 호스트 파일 크기: 맥미니에서 VDI 파일이 차지하는 공간

다른 잔여 파일과 캐시도 정리한 뒤 맥미니 전체 여유 공간은 약 65.9GB가 됐습니다. 동시에 다른 프로젝트의 DB 재구성도 진행하고 있었으므로, 여유 공간 증가분 전체를 VDI 압축 효과로 계산하지는 않았습니다.

Last updated on