On February 17, 2026 1:06 pm, Andrei Perepiolkin wrote: > Hi, > > I have a question regarding Proxmox storage plugin > activate_volume/deactivate_volume concurrency for shared volumes. > > During live migration volume can be simultaneously attached to multiple > nodes at same time. > If vm migrates from node1 to node2, activate volume on node2 will > be called before deactivate is done on node1. > > This raises question regarding concurrency, a specially for sync-like > operations. > > Does Proxmox have any mean to guaranty that no I/O will be performed on > node2 until deactivation on node1 is completed?
It is ensured that the guest doesn't do any I/O, because the sequence is like this: 1. VM is running on source node 2. VM is started in suspended state on target node (this means no guest execution) 3. state (RAM, ..) is transferred until it converges 4. VM on source node is automatically paused once state is synced up 5. config file is moved to target node to hand over ownership 6. VM is resumed on target node 7. VM is stopped/killed on source node the VM is "logically" down (no guest execution on either node) from 4 to 6. up to 4, only the VM on the source node is actually executing the guest. after 6, only the VM on the target node is actually executing the guest. it becomes a bit more involved if you mix in local disks (in addition or instead of shared disks), but the principle remains the same. > Can I/O operation take place on node2 before activation on node2 is > completed? only if your storage does that on its own. if it does so in a problematic fashion, it's not really a useful shared storage ;) Fabian
