42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
---
|
|
title: "Resize A QEMU Disk Image"
|
|
blurb: "Our hosting provider allows us to upload a custom image when
|
|
provisioning a new server. We will have to resize the image if it does not
|
|
match the size of the server's disk space."
|
|
...
|
|
## 1. Install `guestfs-tools`
|
|
|
|
$ apt-get update
|
|
$ apt-get install guestfs-tools
|
|
|
|
## 2. Download an image
|
|
|
|
Download an image from [https://cdimage.debian.org/images/cloud/](https://cdimage.debian.org/images/cloud/).
|
|
|
|
## 3. List partitions
|
|
|
|
Check the image disk partitions to see which partition needs resizing.
|
|
|
|
$ virt-filesystems --long -h --all -a debian-12-nocloud-amd64.qcow2
|
|
|
|
## 4. Create output container
|
|
|
|
$ qemu-img create -f qcow2 \
|
|
-o preallocation=metadata debian-12-nocloud-amd64-resized.qcow2 20G
|
|
|
|
## 5. Generate resized image
|
|
|
|
$ virt-resize --expand /dev/sda1 \
|
|
debian-12-nocloud-amd64.qcow2 debian-12-nocloud-amd64-resized.qcow2
|
|
|
|
## Conclusion
|
|
|
|
You can now open `debian-12-nocloud-amd64-resized.qcow2` with a virtual machine
|
|
program and the disk size will be 20G.
|
|
|
|
## References
|
|
|
|
`virt-resize` manpage
|
|
|
|
$ man virt-resize
|