Linux

Solo disponible en BuenasTareas
  • Páginas : 10 (2302 palabras )
  • Descarga(s) : 0
  • Publicado : 22 de febrero de 2012
Leer documento completo
Vista previa del texto
Virtualización con Xen
- Revisión 3 -

Saúl Ibarra Corretgé

Licencia

http://creativecommons.org/licenses/by-nc-sa/2.5/es/

Introducción En esta guía se montará un servidor sobre el sistema de virtualización Xen, para posteriormente arrancar varias máquinas virtuales sobre él. ¿Qué es Xen? [Wikipedia] Xen utiliza una técnica llamada paravirtualización para alcanzar alto rendimiento(es decir, bajas penalizaciones del rendimiento, típicamente alrededor del 2%, con los peores casos de rendimiento rondando el 8%; esto contrasta con las soluciones de emulación que habitualmente sufren penalizaciones de un 20%). Con la paravirtualización, se puede alcanzar alto rendimiento incluso en arquitecturas (x86) que no suelen conseguirse con técnicas tradicionales de virtualización. Adiferencia de las máquinas virtuales tradicionales, que proporcionan entornos basados en software para simular hardware, Xen requiere portar los sistemas operativos para adaptarse al API de Xen. Hasta el momento hay ports para NetBSD, Linux, FreeBSD y Plan 9. En 2005, Novell muestra un port de NetWare para Xen. Un port de Windows XP fue creado durante el desarrollo inicial de Xen, pero las licencias deMicrosoft prohíben su lanzamiento público. ¿Qué vamos a montar? El sistema que vamos a montar consiste en un dominio dom0, que será una máquina Debian, y después montaremos varios domU, que también serán Debian (mediante debootstrap). Instalar Xen ya no es algo extremadamente complicado, ya que existen paquetes precompilados en Debian, pero eso nos impide tocar la configuración del Kernel, cosaque necesitaremos. Virtualización vs Paravirtualización Xen tiene 2 formas de operar: HVM o 'Full Virtualization', es decir, virtualización completa, que consiste en la instalación de un domU como si fuera un host independiente; o la paravirtualización, que consiste en utilizar un kernel modificado para que pueda comunicarse con el hypervisor de Xen. El usar HVM tiene la ventaja de que se puedevirtualizar Windows, y que no es necesario tener un kernel especial para virtualizar sistemas GNU/Linux, pero su rendimiento es inferior, ya que la ausencia de un kernel adaptado, ciertos componentes son emulados. Con HVM no es posible virtualizar sistemas *BSD. La paravirtualización tiene el inconveniente de necesitar un kernel adaptado, pero el rendimiento es superior, y se pueden virtualizardistintos sabores BSD.

Para poder utilizar HVM, necesitamos soporte para ello en el procesador. Podemos comprobarlo mirando si tiene la instrucción 'vmx': cat /proc/cpuinfo | grep flags flags: fpu de tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm

Manos a la obra: Instalando elsistema dom0 Lo primero que haremos será realizar una instalación básica de Debian, utilizando el CD de netinst, de manera que obtendremos una instalación de Debian mínima. Una vez el sistema esta instalado, conviene configurar la red e instalar el servidor SSH, para proseguir con la instalación desde otro PC. # apt-get install ssh openssh-server Instalaremos los paquetes necesarios antes decomenzar a instalar Xen: # apt-get install iproute bridge-utils python-twisted binutils zlib1g-dev python-dev transfig bzip2 screen ssh debootstrap libcurl3-dev libncurses5-dev x-dev build-essential gettext gawk mercurial yaird Si vamos a querer utilizar HVM, también instalaremos estos paquetes: bcc libsdl1.2debian-all libsdl1.2-dev libx86-dev libvncserver-dev

Compilar un Kernel para Xen (dom0)Primero descargamos las fuentes de http://bits.xensource.com/oss-xen/release/3.2.0/xen-3.2.0.tar.gz y las descomprimimos: # tar -xvzf xen-3.2.0.tar.gz Descargamos los sources del Kernel con Mercurial: # hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg Ahora compilamos e instalamos el Xen Hypervisor y las herramientas necesarias: # cd xen-3.2.0 Xen de:

# # # #

make make make make

xen...
tracking img