composed KVM guests could be created with maxmem > mem
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Invalid
|
Medium
|
Unassigned |
Bug Description
Composed KVM virtual machines are currently created with mem == maxmem. The consequence is that if one of these virtual machines needs to subsequently be resized (which is likely to happen at some point during the life of a cloud), it will have to be stopped and started. Having a higher maxmem would allow operators to live-update ram in VMs, reducing downtime. For this reason it would be great if maas pods composed machines with a higher maxmem value, and possibly set it by default to something reasonable.
More specifically:
Let's say I have a KVM guest with 8GB of RAM assigned. I now realize this is too small, and I want to double its RAM to 16GB. With maxmem == mem I have to run the following:
* virsh setmaxmem <domain> <16GB_or_more> --config
* virsh setmem <domain> 16GB --config
* shutdown the VM
* virsh start <domain>
If the KVM guest had however been originally created with (for example) maxmem = 4*mem, I would be able to do the following instead and avoid a reboot:
* virsh setmem <domain> 16GB --live
description: | updated |
summary: |
- pods could be created with maxmem > mem + composed KVM guests could be created with maxmem > mem |
Changed in maas: | |
status: | New → Triaged |
importance: | Undecided → Medium |
You can set memory (and cpu) overcommit in the settings tab of the POD once it's been added to maas.
Setting a higher overcommit ratio will increase the maximum "available" memory and let you set a higher limit for VMs.
Would that work for your use case?