오늘은 qemu-img를 이용하여 os image size를 설정하는 방법에 대해 포스팅하려고 합니다.
사용 중인 OS를 image로 만들거나 백업을 할 때 image size가 과도하게 높거나 점점 높아지는 경우들이 있습니다.
실제 사용 중인 disk 용량이 늘어나면 image 용량 또한 함께 증가하는 게 맞지만,
disk의 용량을 비워내도 image의 용량은 줄어들지 않을 수 있습니다.
불필요한 image 용량을 축소해야 저장공간도 아끼고 image를 옮기기에도 편리합니다.
예제를 통해 os image를 축소해 보도록 하겠습니다.
저는 ubuntu에서 진행하였습니다.
먼저 qemu-utils를 설치합니다.
sudo apt install qemu-utils
현재 제가 가진 os image의 size는 9.5G입니다.
ls -alh ./disk.img
-rw-rw---- 1 root root 9.5G Aug 24 15:46 disk.img
현재 가지고 있는 OS image 파일의 정보를 확인합니다.
OS image의 format는 raw이며,
OS의 disk size는 약 10G 정도지만, image의 size는 약 2.4G 정도인 것을 확인할 수 있습니다.
위의 내용을 봤을 때 OS image size를 약 2.4G까지 축소할 수 있음을 확인할 수 있습니다.
# qemu-img info disk.img
file format: raw
virtual size: 9.45 GiB (10146021376 bytes)
disk size: 2.38 GiB
저는 qcow2 format으로 변환되고, os image size 또한 축소한 형태로 disk2.img를 새롭게 생성하였습니다.
# qemu-img convert -O qcow2 -p ./disk.img ./disk2.img
* qemu-img 호환되는 format 형태는 다음 링크에서 확인하실 수 있습니다.
기존의 disk.img와 새롭게 생성한 disk2.img를 비교해보면 다음과 같습니다.
기존에 9.5G였던 image size가 2.5G까지 축소된 것을 확인할 수 있습니다.
# ls -alh
-rw-rw---- 1 root root 9.5G Aug 24 15:46 disk.img
-rw-rw---- 1 root root 2.5G Aug 24 14:31 disk2.img
disk2.img의 정보를 확인하면 일부 정보는 기존 disk.img와 같이 비슷하며,
foramt 형태가 qcow2로 변경된 것을 확인할 수 있습니다.
# qemu-img info disk2.img
image: disk2.img
file format: qcow2
virtual size: 9.45 GiB (10146021376 bytes)
disk size: 2.4 GiB
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
추가적으로, os image size를 축소하는 과정에서 에러는 없었는지 확인하도록 합니다.
erorrs가 없다고 나타나면 정상적으로 변환된 os image라고 볼 수 있습니다.
# qemu-img check disk2.img
No errors were found on the image.
39360/154816 = 25.42% allocated, 0.00% fragmented, 0.00% compressed clusters
Image end offset: 2580676608
이외에도 qemu-img의 유용한 기능들이 있습니다.
# qemu-img convert disk2.img disk.raw (os image 확장자 변경)
# qemu-img resize disk2.img 10G (os disk size 변경)
# qemu-img create -b disk.img -f qcow2 diskbackup.img (os image 백업)
지금까지 qemu-img os image size 설정 방법에 대한 포스팅이었습니다.
'Develope > Linux' 카테고리의 다른 글
[Linux] Ubuntu DNS 설정 (18.04 이후 버전) (0) | 2022.12.02 |
---|---|
[Linux] shellinabox auto login 구성 방법 (0) | 2022.10.11 |
[Linux] ubuntu 패키지 및 Library 의존성 문제 해결 방법 (0) | 2022.08.03 |
[Linux] shellinabox를 이용한 리눅스 web-console 및 web-ssh 사용방법 (0) | 2022.08.02 |
[Linux] ubuntu 화살표키(arrow key) 사용시 개행문자 A,B,C,D 발생 이슈 해결 방법 (0) | 2022.07.09 |