Please, describe the problem here and provide additional information below (if applicable) …
We’re using a backup job to a Restic datastore in which we set FS_FREEZE to AGENT. In this case we would expect FS quiescing with the guest’s QEMU Guest Agent. We’ve tried this with both an incremental and a full backup job.
I’ve changed the qemu-guest-agent.service on the VM to the following configuration to engage the fsfreeze and thaw hook:
# /lib/systemd/system/qemu-guest-agent.service
[Unit]
Description=QEMU Guest Agent
BindsTo=dev-virtio\x2dports-org.qemu.guest_agent.0.device
After=dev-virtio\x2dports-org.qemu.guest_agent.0.device
[Service]
ExecStart=-/usr/sbin/qemu-ga
Restart=always
RestartSec=0
[Install]
# /etc/systemd/system/qemu-guest-agent.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/sbin/qemu-ga --fsfreeze-hook=/etc/qemu/fsfreeze-hook
That fsfreeze-hook (which by default exists on the Debian 13 VM) triggers the following hook in fsfreeze-hook.d:
#!/bin/bash
LOGFILE=/var/log/qemu-ga-fsfreeze.log
{
printf '%s action=%s mounts=' "$(date --iso-8601=seconds)" "$1"
findmnt -rn -t ext4,xfs,btrfs -o TARGET | paste -sd, -
} >> "$LOGFILE"
exit 0
This shows the following output in /var/log/qemu-ga-fsfreeze.log when a freeze or thaw is performed:
cat /var/log/qemu-ga-fsfreeze.log
2026-08-12T07:12:04+00:00 action=freeze mounts=/
2026-08-12T07:12:27+00:00 action=thaw mounts=/
I can verify that performing virsh domfsfreeze vm-name and virsh domfsthaw vm-name on the hypervisor triggers this hook and freezes and thaws the VM filesystem.
However, when I start a backup job in Sunstone, the hook is never triggered and doesn’t show an fsfreeze and thaw. So my question is, does OpenNebula actually freeze and thaw the filesystem? And if it does that in a different way, where can I see that it does the freeze and thaw?
Versions of the related components and OS (frontend, hypervisors, VMs):
Frontend:
- Tested with 7.0.1 and 7.4.0
KVM nodes:
- Tested with 7.0.1 and 7.4.0
Steps to reproduce:
- Create a backup job (doesn’t matter if it’s incremental or full) with a Restic datastore
- Change the systemd unit with
systemctl edit qemu-guest-agent.serviceto use the fsfreeze-hook - Execute the backup job and see that no log entries are created for an fsfreeze or thaw
Current results:
- No fsfreeze and thaws are performed according to the qemu-guest-agent hook in the VM
Expected results:
- fsfreeze and thaw are performed according to the qemu-guest-agent hook in the VM