[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH][RFC] External device migration
On Thu, Apr 06, 2006 at 03:20:02PM -0400, Stefan Berger wrote: > Hello! > > This is a repost of the previously posted patch that enables external > devices to be migrated using external (relative to XenD) applications. > > I have added hooks for error recovery such that whatever part of > migration has been initiated can be rolled back when any of the devices > fail to migrate in one of the steps. The interface (in tpmif.py) to the > external application now uses os.popen() to allow error handling by > reading the application's output. > > > Below the updated previous text: > > This patch enables external devices, such as for example a mounted hard > drive image or a TPM, to be migrated to a remote machine. The patch > hooks into the checkpointing (XendCheckpoint.py) code and performs > migration in 4 different steps: > > In a 1st step (step = 0 in the code) migration of all devices of a > domain is 'tested', that means their driver implementations (blkif.py, > netif.py, tpmif.py, usbif.py, pciif.py) are queried whether migration is > possible at all. Currently all device representations respond with a > 'yes' (=0), although probably a VM mounting a hard drive partition > should respond with a 'no' (-1) already. This first step is a quick > check to see whether devices can be migrated. > > The 2nd step is to do whatever can be done before the domain is > suspended. At this point migration of the device could be initiated, if > at all possible. > > The 3rd step is to migrate a device after the domain has been suspended, > meaning that it is not scheduled anymore and the VM is 'settled'. All > devices are called again and a good implementation would initiate the > migration in a background process to achieve as much concurrency as > possible. > > The 4th step is to synchronize with the 3rd step. At this point the > implementor has to make sure that anything that was initiated in step 3 > has completed. Once all steps 4 have been processed, the VM will resume > on the remove machine. > > I have implemented hooks for migration of a virtual TPM in > xen/xend/server/tpmif.py. These hooks call a configurable external > migration tool using the os.popen() call with a fixed command line > parameter set. The implementation refuses to migrate a VM attached to a > virtual TPM if no tool has been provided for migration. > All other devices do not currently overload the 'migrate' method defined > in the DevController.py and therefore will just let migration happen. > > Please let me know what you think about this idea. > > Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> Applied, thanks Stefan. Are there any documentation patches required? Cheers, Ewan. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |