[libvirt-users] libvirt-guests and time sync on autostart vms

I have a host running a few guests all configured to autostart. I'm also using libvirt-guests to suspend the guests when the host restarts or shuts down When the host comes back up I see a bunch of log messages - Resuming guest vm01 already active Resuming guest vm02 already active I guess this is because libvirt autostarts the guests when it starts and before libvirt-guests has a chance to start them. I didn't think this is an issue until I noticed the time on the guests is totally out of sync. SYNC_TIME=1 is enabled in the conf file but this doesn't seem to work I can see from the code at libvirt-guests.sh that the time sync function will only run if the guest is started by libvirt-guests ans will be skipped for guests that are already running So I'm not sure if this is a bug in libvirt-guests.sh or if I'm doing something wrong by using both libvirt-guests and autostart. I assume libvirt-guests will always resume guests on proper reboot but I'm think if there is any unexpected failure where guests weren't properly suspended before boot I still want them to come backup when the server boots Regards, Yoni

ıuoʎ <yonjah@gmail.com> writes:
I have a host running a few guests all configured to autostart. I'm also using libvirt-guests to suspend the guests when the host restarts or shuts down
I have a similar setup. I solved it by writing a small daemon that syncs system time from RTC time if the error is larger than 10 seconds. This guarantees that my VM time will be in sync with the host very fast. If I'd run ntpd it would take minutes for the resumed VM to notice that something happened.

On Mon, Mar 20, 2017 at 9:58 PM, Timo Juhani Lindfors <timo.lindfors@iki.fi> wrote:
ıuoʎ <yonjah@gmail.com> writes:
I have a host running a few guests all configured to autostart. I'm also using libvirt-guests to suspend the guests when the host restarts or shuts down
I have a similar setup. I solved it by writing a small daemon that syncs system time from RTC time if the error is larger than 10 seconds. This guarantees that my VM time will be in sync with the host very fast. If I'd run ntpd it would take minutes for the resumed VM to notice that something happened.
Yea I created another systemd service that will sync the time of all running machines on host boot. I was just wondering if I was missing something with libvirt-guests and autostart. I haven't noticed any issues with the time discrepancies on running guests so I hope this will be enough.

On Tue, Mar 21, 2017 at 1:37 AM, ıuoʎ <yonjah@gmail.com> wrote:
On Mon, Mar 20, 2017 at 9:58 PM, Timo Juhani Lindfors <timo.lindfors@iki.fi> wrote:
ıuoʎ <yonjah@gmail.com> writes:
I have a host running a few guests all configured to autostart. I'm also using libvirt-guests to suspend the guests when the host restarts or shuts down
I have a similar setup. I solved it by writing a small daemon that syncs system time from RTC time if the error is larger than 10 seconds. This guarantees that my VM time will be in sync with the host very fast. If I'd run ntpd it would take minutes for the resumed VM to notice that something happened.
Yea I created another systemd service that will sync the time of all running machines on host boot. I was just wondering if I was missing something with libvirt-guests and autostart. I haven't noticed any issues with the time discrepancies on running guests so I hope this will be enough.
Not tested myself, but in /etc/sysconfig/libvirt-guests there is at the end this: # If non-zero, try to sync guest time on domain resume. Be aware, that # this requires guest agent with support for time synchronization # running in the guest. For instance, qemu-ga doesn't support guest time # synchronization on Windows guests, but Linux ones. By default, this # functionality is turned off. #SYNC_TIME=1
From the comment contents it seems the default is actually 0, so if you have not already done it, you can put SYNC_TIME=1
This I think requires also to install inside the guest the qemu-guest-agent package and enabling qemu-guest-agent service. HIH, Gianluca

Gianluca Cecchi <gianluca.cecchi@gmail.com> writes:
# running in the guest. For instance, qemu-ga doesn't support guest time # synchronization on Windows guests, but Linux ones. By default, this # functionality is turned off.
I observed this too but the agent sounded too dangerous to me since changelog mentioned some denial of service issues with JSON parsing in the past.
participants (3)
-
Gianluca Cecchi
-
Timo Juhani Lindfors
-
ıuoʎ