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



Reply via email to