* [pve-devel] storage plugin volume sync during live migration
@ 2026-02-17 12:06 Andrei Perepiolkin
2026-02-18 7:30 ` Fabian Grünbichler
0 siblings, 1 reply; 2+ messages in thread
From: Andrei Perepiolkin @ 2026-02-17 12:06 UTC (permalink / raw)
To: Proxmox VE development discussion
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?
Can I/O operation take place on node2 before activation on node2 is
completed?
Best regards,
Andrei Perepiolkin
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [pve-devel] storage plugin volume sync during live migration
2026-02-17 12:06 [pve-devel] storage plugin volume sync during live migration Andrei Perepiolkin
@ 2026-02-18 7:30 ` Fabian Grünbichler
0 siblings, 0 replies; 2+ messages in thread
From: Fabian Grünbichler @ 2026-02-18 7:30 UTC (permalink / raw)
To: Andrei Perepiolkin, Proxmox VE development discussion
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-02-18 7:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-02-17 12:06 [pve-devel] storage plugin volume sync during live migration Andrei Perepiolkin
2026-02-18 7:30 ` Fabian Grünbichler
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox