On Fri, Nov 15, 2013 at 6:32 PM, Bob Doolittle wrote:
OK so there seems to be a serious scalability issue here. It is not unusual
for a large VDI deployment to utilize hundreds of VMs. From what you're
telling me, if we don't want users to experience the unsealing delay (which
takes several minutes) every time, an admin would have to start all of those
VMs after creating the Pool, and then cleanly shut them all down again once
they'd all finished their unsealing process. Either that, or set them all to
auto-start, but this puts unnecessary load on the host since they have to
unseal after snapshot-revert every time they come up.
There is perhaps an attractive feature that might help here. At the moment
you can set an absolute number of "auto-start" VMs for the pool. I think
what's needed is something more like an HA "standby" model which is
applied
to hosts and disks - you would like a certain number of not-yet-allocated,
auto-started ("waiting-auto-started"?) VMs to be in the pool at all times
(unless of course the pool is exhausted). In other words, say you have a
large pool of VMs, and you set a waiting-auto-started count to 10. If 20
users connect to VMs, 10 more would be started up and waiting in the pool.
You could shut down/return any extras as VMs are returned to the pool
(optionally?). The goal here is to eat the startup delays in advance to have
ready-to-use VMs available for users at all times, without needing to start
them all (which would consume excessive host resources). I think this would
be more valuable than a fixed count, although maybe that's helpful in some
use cases.
For sure it is interesting and mapping what there is in VMware since
long time where you can specify a limit of free started VMs after
which you autostart new ones at pool definition stage.
I put similar question at RHEV 2.x time for a POC I had in place when
the engine was Windows based and there was the command line API shell.
I was suggested and I verified it worked as expected with an at job
that every X minutes checked number of running VMs and when free
pre-started number dropped down a pre-defined limit it would pre-start
Y new VMs
I think now it should be also easier, even if it could be a good
proposal for 3.4
Gianluca