KVM Virtual Machine Boot Order
-
Just as a note, this problem of startup order appeared to have been an issue since the inception of KVM and even before. It's as if the devs simply thing a startup delay or manually starting your VM's is sufficient. . .
-
@dustinb3403 said in KVM Virtual Machine Boot Order:
Don't get me wrong, I don't mind making a script to do things, but it's just an added pain, and if you set it up and forget it then the code becomes cobwebbed in your brain, you forget, have an issue, have to remember what you did. It's an ordeal that really shouldn't exist.
Boot priority seems like one of those things that should've been included from the get-go. Like seatbelts in cars are today. . .
That's one of the reasons I put a file in /etc/default -- so we don't have to modify the script itself every time a VM is added or removed. Yes, we do have to touch a file, but that shouldn't be too difficult... right?
I'm not overly interested in error handling or anything like that with this script -- if the VM boots, then it will work. If it doesn't boot, then you have larger issues to deal with, lol.
-
@dustinb3403 said in KVM Virtual Machine Boot Order:
@pmoncho said in KVM Virtual Machine Boot Order:
@dustinb3403 said in KVM Virtual Machine Boot Order:
On 6.5 I can find the option for boot delay, but I'm not seeing a boot order. I'm probably just looking in the wrong place but I thought I've seen it before as well.
If you mean VMware 6.5, Select Host -> Configure -> Virtual Machines. Put your selected VM's in Automatic in the order you want them to start up and the delay between each startup.
I don't see that anywhere in my installation, probably because we're using the free version of ESXi. . . (yes I know)
My bad. I assumed you had vCenter. I should have asked. I don't see any way on the free edition.
-
@dustinb3403 said in KVM Virtual Machine Boot Order:
Just as a note, this problem of startup order appeared to have been an issue since the inception of KVM and even before. It's as if the devs simply thing a startup delay or manually starting your VM's is sufficient. . .
It's really not a big deal though...
If you're a smaller shop, it takes no time to manually start your VMs.
If you're huge, you just set them all to start at boot because you have entire hosts dedicated to one type of VM and it doesn't matter in what order.
If medium sized, it's still not a big deal. I don't mind anyways. If I reboot the main host, I'm there watching it anyways. So it's not an issue to start up the DHCP server first, and a few other initial VMs, then the rest in one shot.
-
@obsolesce but it could be an issue if your DHCP server starts after other VM's. Or a database server that is dependant on other VM's being up and accessible first.
There is truly a case for needing a startup priority here.
I wonder what Amazon does. . .
-
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce but it could be an issue if your DHCP server starts after other VM's. Or a database server that is dependant on other VM's being up and accessible first.
There is truly a case for needing a startup priority here.
I wonder what Amazon does. . .
My point was that, Amazon doesn't have DB, DHCP servers, and other app VMs that depend on them on the same hosts.
And those companies who do are small enough to just do it manually with minimal effort.
I have a host with 70 VMs on it, it takes seconds to start the AD and DHCP server first, then a few database servers.
-
@obsolesce said in KVM Virtual Machine Boot Order:
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce but it could be an issue if your DHCP server starts after other VM's. Or a database server that is dependant on other VM's being up and accessible first.
There is truly a case for needing a startup priority here.
I wonder what Amazon does. . .
My point was that, Amazon doesn't have hosts with DB servers and DHCP servers and other apps that depend on them on the same hosts.
And those companies who do are small enough to just do it manually with minimal effort.
I have a host with 70 VMs on it, it takes seconds to start the AD and DHCP server first, then a few database servers.
How are you starting the remaining 60 VM's?
-
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce said in KVM Virtual Machine Boot Order:
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce but it could be an issue if your DHCP server starts after other VM's. Or a database server that is dependant on other VM's being up and accessible first.
There is truly a case for needing a startup priority here.
I wonder what Amazon does. . .
My point was that, Amazon doesn't have hosts with DB servers and DHCP servers and other apps that depend on them on the same hosts.
And those companies who do are small enough to just do it manually with minimal effort.
I have a host with 70 VMs on it, it takes seconds to start the AD and DHCP server first, then a few database servers.
How are you starting the remaining 60 VM's?
Select-all or shift+click, right-click on them, click start.
Edit, this is on Hyper-V.
-
@obsolesce that's annoying. . .
Edit: still annoying but doesn't Hyper-V have startup priority?
-
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce that's annoying. . .
Not really, it's once a month at worst.
-
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce that's annoying. . .
Edit: still annoying but doesn't Hyper-V have startup priority?
No it hasnt until I checked 6 months ago. Only way is build a delay schema by hand and assign delays to VM batch start them in layers
-
@matteo-nunziati said in KVM Virtual Machine Boot Order:
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce that's annoying. . .
Edit: still annoying but doesn't Hyper-V have startup priority?
No it hasnt until I checked 6 months ago. Only way is build a delay schema by hand and assign delays to VM batch start them in layers
Well. . . that's just bad. . .
-
The only actual need I got was a vm expecting a postgres to be up. I delayed such a vm. But yes: complex dependency schemas are a PITA but also out of the smb standard scenario imho.
-
@black3dynamite said in KVM Virtual Machine Boot Order:
Uncomment
START_DELAY=0
in/etc/sysconfig/libvirt-guests
file.This will kill parallel startup adding a delay between each vm boot
-
@matteo-nunziati said in KVM Virtual Machine Boot Order:
@black3dynamite said in KVM Virtual Machine Boot Order:
Uncomment
START_DELAY=0
in/etc/sysconfig/libvirt-guests
file.This will kill parallel startup adding a delay between each vm boot
I think that's the point, though. Some of the VMs are starting before the other VMs that they need to work properly.
-
@dafyre nope starting order is still 'random'
-
I still find it odd that there isn't a start priority or weight setting to apply to each VM so the hypervisor could do this automatically. . .
-
XenServer and XCP-ng both have this option to set for individual VM's under "Start options" under properties of each VM.
By default everything is "0" aka start immediately if configured for Autostart/HA. But it can be changed easily to 1, 2 3 etc and the VM's will boot in that order.
-
@matteo-nunziati said in KVM Virtual Machine Boot Order:
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce that's annoying. . .
Edit: still annoying but doesn't Hyper-V have startup priority?
No it hasnt until I checked 6 months ago. Only way is build a delay schema by hand and assign delays to VM batch start them in layers
Hyper-V had startup priority since 2012... fully configurable... startup action and startup delay.
-
@obsolesce said in KVM Virtual Machine Boot Order:
@matteo-nunziati said in KVM Virtual Machine Boot Order:
@dustinb3403 said in KVM Virtual Machine Boot Order:
@obsolesce that's annoying. . .
Edit: still annoying but doesn't Hyper-V have startup priority?
No it hasnt until I checked 6 months ago. Only way is build a delay schema by hand and assign delays to VM batch start them in layers
Hyper-V had startup priority since 2012... fully configurable... startup action and startup delay.
You mean you can use action to wait for another vm to be up and running? If so I ignored it. Delay is mostly a workaround as no one really knows when a dependency will be ready!