CBT: the thread to centralize your feedback
-
We need to wait for the largest part of the team to get back from vacation on Monday
-
Hi @flakpyro
You can doxe help vm-migrate
to see all available parameters and a small description.BTW, in XO, if a network is specified for the migration, we call
vm.migrate_send
otherwisevm.pool_migrate
.
vm.migrate_send
also migrates VM's VIFs and VDIs.Questions for the XCP team:
- What happens if you do a
vm.migrate_send
but the destination SR for the VDIs is the same? - Is there a way to call
vm.pool_migrate
using a specific network?
- What happens if you do a
-
Thanks for the tip!
Looking at the output:
command name : vm-migrate reqd params : optional params : live, host, host-uuid, remote-master, remote-username, remote-password, remote-network, force, copy, compress, vif:, vdi:, <vm-selectors>
Ir does not appear there is a way for me to specify a migration network using the vm-migrate command?
It sounds to me like
vm.migrate_send
is causing CBT to be reset whilevm.pool_migrate
is leaving it intact? The difference between a migration that is known to be kept within a pool vs one that could potentially be migrating a VM anywhere? -
Adding @psafont in the loop because it seems we should use
pool_migrate
with a network migration and/ormigrate_send
not resetting the CBT. -
@olivierlambert
xe vm-migrate
usesmigrate_send
when storage or network needs to be changed, otherwisevm.pool_migrate
is used. Selecting a new network is done through a thevif
parameter. This parameter is a map in the form ofvif:<VIF_UUID>=<NEW_NETWORK_UUID> vif:<VIF_UUID2>=<NEW_NETWORK_UUID2>
(and so on).So I'm not so sure that a netwrok migration can happen when using
pool_migrate
. -
So in the case where CBT is being reset the network of the VM is not actually being changed during migration. The VM is moving from Host A to Host B within the same pool, using NFS shared storage which is also not changing. However when "Default Migration Network" in the pools advanced tab is set on the pool, CBT data is reset. When a default migration network is not set, the CBT data remains in tact.
I seems like
migrate_send
will always reset CBT data during a migration then even if its within the same pool on shared storage and that this is used when a default migration network is specified in XO's Pool - Advanced tab. Whilevm.pool_migrate
will not reset CBT but is only used when a default migration network is NOT set in XO's Pool - Advanced tab. Not sure how we work around that short of not using a dedicated migration network? -
So either we need to update
pool_migrate
to allow a migration network parameter, OR we need to be sure thanmigrate_send
do NOT reset the CBT data if the storage do not change. @psafont Do you have a preference on which one we need to do upstream? -
As an update we just spun up our DR pool yesterday,a fresh install of XCP-NG 8.3 on all hosts in the pool. Testing migrations and backups with CBT enabled shows the same behaviour we experience on the other pools. Removing the default migration network allows CBT to work properly, however specifying a default migration network causes CBT to be reset after a VM migration. So i think this is pretty reproducible at least using a file based SR like NFS.
-
@flakpyro good that the root cause is found, hope it is something that can be fixed by the xoa team.
I can confirm that the cbt backups are running as smooth as they did on vmware! Good job all!
-
@flakpyro we are discussing with XAPI upstream, it won't be trivial but I think we know where to work. A CBT reset shouldn't occur if the VDI do not change SR, but I think any call to VM migrate send is resetting it. And since there's no way to pool migrate on a dedicated networkβ¦
-
@olivierlambert I don't think the first was ever meant to support that. Without knowing how much effort it will be, I'm leaning towards the second option, to not reset the CBT.
-
Got it, we'll try to provide a PR that adds a check to NOT reset CBT if there's no VDI migration involved and the problem will be "solved"