mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
Add disk preallocation support
preallocation=metadata is now the default as it offers the best size/performance.
This commit is contained in:
parent
ad7f4a2aef
commit
a611aa6005
2 changed files with 25 additions and 1 deletions
14
README.md
14
README.md
|
@ -271,6 +271,20 @@ Add additional lines to your virtual machine configuration:
|
||||||
* `cpu_cores="4"` - Specify the number of CPU cores allocated to the VM
|
* `cpu_cores="4"` - Specify the number of CPU cores allocated to the VM
|
||||||
* `ram="4G"` - Specify the amount of RAM to allocate to the VM
|
* `ram="4G"` - Specify the amount of RAM to allocate to the VM
|
||||||
* `disk="16G"` - Specify the size of the virtual disk allocated to the VM
|
* `disk="16G"` - Specify the size of the virtual disk allocated to the VM
|
||||||
|
|
||||||
|
|
||||||
|
## Disk preallocation
|
||||||
|
|
||||||
|
Preallocation mode (allowed values: `off`, `metadata` (default), `falloc`, `full`).
|
||||||
|
An image with preallocated metadata is initially larger but can improve performance
|
||||||
|
when the image needs to grow. `falloc` and `full` preallocations are like the
|
||||||
|
same options of raw format, but sets up metadata also.
|
||||||
|
|
||||||
|
Specify what disk preallocation should be used, if any, when creating the system
|
||||||
|
disk image by adding a line like this to your VM configuration.
|
||||||
|
|
||||||
|
* `preallocation="metadata"`
|
||||||
|
|
||||||
## Floppy disks
|
## Floppy disks
|
||||||
|
|
||||||
If you're like [Alan Pope](https://popey.com) you'll probably want to mount a
|
If you're like [Alan Pope](https://popey.com) you'll probably want to mount a
|
||||||
|
|
12
quickemu
12
quickemu
|
@ -235,10 +235,19 @@ function vm_boot() {
|
||||||
if [ ! -f "${disk_img}" ]; then
|
if [ ! -f "${disk_img}" ]; then
|
||||||
# If there is no disk image, create a new image.
|
# If there is no disk image, create a new image.
|
||||||
mkdir -p "${VMDIR}" 2>/dev/null
|
mkdir -p "${VMDIR}" 2>/dev/null
|
||||||
if ! ${QEMU_IMG} create -q -f qcow2 "${disk_img}" "${disk}"; then
|
case ${preallocation} in
|
||||||
|
off|metadata|falloc|full) true;;
|
||||||
|
*)
|
||||||
|
echo "ERROR! ${preallocation} is an unsupported disk preallocation option."
|
||||||
|
exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# https://blog.programster.org/qcow2-performance
|
||||||
|
if ! ${QEMU_IMG} create -q -f qcow2 -o lazy_refcounts=on,preallocation="${preallocation}" "${disk_img}" "${disk}"; then
|
||||||
echo "ERROR! Failed to create ${disk_img}"
|
echo "ERROR! Failed to create ${disk_img}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "${iso}" ] && [ -z "${img}" ]; then
|
if [ -z "${iso}" ] && [ -z "${img}" ]; then
|
||||||
echo "ERROR! You haven't specified a .iso or .img image to boot from."
|
echo "ERROR! You haven't specified a .iso or .img image to boot from."
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -618,6 +627,7 @@ guest_os="linux"
|
||||||
img=""
|
img=""
|
||||||
iso=""
|
iso=""
|
||||||
port_forwards=()
|
port_forwards=()
|
||||||
|
preallocation="metadata"
|
||||||
ram=""
|
ram=""
|
||||||
usb_devices=()
|
usb_devices=()
|
||||||
virtio_blk="on"
|
virtio_blk="on"
|
||||||
|
|
Loading…
Reference in a new issue