X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/71aeea56d24c27fedf97c11797baadbf0523f1a3..73aaf2c83ac56f22ee70aa8fc65e6c17e0a8162a:/blog/index.html diff --git a/blog/index.html b/blog/index.html index 822df7bb18..d177f6ab82 100644 --- a/blog/index.html +++ b/blog/index.html @@ -19,6 +19,93 @@ +
+
Migrating Xen virtual machines using LVM to KVM using disk images
+
2010-11-22 11:20
+
+

Most of the computers in use by the +Debian Edu/Skolelinux project +are virtual machines. And they have been Xen machines running on a +fairly old IBM eserver xseries 345 machine, and we wanted to migrate +them to KVM on a newer Dell PowerEdge 2950 host machine. This was a +bit harder that it could have been, because we set up the Xen virtual +machines to get the virtual partitions from LVM, which as far as I +know is not supported by KVM. So to migrate, we had to convert +several LVM logical volumes to partitions on a virtual disk file.

+ +

I found +a +nice recipe to do this, and wrote the following script to do the +migration. It uses qemu-img from the qemu package to make the disk +image, parted to partition it, losetup and kpartx to present the disk +image partions as devices, and dd to copy the data. I NFS mounted the +new servers storage area on the old server to do the migration.

+ +
+#!/bin/sh
+
+# Based on
+# http://searchnetworking.techtarget.com.au/articles/35011-Six-steps-for-migrating-Xen-virtual-machines-to-KVM
+
+set -e
+set -x
+
+if [ -z "$1" ] ; then
+    echo "Usage: $0 <hostname>"
+    exit 1
+else
+    host="$1"
+fi
+
+if [ ! -e /dev/vg_data/$host-disk ] ; then
+    echo "error: unable to find LVM volume for $host"
+    exit 1
+fi
+
+# Partitions need to be a bit bigger than the LVM LVs.  not sure why.
+disksize=$( lvs --units m | grep $host-disk | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
+swapsize=$( lvs --units m | grep $host-swap | awk '{sum = sum + $4} END { print int(sum * 1.05) }')
+totalsize=$(( ( $disksize + $swapsize ) ))
+
+img=$host.img
+#dd if=/dev/zero of=$img bs=1M count=$(( $disksize + $swapsize ))
+qemu-img create $img ${totalsize}MMaking room on the Debian Edu/Sqeeze DVD
+
+parted $img mklabel msdos
+parted $img mkpart primary linux-swap 0 $disksize
+parted $img mkpart primary ext2 $disksize $totalsize
+parted $img set 1 boot on
+
+modprobe dm-mod
+losetup /dev/loop0 $img
+kpartx -a /dev/loop0
+
+dd if=/dev/vg_data/$host-disk of=/dev/mapper/loop0p1 bs=1M
+fsck.ext3 -f /dev/mapper/loop0p1 || true
+mkswap /dev/mapper/loop0p2
+
+kpartx -d /dev/loop0
+losetup -d /dev/loop0
+
+ +

The script is perhaps so simple that it is not copyrightable, but +if it is, it is licenced using GPL v2 or later at your discretion.

+ +

After doing this, I booted a Debian CD in rescue mode in KVM with +the new disk image attached, installed grub-pc and linux-image-686 and +set up grub to boot from the disk image. After this, the KVM machines +seem to work just fine.

+
+
+ + + + Tags: debian, debian edu, english. + +
+
+
+
Lenny->Squeeze upgrades, apt vs aptitude with the Gnome and KDE desktop
2010-11-20 22:50
@@ -800,51 +887,6 @@ NRK1. :)

-
-
Software updates 2010-10-24
-
2010-10-24 22:45
-
-

Some updates.

- -

My gnash pledge to -raise money for the project is going well. The lower limit of 10 -signers was reached in 24 hours, and so far 13 people have signed it. -More signers and more funding is most welcome, and I am really curious -how far we can get before the time limit of December 24 is reached. -:)

- -

On the #gnash IRC channel on irc.freenode.net, I was just tipped -about what appear to be a great code coverage tool capable of -generating code coverage stats without any changes to the source code. -It is called -kcov, -and can be used using kcov <directory> <binary>. -It is missing in Debian, but the git source built just fine in Squeeze -after I installed libelf-dev, libdwarf-dev, pkg-config and -libglib2.0-dev. Failed to build in Lenny, but suspect that is -solvable. I hope kcov make it into Debian soon.

- -

Finally found time to wrap up the release notes for a -new alpha release of Debian Edu, and just published the second -alpha test release of the Squeeze based Debian Edu / -Skolelinux -release. Give it a try if you need a complete linux solution for your -school, including central infrastructure server, workstations, thin -client servers and diskless workstations. A nice touch added -yesterday is RDP support on the thin client servers, for windows -clients to get a Linux desktop on request.

-
-
- - - - Tags: debian, debian edu, english, multimedia. - -
-
-
-

RSS feed

-Created by Chronicle v3.7 +Created by Chronicle v3.2