This page describes a possible design for Cross-pool migration (which also works for within-pool migration with and without shared storage).