post icon

Virtualizar con XEN 3 en openSuSE

Lo que debemos saber antes

Al virtualizar por hardware debemos asegurarnos que nuestro procesador tenga esta caracteristica. Asi evitamos la paravirtualizacion, en este caso, el sistema operativo anfitrion y el virtualizado tendran acceso nativo al hardware (no asi en la paravirtualizacion).

Esta caracteristica en los procesadores Intel se lo llama IVT, y en procesadores AMD, AMD-V respectivamente.

Paquetes prerequeridos

  • Desde la linea de comandos instalamos lo siguiente:
1
2
3
4
5
 $ zypper install gcc
 $ git clone git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/bridge-utils.git
 $ cd bridge-utils
 $ autoconf
 $ ./configure
  • Para que luego cada maquina virtual tenga su propia IP independientemente, debemos crear puentes virtuales en la eth0 (tarjeta de red por omision) Creamos un bash con el siguiente codigo, mas abajo se explicara que hace cada linea:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
 
#! Nos posicionamos en la siguiente ruta
cd /root/bridge-utils/
#! Agregamos un puente virtual (Bridge)
brctl addbr br0
#! Asignamos el bridge creado a la tarjeta eth0
brctl addif br0 eth0
#! Habilitamos el protocolo stp para al bridge
brctl stp br0 on
#! Asignamos configuracion de red al bridge (ip + mascara)
ifconfig br0 192.168.1.30 netmask 255.255.255.0
#! Asignamos el gateway de salida al bridge
route add default gw 192.168.1.1 br0
#! Asignamos configuracion de red a la eth0 (ip + mascara)
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
#! Asignamos el gateway de salida a la eth0
route add default gw 192.168.1.1 eth0

Crear la Maquina Virtual

  • Abrir es panel de configuracion Yast2
  • Instalar Hypervisor y sus herramientas. Esto generara en el gestor de arranque un nuevo item, que sera el mismo suse con kernel modificado para que xen tenga el control de hardware.

yast

  • Reiniciamos el PC.
  • Iniciamos el nuevo kernel
  • Creamos la maquina virtual

crearvt

  • Luego elegimos la opcion que se adapte a nuestro caso, Un sistema operativo nuevo, o si ya tenemos uno que se migrara marcamos que ya tenemos el disco virtual.
  • Elegimos el tipo de sistema operativo que deseamos instalar, en este ejemplo Windows XP

tipoSO

  • En la siguiente pantalla podemos asignar el hardware que tendra la maquina virtual, tan solo dando clic sobre los enlaces azules de cada tipo de HW. Los que son necesarios estrictamente es un disco duro, regularmente grande para instalar alli el SO, el CD-ROM que no virtualiza por omision, y la tarjeta de red (este para nuestro caso).
  • Le daremos especial atencion a la virtualizacion de red (es necesario haber hecho 100% bien los prerequisitos para que esto funcione). *. Clic en “Adaptadores de Red”
  • Editamos el que nos propone por omisión
  • En la opcion Tipo elegimos nuetra tarjeta real
  • Fuente: br0 (el bridge que acabamos de crear)
  • Luego tenemos el administrador de maquinas virtuales (se puede verlo en la primer imagen)

adminVT

  • Hacemos correr la maquina virtual recien creada e instalamos como si fuera un Windows XP tradicional desde el CD-ROM.
  • WOLA!! Una vez finalizado el proceso de instalacion veremos de este modo la maquina virtual..

VirtualMachine

Finalmente

  • Ahora ya tememos hecha la configuracion, el inconveniente es que si reiniciamos el servicio de red o la maquina misma, se deshaceran completamente los cambios hechos
1
2
3
4
5
6
7
8
9
10
#!/bin/bash
 
cd /root/bridge-utils/
brctl addbr br0
brctl addif br0 eth0
brctl stp br0 on
ifconfig br0 192.168.1.30 netmask 255.255.255.0
route add default gw 192.168.1.1 br0
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
route add default gw 192.168.1.1 eth0
  • El siguiente bash creamos en /etc/init.d/redXen.sh
  • Ejecutamos en linea de comandos
1
insserv /etc/init.d/redXen.sh
  • Y creamos el enlace
1
ln -s /etc/init.d/redXen.sh /sbin/rc.redXen.sh

Comentarios desde Facebook:

Trackbacks/Pingbacks

  1. Solución a “Failed to find an unused loop device... con xen” | DevTroce.com WordPress - 2 Marzo 2011

    […] Solución a “Failed to find an unused loop device… con xen” Antes tambien verificar que que tengas configurado la conexion br0(puente o bridge), que si o si tenes que tener configurado porque o sino no te levanta la maquina virtual. Lee este post primero para seguir aca despues, http://www.devtroce.com/2009/12/20/virtualizar-con-xen-3-en-opensuse/ […]

Responder