Gang, I run several KVM host machines. Due to updates, maintenance, and unexpected reboots sometime host machines are restarted. I can easily envision a scenario where HostX needs some critical packages updated or is acting up. I migrate guest0, guest1, guest2 etc. from HostX to HostY. Then, in either a planned (i.e. scheduled maintenance) or unplanned (i.e. unplanned reboot) event reboots HostX. Unfortunately guest0, guest1 and guest2 are all set to autostart on HostX but they're currently running on HostY when HostX boots.... etc etc etc
Is anyone using effective packages, scripts or techniques which help maintain that all guest are running once and only once across a cluster of KVM hosts? I have been using virt-manager but it's not automated so much...
Thanks for your feedback, Chris
----- "Christopher Hunt" dharmachris@gmail.com wrote:
Gang, I run several KVM host machines. Due to updates, maintenance, and unexpected reboots sometime host machines are restarted. I can easily envision a scenario where HostX needs some critical packages updated or is acting up. I migrate guest0, guest1, guest2 etc. from HostX to HostY. Then, in either a planned (i.e. scheduled maintenance) or unplanned (i.e. unplanned reboot) event reboots HostX. Unfortunately guest0, guest1 and guest2 are all set to autostart on HostX but they're currently running on HostY when HostX boots.... etc etc etc
Is anyone using effective packages, scripts or techniques which help maintain that all guest are running once and only once across a cluster of KVM hosts? I have been using virt-manager but it's not automated so much...
Red Hat Cluster Suite Heartbeat etc.
Or, if you want to roll your own, just run a MySQL instance or two, use SERIALIZABLE isolation, poll guest lists with ``xm info'' or whatever you want, store the info in MySQL, etc. Should take about an hour if you start from scratch. It's easier with other DBs, or even files and lockfiles, but it really depends on your experience. If you're asking this, something SQL is probably the easiest. Heck, just do it in bash, cron, and ssh.