Debian guest clock jumps forward after KVM snapshot restore, causing missed cron jobs and certificate timing errors
Environment
Debian 11 guest running on KVM/QEMU host (libvirt). Guest restored from a saved snapshot while host was migrated between physical nodes. Services include nginx, systemd-timedated, and several scheduled cron jobs for backups.
Symptoms
After resuming from the snapshot, the guest clock is several hours ahead; systemd services that validate certificates fail with 'certificate not yet valid' and several cron jobs did not run at their scheduled times (timestamps in syslog show time jump).
Observations
journalctl shows lines: 'System clock time changed by X seconds' and repeated systemd-timesyncd NTP corrections. 'timedatectl' reports NTPSynchronized=no immediately after resume, and 'hwclock --show' reports older hardware clock time. There are no obvious kernel panics; host logs show the VM was paused for ~1 hour during migration.
Already attempted
Manually ran 'sudo timedatectl set-ntp true', forced a sync with 'sudo ntpd -q' and 'sudo hwclock --hctosys' (repro vs. host), restarted affected services; a full VM reboot restored normal time sync but was not always possible in production windows.
Question
What is the safest way to prevent large time jumps in guests restored from snapshots or paused during host operations, and how to recover without full reboot when a time step breaks certificate- or scheduler-dependent processes?
Verified community troubleshooting
No answers yet..