Hey all, we have been able to live migrate VMs whi...
# harvester
b
Hey all, we have been able to live migrate VMs which have replica count 1 storage attached to them. We were under the false impression that wasn't possible due to the harvester upgrade checker blocking upgrades when VMs with replica 1 storage are running. Please can someone explain why the upgrade checker will block upgrades when we can live migrate these machines ourselves? related issues https://github.com/harvester/harvester/issues/7323,
The live migration moved the replica to another node which I suspect isn't strictly required given you cannot use "strict-local" data locality. However, if it is possible, it seems we can safely upgrade with no downtime
by removing the harvester webhook validator
r
this is what I did with last version. Have not updated to 1.5 yet
m
Since Longhorn can block node draining, Harvester performs a pre-upgrade check to detect this condition.
https://github.com/harvester/harvester/pull/7361#issue-2783171559 • Before
Harvester v1.4.0
, the default LH node drain policy is
block-if-contains-last-replica
, a detached single-replica volume block the node drain • Since
Harvester v1.4.0
, we changed the LH node drain policy to `allow-if-replica-is-stopped`, even this will make the replica not block node drain, but it can still have potential data integrity concern during the upgrade
> The live migration moved the replica to another node In live migration, the
engine
is migrated, while the
replica
remains on the original node.
👍 1
b
Ah right, so our setting of "Data Locality:best-effort" meant the PVC then got rebuilt on the new node but if there isn't space I assume it will get left behind. if we temporarily change the LH node drain policy to block-for-eviction-if-contains-last-replica and delete the upgrade webhook, I think we can fairly safely upgrade without downtime of our replica 1 VMs
and having to manually move VMs around or dealing with stalled drains is much more preferable to us then having downtime of our hosted apps