Windows has a clock/tick problem when it is live-migrated.
This problem ends in a pseudo freeze status.
The solution is to stop the clock, when we suspend the VM for live-migration.

see man kvm -rtc clock=vm

The drawback is the VM will lose a little time on every live migration.
So with this setting it is recommended to have a time-sync client in the VM to 
keep the time.
 PVE/ | 1 +
 1 file changed, 1 insertion(+)

diff --git a/PVE/ b/PVE/
index dbd85a0..d3eeac5 100644
--- a/PVE/
+++ b/PVE/
@@ -3002,6 +3002,7 @@ sub config_to_command {
            $ostype eq 'wvista') {
            push @$globalFlags, 'kvm-pit.lost_tick_policy=discard';
            push @$cmd, '-no-hpet';
+           push @$rtcFlags, 'clock=vm';
            if (qemu_machine_feature_enabled ($machine_type, $kvmver, 2, 3)) {
                push @$cpuFlags , 'hv_spinlocks=0x1fff' if !$nokvm;
                push @$cpuFlags , 'hv_vapic' if !$nokvm;

pve-devel mailing list

Reply via email to