« Previous | Next » 

Revision 2d76b580


Added by Michael Hanselmann about 14 years ago

Add daemon for instance import and export

This backend daemon for instance import and export will be used to
transfer instance data to other machines. It is implemented in a generic
way to support different ways of data input and output. The third-party
program “socat”, which is already used by the KVM hypervisor abstraction,
is used to connect to remote machines using SSL/TLS. After starting the
child processes in a separate process group, the import/export daemon
monitors their output and updates a status file regularily. This status
file can then be read by ganeti-noded (not in this patch).

Three I/O methods are supported: Raw disk, file and script. Each of these
can be used for import and export.

Similar to daemon-util, an incomplete set of tests written in Bash is

Two future enhancements are planned:
- Run parts of the command chain as a dedicated user (privilege
- Currently users of this daemon have to poll the status file while data
is transferred. This is inefficient and creates unnecessary delays. By
adding “dd” into the chain and sending it SIGUSR1 regularily, we can get
some statistics, optimize the polling frequenc and even provide the user
with an ETA (which isn't available with all current methods to
import/export instance data).

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>


  • added
  • modified
  • copied
  • renamed
  • deleted

View differences