-$Id$
-
virt-p2v : P2V ("physical to virtual") migration tool
----------------------------------------------------------------------
-Written by:
- Richard W.M. Jones <rjones@redhat.com>
+Written by Richard W.M. Jones <rjones@redhat.com>
-Copyright (C) 2007 Red Hat Inc.
+Copyright (C) 2007-2008 Red Hat Inc.
- http://et.redhat.com/~rjones/virt-p2v/
+ http://et.redhat.com/~rjones/virt-p2v/
-Binaries
+Support
----------------------------------------------------------------------
-Binaries are available from the website (live CD images which can be
-burned directly to a CD and booted on the p2v candidate machine).
+Please send all queries, patches, bug reports etc. to the
+et-mgmt-tools mailing list:
-http://et.redhat.com/~rjones/virt-p2v/
+ http://www.redhat.com/mailman/listinfo/et-mgmt-tools
-Building
-----------------------------------------------------------------------
-Requirements:
- * livecd-creator (on Fedora the package is 'livecd-tools')
- * qemu (only for testing)
+Binaries
+----------------------------------------------------------------------
-(1) Edit Makefile - there is some general configuration at the
- top which you may want to change.
+Binaries are available from the website (live CD images which can be
+burned directly to a CD and booted on the p2v candidate machine).
-(2) 'make build' will build an ISO image called virt-p2v-$VERSION.iso
+ http://et.redhat.com/~rjones/virt-p2v/download.html
-(3) Burn the image on to a CD using standard tools.
-Booting from USB device
+Usage
----------------------------------------------------------------------
-If you wish to boot from a USB keydrive, use the livecd-iso-to-disk
-tool:
+Please read the manual page:
- livecd-iso-to-disk virt-p2v-$VERSION.iso /dev/sdX1
+ man virt-p2v
+or make man; nroff -man virt-p2v.1 | less
+or http://et.redhat.com/~rjones/virt-p2v/virt-p2v.1.html
-(Replace /dev/sdX1 with the actual USB device).
-In my experience I also had to set up a suitable MBR:
+Building
+----------------------------------------------------------------------
- cat /usr/lib/syslinux/mbr.bin > /dev/sdX
+Requirements:
-Running
-----------------------------------------------------------------------
+ * livecd-creator (in Fedora the package is called 'livecd-tools')
+ * rpmbuild (in Fedora package rpm-build)
+ * ocaml, ocaml-findlib, ocaml-extlib, ocaml-pcre, ocaml-xml-light,
+ ocaml-newt, ocaml-libvirt, ocaml-fileutils, ocaml-gettext,
+ ocaml-gettext-devel (all in Fedora)
+ * qemu and/or KVM (only for testing)
-Boot the candidate machine from the live CD or USB keydrive.
+Then:
-You will need to have network access to another machine where it will
-save the virtual disk images. Ideally that machine will have ssh
-access (sshd service running), but there is also a simple network
-daemon that you can run on the target machine. Note that the target
-machine is usually the Xen host, but it doesn't need to be: you could
-copy the images to a staging machine, and later copy them over to the
-Xen host.
+ ./configure --help
+ ./configure
+ make
-Note that the live CD doesn't modify any data on the candidate
-machine.
+Then:
-Answer the questions. There is a tutorial and explanation of some of
-the questions on the website which you may wish to follow:
-http://et.redhat.com/~rjones/virt-p2v/
+ make rpm builds the virt-p2v RPM
+ make build (AS ROOT) builds an ISO image
+ called virt-p2v-$VERSION.iso
-While the live CD is booted a shell is available on other virtual
-consoles. Go to a virtual console using [ALT] [F2] and log in as root
-with no password.
+Other useful commands:
-If it works, the result will be disk images for each filesystem from
-the candidate machine, which should boot directly or with the minimum
-of changes.
+ make man Build manual page
+ make pxe Make a PXE-boot image in tftpboot/ subdirectory
-Booting P2V candidate under Xen
-----------------------------------------------------------------------
+Burn the image on to a CD using standard tools.
Testing
realistic testing you will also need an operating system image,
eg. from /var/lib/xen/images, to experiment with). For example:
- $ cp /var/lib/xen/images/rhel5gax32fv.img .
- $ make boot HDA=rhel5gax32fv.img
- qemu -m 512 -cdrom virt-p2v-0.1.iso -boot d -hda rhel5gax32fv.img
+ cp /var/lib/xen/images/rhel5gax32fv.img .
+ make boot HDA=rhel5gax32fv.img
-TCP transport and network daemon
+Serial console
----------------------------------------------------------------------
-The preferred transport is ssh, but if you cannot use this then there
-is an alternate TCP transport. (This transport is not encrypted).
-
-On the Xen host or staging server, install NetCat (the 'nc' command,
-in Fedora and RHEL the package is also called 'nc').
-
-Choose a free port number and make sure that it is not firewalled.
-
-Then run:
-
- nc -kl PORT > disks
-
-where PORT is replaced by the port number chosen above.
-
-After p2v has completed the 'disks' file will contain compressed
-images of one or more disks. There is a Perl script called
-virt-p2v-unpack which can unpack the file:
+With livecd-tools >= 018, the CD should enable the serial console
+(ttyS0, 9600 8N1).
- virt-p2v-unpack disks
+You can test this with:
+ make boot [...] SERIAL=yes