[Linux-ha-dev] Xen resource live migration and memory management
Sebastian Reitenbach
sebastia at l00-bugdead-prods.de
Thu Mar 5 07:30:05 MST 2009
Hi,
right now, as far as I can see, the Xen live migration doesn't work together
with Xen.
The problem described in short words:
- with xen memory management enabled, the available memory on all hosts is
distributed equally on all running domU's on a physical node.
- with live migration, there must be enough resources available on the node
where the domU will migrate to.
- as there is all memory used, due to the memory management, the live
migration will fail.
- a resource script on one node, e.g. the Xen script, is not really able to
manipulate sth. on other hosts in the cluster
To solve the problem I thought about the following:
1. create a XenMigrationHelperResource, that can do the following:
- figure out the amount of running domU's
- figure out the amount of maximum available memory per host
- post both values into the CIB, using attrd_updater
- resize memory on the domU's running on the same host as where the
XenMigrationHelperResource runs on
2. using this resource, in e.g. a two node cluster:
- create a group, ordered but not collocated
- first add the XenMigrationHelperResource
- then the corresponding Xen resource
add a colocation constraint with -INFINITY, to keep the Xen resource always on
a different host than the XenMigrationHelperResource
3. migrate the Xen resource, due to the order, the XenMigrationHelperResource
starts its work:
- count running xen domains, and figure out maximum available memory, and
updated the CIB with attrd_updater
- shrink the memory on the running domU's equally, to make memory available
for the new domU to be migrated to that host
- then it migrates away on the other host
- then the Xen resource starts migration, it will read the values for the
target node posted via attrd_updater, and it will shrink the memory, so that
it will fit on the other machine.
- then it will start the migration of the domU, which now has good chances to
end successfully
- at the end io migration, the Xen resource will raise the memory on the host
where it migrated from
Is this something that could work out, or maybe I think too complicated, and I
overlooked sth. to solve the problem much more easier?
any input is highly appreciated.
regards
Sebastian
More information about the Linux-HA-Dev
mailing list