Inicio   defunct.gatopelao.org(Terminales / Xen / freeNX / etc)
agenda(2)  barrufet(5)  debian(1)  linux(1)  network(2)  rediris(3)  statusnet(3)  storage(2)  xen(4)  xmpp(1)  
weblog gatopelao

Mon, 08 Mar 2010

xen.img a qemu.img

Cuatro pasos para convertir una imagen xen a qemu.
http://fraise.co.nz/node/7


Mira cuanto disco necesitas y crear una nueva imagen QEMU.

qemu-img create /vserver/myroot.img -f raw 10G

Busca una liveCD, prueba http://rip.7bf.de/current/ (sin las X)
y botalo.
kvm -m 256 -cdrom /dev/cdrom -boot d myroot.img
Usando fdisk o cfdisk, crear las particiones que necesitas ( / y swap).
Usa partprobe y formatea las particiones.
Apagala.

Busca el offset del inicio del particion del raiz. Mira la columna 'start' y copia el numero. eg. 208845
fdisk -lu myroot.img

Monta la particion raiz de la imagen qemu.
mkdir -p /vserver/qemuroot
mount -o loop,offset=$(( 208845 * 512 )) -t auto myroot.img /vserver/qemuroot
Monta la imagen xen.
mkdir -p /vserver/xenimage
mount -o loop xen.domU.img /vserver/xenimage

Copia todo desde la imagen xen hasta la raiz de la imagen qemu
cp -a /vserver/xenimage /vserver/qemuroot
umount /vserver/xenimage


Install kernel, modules y configurar tus cosas.
chroot qemuroot
apt-get install linux-image
vim /etc/network/interfaces /etc/fstab /boot/grub/menu.lst
exit
umount /vserver/qemuroot

Para instalar grub en la raiz (hda1) arranco de nuevo desde el liveCD.
kvm -m 256 -cdrom /dev/cdrom -boot d myroot.img

mount /dev/hda1 /mnt
echo '(hd0) /dev/hda1' > /mnt/boot/grub/device.map
grub
grub> find /boot/grub/stage1
grub> root (hd0,0)
grub> setup (hd0)
quit
halt

Montar la red
http://www.thomaskho.com/blog/2006/02/qemu-and-the-network-bridge/

Botar la imagen qemu.

kvm -m 256 -net nic -net tap /vserver/myroot.img

[/xen] permanent link


Fri, 20 Nov 2009

my-network-bridge

Así xend iniciará dos bridges. En este ejemplo la segunda interfaz es dummy0.

cd /etc/xen/scripts
vim my-network-bridge
#!/bin/bash
case "$1" in
start)
        /etc/xen/scripts/network-bridge start bridge=eth0 netdev=eth0 vifnum=0 antispoof=no
        #/usr/sbin/ethtool -K eth0 tx off
        /etc/xen/scripts/network-bridge start bridge=dummy0 netdev=dummy0 vifnum=1 antispoof=no
        #/usr/sbin/ethtool -K dummy0 tx off
;;
stop)
        /etc/xen/scripts/network-bridge stop bridge=eth0 netdev=eth0 vifnum=0
        /etc/xen/scripts/network-bridge stop bridge=dummy0 netdev=dummy0 vifnum=1
;;
restart)
$0 stop
$0 start
;;
status)
        /etc/xen/scripts/network-bridge status
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

cambia los permisos
chmod u+x /etc/xen/scripts/my-network-bridge

y añadelo a xend-config.sxp
vim /etc/xen/xend-config.sxp

#(network-script network-bridge)
(network-script my-network-bridge)

[/xen] permanent link


Thu, 19 Nov 2009

dom0(etch) domU(lenny) y viceversa

Los domU's pueden arrancar con un kernel y modulos distintos de los que corren en el dom0.
Pon que tenemos un dom0 corriendo etch. Creamos un domU lenny.

dd if=/dev/zero of=/vserver/lenny.xen.img bs=1024k count=4000
mkfs.ext3 lenny.xen.img
mount -o loop lenny.xen.img /vserver/mnt/
debootstrap --arch i386 lenny /vserver/mnt http://ftp.es.debian.org/debian/

chroot /vserver/mnt
apt-get install locales
dpkg-reconfigure locales

vim /etc/apt/sources.list
deb http://ftp.es.debian.org/debian lenny main
deb http://security.debian.org/ lenny/updates main

apt-get update

vim /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
......

vim /etc/fstab
proc       /proc  proc defaults        0       0
/dev/sda1  /      ext3 defaults,errors=remount-ro 0 1
/dev/sda2  none   swap sw              0       0

vim /etc/resolv.conf
vim /etc/hostname
vim /etc/hosts
127.0.0.1 localhost
127.0.1.1 <tu_hostname>

mount /proc
apt-get install linux-image-2.6-xen-686
umount /proc
exit

'apt-get install linux-image-2.6-xen-686' nos instala los modulos en /lib/modules y el kernel image se instala en /boot donde tambien se crea el initramfs.

Ahora copiamos el kernel y el initramfs hasta el sistema de ficheros del dom0 para que pueda acceder a ellos a la hora de arrancar el domU.
mkdir -p /vserver/linux/lenny-2.6.26-2-xen-686/boot
cd /vserver/mnt/boot/
mv vmlinuz-2.6.26-2-xen-686 /vserver/linux/lenny-2.6.26-2-xen-686/boot/
mv initrd.img-2.6.26-2-xen-686 /vserver/linux/lenny-2.6.26-2-xen-686/boot/

Y en el fichero de config del domU indicamos el path.
vim /etc/xen/lenny
kernel="/vserver/linux/lenny-2.6.26-2-xen-686/boot/vmlinuz-2.6.26-2-xen-686"
ramdisk="/vserver/linux/lenny-2.6.26-2-xen-686/boot/initrd.img-2.6.26-2-xen-686"
.....

Si volvemos a crear otro domU lenny no es necesario repitir la movida, pero sí en necesario que tenga los modulos.
Esto se puede hacer copiando los modulos del domU(lenny) existente o con apt-get
apt-get install linux-modules-2.6-xen-686

El mismo proceso funciona para correr domU(etch) en un dom0(lenny).

[/xen] permanent link


Fri, 16 Oct 2009

etch domU install
Esto es una copia de los viejos apuntes

http://wiki.xensource.com/xenwiki/DebianDomU

1. Create the disk
Un disco de 4GB sería esto:

dd if=/dev/zero of=/vserver/debian-base.xen.img bs=1024k count=4000
mkfs.ext3 /vserver/debian-base.xen.img
mkdir /vserver/mnt
mount -o loop /vserver/debian-base.xen.img /vserver/mnt


2. Install debian testing
debootstrap --arch i386 etch /vserver/mnt http://ftp.rediris.es/debian/
cp -a /lib/modules/2.6.12.6-xen /vserver/mnt/lib/modules

3. Entra en el jail
chroot /vserver/mnt/
apt-get install debian-archive-keyring
vim /etc/apt/sources.list
deb http://security.debian.org etch/updates main

apt-get update
apt-get install udev

vim /etc/hostname #pon tu_hostname
vim /etc/hosts
127.0.0.1 localhost
127.0.1.1 tu_hostname

vim /etc/resolv.conf

4. Red
# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
auto eth0
iface eth0 inet static
        address 192.168.172.20
        netmask 255.255.255.0
        network 192.168.172.0
        broadcast 192.168.172.255
        gateway 192.168.172.1

5. /etc/fstab
#/etc/fstab: static file system information.
proc /proc proc defaults 0 0
/dev/hda1 / ext3 defaults,errors=remount-ro 0 1
/dev/hda2 none swap sw 0 0

6. instalar algunos paquetes
apt-get install libc6-xen ssh vim iproute locales
y reconfigurar dpkg-reconfigure locales
dpkg-reconfigure locales

7. Sal de Jail
exit

La máquina Virtual necesita swap.
dd if=/dev/zero of=/vserver/1G-swap.img bs=1k seek=1024k count=1
mkswap ./1G-swap.img

Create virtual machine config file
http://blogs.sun.com/shalon/entry/a_summary_of_creation_of
/etc/xen/desktopU
kernel = "/boot/vmlinuz-2.6.12-xen"
ramdisk = "/boot/initrd-xen-3.0.img"
memory = 1250
name = "nombreU"

#hyperthreading virtual cpus
vcpus = 2

disk = ['file:/vserver/nombreU.xen.img,hda1,w','file:/vserver/1G-swap.img,hda2,w']
#disk = ['phy:/dev/hda6,hda1,w','file:/vserver/1G-swap.img,hda2,w']

root = "/dev/hda1 ro"
#vif = ['bridge=xenbr0','bridge=xenbr1']
vif = ['bridge=eth0','bridge=eth1']
#['mac=00:16:3e:70:01:01,bridge=xenbr0','mac=00:16:3e:70:02:01,bridge=xenbr1']
extra = "xencons=tty"

Recuerda desmontar domU antes de botarlo.

[/xen] permanent link


June.2010(2)   May.2010(2)   March.2010(1)   January.2010(1)   December.2009(3)   November.2009(4)   October.2009(11)  
Blog software: Blosxom.com The unofficial Blosxum user group
RSS Feed rss feed