Also, add troubleshooting section.

Signed-off-by: Ben Lipton <[email protected]>
---
 README.rst |   46 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 39 insertions(+), 7 deletions(-)

diff --git a/README.rst b/README.rst
index 9faa0e9..9b68dcf 100644
--- a/README.rst
+++ b/README.rst
@@ -44,8 +44,9 @@ directly from source, then the only place it looks for OS 
definitions is
 ``/srv/ganeti/os``, and you need to install the OS under it. Distribute
 and install the package::
 
-  gnt-cluster copyfile ganeti-p2v-transfer-0.1.tar.gz
+  gnt-cluster copyfile /root/ganeti-p2v-transfer-0.1.tar.gz
   gnt-cluster command "tar xf ganeti-p2v-transfer-0.1.tar.gz &&
+    cd ganeti-p2v-transfer-0.1 &&
     ./configure --prefix=/usr --localstatedir=/var \
       --sysconfdir=/etc \
       --with-os-dir=/srv/ganeti/os &&
@@ -55,17 +56,18 @@ If ganeti was installed from a package, its default OS path 
should
 already include /usr/share/ganeti/os, so you can omit
 ``--with-os-dir``::
 
-  gnt-cluster copyfile ganeti-p2v-transfer-0.1.tar.gz
+  gnt-cluster copyfile /root/ganeti-p2v-transfer-0.1.tar.gz
   gnt-cluster command "tar xf ganeti-p2v-transfer-0.1.tar.gz &&
+    cd ganeti-p2v-transfer-0.1 &&
     ./configure --prefix=/usr --localstatedir=/var \
       --sysconfdir=/etc &&
     make install-target"
 
 
 Once the package is installed, edit the file
-``$PREFIX/etc/ganeti/instance-p2v-target/p2v-target.conf`` to uncomment
-the ``EXTRA_PKGS`` value that is appropriate to the hypervisor you are
-using on this cluster.
+``/etc/ganeti/instance-p2v-target/p2v-target.conf`` to uncomment the
+``EXTRA_PKGS`` value that is appropriate to the hypervisor you are using
+on this cluster.
 
 The actual path that ganeti will search for operating system definitions
 can be determined easily in ganeti 2.4.3 by running ``gnt-cluster info``
@@ -140,7 +142,7 @@ Creating a Target Instance
 Now that the nodes are set up to install instances with the bootstrap
 OS, we can go ahead and perform a P2V transfer. The first step is to
 create the instance that will receive the transfer. Create it with
-the ``p2v-target+default`` os and whatever parameters you need. The
+the ``p2v-target+default`` OS and whatever parameters you need. The
 default kernel and initrd of the instance should be ones that are both
 *compatible with* and *installed on* the source OS. Also pass the
 ``--no-start`` flag, because we want to use the specially generated
@@ -170,7 +172,7 @@ this to you.
 Boot the source machine from a LiveCD or PXE image. Extract the
 ganeti-p2v-transfer tarball and run::
 
-  ./configure -prefix=/usr --localstatedir=/var \
+  ./configure --prefix=/usr --localstatedir=/var \
     --sysconfdir=/etc
   sudo make install-source
 
@@ -195,6 +197,36 @@ When the transfer finishes, the script will shut down the 
instance. When
 the ganeti watcher restarts it, log in and make sure that everything
 works.
 
+
+Troubleshooting
+===============
+
+Bootstrap OS does not boot properly
+-----------------------------------
+
+These instructions suggest building the initrd on a node, for
+convenience.  However, it is possible that there are incompatibilities
+between the initramfs-tools installed on the node and the kernel that
+will be used for the bootstrap OS. In this case, the bootstrap OS may
+not boot, or may not be able to find the root device. If this happens, a
+good way to improve compatibility is to use a machine that is already
+running the instance kernel, perhaps a "normal" (non-p2v) instance on
+the same cluster. Install and run make_ramboot_initrd.py on this machine
+to generate the desired initrd.
+
+Another possibility is that the bootstrap OS does not have enough RAM to
+complete its boot. Since the bootstrap OS must be copied entirely into
+RAM, instances with small memory sizes are not supported. I have had
+good luck using 768MB of instance memory.
+
+No such script: ``/usr/share/debootstrap/scripts/squeeze``
+----------------------------------------------------------
+The version of debootstrap installed on the nodes may not be recent
+enough to support installing squeeze. Try changing the SUITE variable in
+``/etc/ganeti/instance-p2v-target/p2v-target.conf`` to something older::
+
+  SUITE="lenny"
+
 .. vim: set textwidth=72 :
 .. Local Variables:
 .. mode: rst
-- 
1.7.3.1

Reply via email to