Você está na página 1de 105

Administraci n de servidores virtuales con Xen y GNU/Linux

Jorge Armando Medina


Computacin Grfica de Mxico. Documentacin Tcnica

<mdn@-opga.o> jeiaecmurfcm

Alejandro Gabriel Snchez Martnez


Computacin Grfica de Mxico. Documentacin Tcnica

<snh mecmurfcm aace @-opga.o>

Copyright 2008-2010 Jorge Armando Medina, Alejandro Snchez Martnez Se otorga permiso para copiar, distribuir y/o modificar ste documento bajo los trminos de la Licencia de Documentacin Libre GNU GFDL, Versin 1.2 o cualquier otra posterior publicada por la Fundacin de Software Libre; sin secciones invariantes, sin textos en portada y contraportada. Una copia de la licencia en ingles la puede encontrar en los apendices al final del ibro, tambien una traduccin libre no oficial al espaol de la licencia GFDL y referencias de como utilizarla en sus proyectos, si por alguna razn se tuviera que utilizar por cuestiones legales la licencia GFDL la unica valida es la versin en inlges de ella. 2011/08/18 Re men Esta es una guia de referencia para la instalacin y administracin de servidores virtuales GNU/Linux en Xen. Se describen los procedimientos para la instalacin del servidor de virtualizacin, configuraciones de los ambientes de red y almacenamiento, instalacin del hypervisor Xen, creacin de maquinas virtuales Linux y la administracin de maquinas y recursos virtuales en ambientes Xen y GNU/Linux. Tabla de con enido Prefacio Convenciones del Documento Convenciones Tipogrficas Convenciones del documento Notas y Advertencias Necesitamos sus comentarios! 1. Introduccin a la Virtualizacin Historia de la virtualizacin Ventajas de la virtualizacin Tecnicas de virtualizacin 2. Introduccin al hypervisor Xen Historia del proyecto Xen Caracteristicas Xen Arquitectura de Xen Recursos adicionales

Sitios web Pginas de manual 3. Instalacin y configuracin del servidor Xen en GNU/Linux Requerimientos de sistema Requerimientos de hardware Requerimientos de sofware Instalando Xen desde el cdigo fuente en Ubuntu Server Compilando Xen 3.4.x desde las fuentes en Ubuntu Server Instalando el kernel XenLinux desde el cdigo fuente Instalando el kernel XenLinux desde apt Configurando GRUB para arrancar Xen 3.4.x Activando el demonio xend Arrancando y verificando el funcionamiento de Xen Instalando Xen en Ubuntu Server desde apt Instalando el hypervisor Xen y el kernel XenLinux desde apt Configurando GRUB para arrancar Xen Activando el demonio xend Arrancando y verificando el funcionamiento de Xen Instalando Xen en CentOS 5 Instalando Xen con yum Configurando GRUB para arrancar Xen Activando el demonio xend Arrancando y verificando el funcionamiento de Xen Instalando Xen 3.4 desde el repositorio gitco.de en CentOS 5 Configurando el demonio xend y la herramienta xm Configuracin de los medios de almacenamiento local para las VMs en Xen Creando discos virtuales basados en archivos Creando archivos de imagen ISO para medios de instalacin Creando discos virtuales basados en particiones Linux nativas Creando discos virtuales basados en vol menes lgicos Linux LVM Configuracin de los dispositivos de red fsicos y virtuales en Xen Introduccin a los modos de red en Xen Configurando Xen en modo bridge Configurando m ltiples switches virtuales con Xen y bridges Linux Como crear un bridge dummy para una red privada sin conexin fsica Creando los bridge Linux usando las herramientas del sistema operativo Como generar direcciones MAC nicas para Xen Recursos adicionales Sitios web Pginas de manual 4. Creacin de maquinas virtuales en Xen Requisitos para las Maquinas Virtuales Xen CPU y memoria para las maquinas virtuales Xen Medios de Almacenamiento para las maquinas virtuales Xen Dispositivos de red virtuales Xen Requisitos de software para las maquinas virtuales Medios de instalacin para las maquinas virtuales

Parmetros de configuracin para maquinas virtuales Xen Creando maquinas virtuales Xen PV Linux Creando maquinas virtuales Xen PV Linux con Debian o Ubuntu Creando maquinas virtuales Xen PV Debian con con debootstrap Creando maquinas virtuales Xen PV Ubuntu con xen-tools Instalando xen-tools Definiendo los parmetros de configuracin globales para xen-tools Creando maquinas PV Debian o Ubuntu Definiendo esquemas de particiones de xen-tools Modificando las plantillas de configuracin para xen-tools Creando maquinas virtuales PV Linux CentOS Creando maquinas virtuales PV CentOS usando imagenes de stacklet Creando maquinas virtuales PV CentOS con xen-tools y rinse Creando maquinas virtuales Xen HVM Windows Recursos adicionales Sitios web Pginas de manual 5. Administracin de maquinas y recursos virtuales en Xen Controlando el estado de las maquinas virtuales Xen Usando la herramienta xm para controlar maquinas virtuales Xen Arranque y apagado automtico de maquinas virtuales Xen Administracin de recursos virtuales en Xen Introduccin a la administracin de recursos de maquinas virtuales Xen Asignacin de memoria a las maquinas virtuales Xen Asignacin de CPUs virtuales a las maquinas virtuales Xen Asignacin de dispositivos de bloque para maquinas virtuales Xen Listando los dispositivos de bloque asignados a una maquina virtual Xen Asignando un archivo de imagen como disco duro a una maquina virtual PV Linux Asignando un disco duro o particin fsica a una maquina virtual Asignando un volumen lgico LVM a una maquina virtual PV Linux Asignando un volumen lgico LVM a una maquina virtual HVM Windows Desconectando un dispositivo de bloque virtual de una maquina virtual Administracin de interfaces de red para maquinas virtuales Xen Respaldo y clonacin de maquinas virtuales Xen Como respaldar maquinas virtuales basada en archivos Verificaciones previas del hardware de la maquina virtual Apagar la maquina virtual DomU Crear respaldo de datos del archivo de imagen Crear la maquina virtual Como restaurar maquinas virtuales basada en archivos Como respaldar maquinas virtuales basada en LVM Verificaciones previas del hardware de la maquina virtual Apagar la maquina virtual Crear snapshot del vol men lgico del disco raz Crear la maquina virtual Crear respaldo de datos del snapshot Eliminar el snapshot Como restaurar maquinas virtuales basada en LVM

Como clonar una maquina virtual basada en LVM Como convertir una maquina virtual de archivos a LVM 6. Resolucin de problemas Resolucin de problemas relacionados al reloj de las maquinas virtuales Resolucin de problemas relacionados a la red de las maquinas virtuales Recursos adicionales Sitios web Pginas de manual A. Historial de Revisiones B. Licencia de Documentacin Libre de GNU PREMBULO APLICABILIDAD Y DEFINICIONES COPIA LITERAL COPIADO EN CANTIDAD MODIFICACIONES COMBINACI N DE DOCUMENTOS COLECCIONES DE DOCUMENTOS AGREGACI N CON TRABAJOS INDEPENDIENTES TRADUCCI N TERMINACI N REVISIONES FUTURAS DE ESTA LICENCIA ADENDA: Cmo usar esta Licencia en sus documentos C. GNU Free Documentation License Li a de fig a 3.1. Servidor Linux sin Xen 3.2. Servidor Linux con Xen y un bridge 3.3. Servidor Linux con Xen, un bridge y un DomU 3.4. Servidor Linux con Xen, dos bridges, y dos Domu 3.5. Servidor Linux con Xen, dos bridges, uno dummy, y tres Domu 3.6. Servidor Linux con Xen, un bridge y un DomU va OS 3.7. Servidor Linux con Xen, dos bridges, y dos Domu va OS 3.8. Servidor Linux con Xen, tres bridges, y cuatro Domu va OS Li a de abla 4.1. Esquema de particiones

Prefacio
Tabla de con enido Convenciones del Documento Convenciones Tipogrficas Convenciones del documento Notas y Advertencias Necesitamos sus comentarios!

Convenciones del Documento


Este manual utiliza varias convenciones para resaltar algunas palabras y frases y llamar la atencin sobre ciertas partes especficas de informacin.

Convenciones Tipogr ficas

Se utilizan cuatro convenciones tipogrficas para llamar la atencin sobre palabras o frases especficas. Dichas convenciones y las circunstancias en que se aplican son las siguientes: Negrita monoespaciado Utilizada para resaltar la entrada del sistema, incluyendo comandos de shell, nombres de archivo y rutas. Tambin se utiliza para resaltar teclas claves y combinaciones de teclas. Para ver el contenido del archivo m _ e t b s s l i g n v len su directorio actual de trabajo, escriba el comando cat n _eteln_oe m _ne t_bestselling_novel en el intrprete de comandos de shell y pulse Enter para ejecutar el comando. Lo anterior incluye un nombre de archivo, un comando de shell y una tecla clave, todo en negrita-monoespaciado y distinguible gracias al contexto. Las combinaciones de teclas se pueden distinguir de las teclas claves mediante el guin que conecta cada parte de una combinacin de tecla. Por ejemplo: Pulse Enter para ejecutar el comando. Pulse Control+Alt+F1 para cambiar a la primera terminal virtual. Pulse Control+Alt+F7 para volver a su sesin de VentanasX. La primera oracin resalta la tecla clave determinada que se debe pulsar. La segunda resalta dos conjuntos de tres teclas claves, cada conjunto presionado simultneamente. Si el cdigo fuente es discutido, nombres de clase, mtodos, funciones, nombres de variables, y valores de retorno mencionados dentro de un prrafo sern presentados como lo anterior, en N g i a m n e p c a o Por ejemplo: ert-oosaid. Las clases de archivo relacionadas incluyen f l n m para sistema de archivos, f l para archivos y d rpara directorios. ieae ie i Cada clase tiene su propio conjunto asociado de permisos. Proportional Bold Esta denota palabras o frases encontradas en un sistema, incluyendo nombres de aplicacin; texto de cuadro de dilogo, botones etiquetados, etiquetas de cajilla de verificacin y botn de radio; ttulos de men y ttulos del sub-men. Por ejemplo: Seleccionar Sistema > Preferencias > Ratn desde la barra del men principal para lanzar Preferencias de Ratn. En la pestaa de Botones, haga clic en la cajilla ratn de mano izquierda y luego haga clic en Cerrar para cambiar el botn principal del ratn de la izquierda a la derecha (adecuando el ratn para la mano izquierda). Para insertar un caracter especial en un archivo gedit, seleccione desde la barra del men principal Aplicaciones > Accesorios > Mapa de caracteres. Luego, desde la barra del men elija Bsqueda > Hallar mapa de caracteres, teclee el nombre del caracter en el campo de Bsqueda y haga clic en Siguiente. El caracter buscado se resaltar en la Tabla de caracteres. Haga doble clic en este caracter resaltado para colocarlo en el campo de Texto para copiar y luego haga clic en el botn de Copiar. Ahora regrese a su documento y elija Editar > Pegar desde la barra de men de gedit. El texto anterior incluye nombres de aplicacin; nombres de men de todo el sistema y elementos; nombres de men de aplicaciones especficas y botones y texto hallados dentro de una interfaz GUI, todos presentados en negrita proporcional y distinguibles por contexto. Observe la > abreviatura utilizada para indicar recorrido a travs de un men y sus sub-menes. Esto es para evitar la dificultad de seguir el mtodo 'Seleccionar Ratn desde el sub-men Preferencias en el men de Sistema de la barra de men principal'. o Negrita monoespaciado o Negrita proporcional, la adicin de itlicas indica texto reemplazable o variable. Las itlicas denotan texto que usted no escribe literalmente o texto mostrado que cambia dependiendo de la circunstancia. Por ejemplo: Para conectar a una mquina remota utilizando ssh, teclee ssh @ en un intrprete de comandos de shell. Si la mquina remota es e a p e c my su nombre de usuario en esa mquina es john, teclee ssh ml.o john@e ample.com. El comando mount -o remount remonta el sistema de archivo llamado. Por ejemplo, para volver a montar el sistema de archivo / o e el comando es mount -o remount /home. hm, Para ver la versin de un paquete actualmente instalado, utilice el comando rpm -q siguiente: . . ste entregar el resultado

Observe las palabras en itlicas- negrita sobre nombre de usuario, domain.name, sistema de archivo, paquete, versin y lanzamiento. Cada palabra es un marcador de posicin, tanto para el texto que usted escriba al ejecutar un comando como para el texto mostrado por el sistema. Aparte del uso estndar para presentar el ttulo de un trabajo, las itlicas denotan el primer uso de un trmino nuevo e importante. Por ejemplo: cuando el servidor Apache HTTP acepta solicitudes, enva procesos hijos o hilos para manejarlos. Este grupo de procesos hijos o hilos se conoce como un server-pool. Bajo el servidor HTTP de Apache 2.0, la responsabilidad para crear o mantener estos server-pool se resume en un grupo de mdulos llamado M dulos de multi-procesamiento (MPMs). A diferencia de otros mdulos, slo un mdulo del grupo MPM puede ser cargado por el servidor HTTP de Apache.

Convenciones del documento


Dos, usualmente de varias lneas, los tipos de datos se distinguen visualmente del texto circundante. Salida enviada a una terminal est establecida en tipo r m n m n e p c a oy presentada as: oao oosaid
bos ok Dstp dcmnain dat ms eko ouetto rfs s poo hts suf sn tf v bostss Dstp dwlas ok_et eko1 onod iae nts srps sg mgs oe cit vs

Los listados de cdigo fuente tambin se establecen en r m n m n e p c a o pero se presentan y resaltan de la siguiente manera: oao oosaid,
pcaeogjosbo.c.x; akg r.bs.okjae1 ipr jvxnmn.ntaCnet mot aa.aigIiilotx; pbi casECin ulc ls xlet { pbi sai vi mi(tigag[) ulc ttc od anSrn rs] trw Ecpin hos xeto { Iiilotx iit =nwIiilotx(; ntaCnet nCx e ntaCnet) Ojc bet rf e =iit.okp"coen) nCxlou(EhBa"; EhHm cooe hm oe =(cooe rf EhHm) e; Eh co eh co =hm.rae) oecet(; Sse.u.rnl(CetdEh"; ytmotpitn"rae co) Sse.u.rnl(Eh.co'el' ="+eh.co"el") ytmotpitn"coeh(Hlo) coeh(Hlo);

Notas y Advertencias
Finalmente, utilizamos tres estilos visuales para llamar la atencin sobre la informacin que de otro modo se podra pasar por alto. Nota Una nota es una sugerencia, atajo o enfoque alternativo que se tiene a mano para la tarea. Ignorar una nota no debera tener consecuencias negativas, pero podra perderse de algunos trucos que pueden facilitarle las cosas. Importante Los cuadros de importante dan detalles de cosas que se pueden pasar por alto fcilmente: cambios de configuracin nicamente aplicables a la sesin actual, o servicios que necesitan reiniciarse antes de que se aplique una actualizacin. Ignorar estos cuadros de importante no ocasionar prdida de datos, pero puede causar enfado y frustracin. Ad ertencia Las advertencias no deben ignorarse. Ignorarlas muy probablemente ocasionar prdida de datos.

Necesitamos sus comentarios!


Si encuentra errores tipogrficos en este manual, o si ha pensando en alguna manera de mejorarlo, nos gustara escuchar lo. Por favor enve

cualquier comentario o correccin a la direccin de correo: < o m n a i n e c m g a . o > dc e co@-op rfcm. Cuando envie reportes de mejoras o errores acerca de este manual, asegurese de mencionar el nombre del manual: Administracion_de_Servidores_Virtuales_con_Xen_ _GNU_Linu . Si tiene sugerencias para mejorar la documentacin, trata de ser tan especifico como sea posible cuando las describa. Si ha encontrado un error, por favor incluya el n mero de seccin y alg n otro texto cercano de tal manera que podamos localizarlo facilmente.

Captulo 1. Introducci n a la Virtualizaci n


Tabla de contenidos Historia de la virtualizacin Ventajas de la virtualizacin Tecnicas de virtualizacin Parrafo 1

Historia de la virtualizaci n Ventajas de la virtualizaci n Tecnicas de virtualizaci n


Meter info sobre: En el campo de la virtualizacin existen diferentes tecnicas, entre las principales se encuentran: Para Virtualization Esta es una tcnica de Virtualizacin en la cual el sistema operativo de la maquina virtual se comunica con los dispositivos de hardware mediante una interfaz entre el OS de la maquina virtual y el Virtual Machine Monitor, esta tecnica permite que las maquinas virtuales ofrezcan un alto rendimiento al realizar operaciones importantes relacionadas al uso de los recursos de hardware, Esta tecnica require que el sistema operativo del las maquinas virtuales sea modificado. Sistemas operativos como Linux, FreeBSD, NetBSD, OpenSolaris con buenos candidatos para ejecutarse en entornos de Para Virtualizacin. Virtualizaci n asistida por Hardware (Full Virtualization) La tcnica de Virtualizacin asistida por hardware permite que sistemas operativos NO modificas puedan ser ejecutados en Maquinas Virtuales, esta tcnica requiere que el CPU soporte las extensines Intel VT o AMD-V. Esta tcnica permite ejecutar sistemas operativos propietarios como Windows sin que sea modificado. Esta tecnica no ofrece por si sola el mejor rendimiento.

Captulo 2. Introducci n al hypervisor Xen


Tabla de contenidos Historia del proyecto Xen Caracteristicas Xen Arquitectura de Xen Recursos adicionales Sitios web Pginas de manual

Historia del proyecto Xen


Xen is a virtual machine monitor (VMM) for x86-compatible computers. Xen can securely execute multiple virtual machines, each running its own OS, on a single physical system with close-to-native performance.

Caracteristicas Xen

Arquitectura de Xen
Meter la imagen:

Recursos adicionales
Si desea obtener ms informaci n sobre los programas y pginas de manual relacionadas se aconseja que acceda a los siguientes recursos adicionales.

Sitios web
En las paginas listadas a continuaci n encontrar mayor informaci n sobre los programas utilizados en este capitulo. http://www.xen.org - Sitio oficial Xen http://wiki.xensource.com/xenwiki/XenArchitecture?action=AttachFile&do=get&target=Xen+Architecture_Q1+2008.pdf - Xen Architecture Overview (February 2008) http://www.xen.org/community/xenhistory.html - Xen.org History http://wiki.xensource.com/xenwiki/XenKernelFeatures - Xen Kernel Features http://tx.downloads.xensource.com/downloads/docs/user/ - Xen 3.0 Users' Manual http://wiki.xensource.com - Xen.org Community Wiki http://blog.xen.org - Xen Community Blog

Pginas de manual
Para conocer ms sobre el uso y configuraci n de los programas utilizados en el capitulo, se recomienda leer los manuales relacionados.

Captulo 3. Instalaci n y configuraci n del servidor Xen en GNU/Linux


Tabla de con enido Requerimientos de sistema Requerimientos de hardware Requerimientos de sofware Instalando Xen desde el c digo fuente en Ubuntu Server Compilando Xen 3.4.x desde las fuentes en Ubuntu Server Instalando el kernel XenLinux desde el c digo fuente Instalando el kernel XenLinux desde apt Configurando GRUB para arrancar Xen 3.4.x Activando el demonio xend Arrancando y verificando el funcionamiento de Xen Instalando Xen en Ubuntu Server desde apt Instalando el hypervisor Xen y el kernel XenLinux desde apt Configurando GRUB para arrancar Xen Activando el demonio xend Arrancando y verificando el funcionamiento de Xen Instalando Xen en CentOS 5 Instalando Xen con yum Configurando GRUB para arrancar Xen Activando el demonio xend Arrancando y verificando el funcionamiento de Xen

Instalando Xen 3.4 desde el repositorio gitco.de en CentOS 5 Configurando el demonio xend y la herramienta xm Configuracin de los medios de almacenamiento local para las VMs en Xen Creando discos virtuales basados en archivos Creando archivos de imagen ISO para medios de instalacin Creando discos virtuales basados en particiones Linux nativas Creando discos virtuales basados en vol menes lgicos Linux LVM Configuracin de los dispositivos de red fsicos y virtuales en Xen Introduccin a los modos de red en Xen Configurando Xen en modo bridge Configurando m ltiples switches virtuales con Xen y bridges Linux Como crear un bridge dummy para una red privada sin conexin fsica Creando los bridge Linux usando las herramientas del sistema operativo Como generar direcciones MAC nicas para Xen Recursos adicionales Sitios web Pginas de manual En este capitulo veremos diferentes mtodos para implementar un servidor de virtualizacin con el hypervisor Xen y diferentes distribuciones GNU/Linux como: Debian, Ubuntu y aquellas basadas en RHEL 5 como CentOS 5. Se hace especial nfasis en la instalacin del hypervisor y las herramientas de Xen desde el cdigo fuente y usando los paquetes incluidos de la distribucin Ubuntu Server 8.04 LTS amd64.. A razgos generales, la instalacin de un servidor de virtualizacin con Xen y GNU/Linux incluye los siguientes procedimientos: Identificar los requerimientos de hardware y software para el servidor de virtualizacin Xen. Instalacin de Ubuntu Server 8.04 LTS amd64 en servidor. Instalacin del hypervisor Xen junto con sus herramientas, bibliotecas y archivos de configuracin. Instalar el kernel XenLinux para el Domain-0 y domUs. Configuracin del gestor de arranque grub para ejecutar Xen y el Domain-0 con el kernel XenLinux. Configurar el demonio xend en el Domain-0. Configurar un medio de almacenamiento local para las maquinas virtuales. Configurar el entorno de red local y virtual para el Domain-0 y las maquinas virtuales. En las siguientes veremos los procedimientos paso a paso usando diferentes mtodos para diferentes distribuciones GNU/Linux.

Requerimientos de sistema
Es importante tener en claro cuales son los requerimientos para una correcta implementacin del servidor de virtualizacin Xen, los ejemplos de las instalaciones y configuraciones que se refieren al servidor Xen se realizan en las distribuciones Ubuntu 8.04 LTS y CentOS 5.5 en sus versiones 64-bit (amd64/x86_64). Es importante notar que en las arquitecturas de 64-bit se pueden crear maquinas virtuales con sistemas operativos guest tanto en 32 y 64 bit, esto le permitir una gran flexibilidad tanto para realizar pruebas como para entornos de produccin con sistemas operativos y aplicaciones viejas.

Requerimientos de hard are


La instalacin de un host Xen requiere por lo menos un equipo fsico x86, el servidor Xen ser dedicado para hospedar y ejecutar las maquinas virtuales o VMs (Vi al Machine ), se recomienda que se dedique el sistema exclusivamente para la ejecucin de Xen ya que cualquier otra operacin podra afectar el rendimiento del sistema host como de las mquinas virtuales. Aunque el hypervisor Xen puede ser ejecutado en sistemas x86 de 32-bit (i386) se limitara a solo ejecutar VMs de 32-bit. Si tiene que ejecutar maquinas virtuales tanto en 32-bit y 64-bit entonces dedique un servidor con soporte 64-bit.

Los requerimientos del hardware para el servidor Xen van a depender del tipo de maquinas virtuales que vaya a ejecutar. El tema depende de si va a ejecutar maquinas virtuales en modo Paravirtualized (PVM) o en Full virtulization (HVM). Para ejecutar maquinas virtuales en modo Full virtualization va a requerir que el BIOS de la tarjeta madre tenga el soporte de Virtualizaci n activado y que el procesador tambin incluya el soporte de virtualizaci n. Tanto AMD como Intel incluyen soporte de virtualizaci n asistida por hardware en sus procesadores actuales, AMD-V es la tenologa introducida por AMD e Intel VT VT- es la tenologa introducida por Intel. En cuanto al uso de memoria RAM, se recomienda que dedique por lo menos 512 de RAM para el Domain0 ya que requiere recursos para realizar las operaciones de I/O y comunicaci n entre el hypervisor y las maquinas virtuales. Si cree que va a tener maquinas virtuales que hace uso intensivo de I/O como por ejemplo usando sistemas con RAID por software, iSCSI o LVM entonces se recomienda agregar otros 512MB extras de RAM para el Domain0. Para las maquinas virtuales usted haga el calculo, recuerde que en la mayora de los casos las maquinas virtuales harn mayor uso de memoria que de CPU por lo que no escatime en recursos. La asignaci n de disco se recomienda que dedique por lo menos 20 GB de espacio para el sistema operativo del Domain0, ya que va a ejecutar Xen en un Domain0 Linux no va a usar demasiado espacio, 4GB seran suficientes, sin embargo, se recomienda agregar ms espacio para los logs de sistema, archivo de imgenes de sistemas operativos, imgenes ISO, directorio para almacenar el estado (RAM) de las maquinas virtuales, entre otras cosas. La configuraci n de red para el servidor Xen influenciara en grande el modo de conexi n de las maquinas virtuales, la mayora de modos y dispositivos de red disponibles en un kernel Linux es soportado por Xen, desde interfaces de red 100M/s, 1GB o 10GB Ethernet, Bonding (Link Aggregation), VLANs, NFS, iSCSI, y otros esquemas conocidos pueden ser configurados en el Domain0 para proveer entornos compartidos, seguros y aislados de red para las maquinas virtuales. Si desea saber que tipo de CPU tiene un sistema puede iniciar con cualquier disco Live Linux y ver el contenido del archivo / r c c u n opara ver la informaci n de los procesadores, por ejemplo: po/pif
#ct/rccuno a po/pif poesr rcso :0 vno_d edri :Gniene eunItl cufml p ai :6 mdl oe :2 3 mdlnm oe ae :ItlR Xo()CU ne() enR P sepn tpig :1 0 cuM p H :19.4 9503 cces e ah i :64 K 14 B p scli h ia d :0 sbig ilns :1 cr i oe d :0 cucrs p oe :1

E45 @20G 50 .0H

Adems si desea saber si el CPU tiene soporte para virtualizaci n asistida por hardware entonces debera ver la bandera que indique si el soporte esta disponible, Intel incluye la bandera vm , por ejemplo:
#ge 'm'/rccuno rp v po/pif fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl fas lg :fud tcmrpemec8ai spmr maco ptpe6cfuh p e s s a c pc e tr c mv a s3 lls dsap m fs sese s h t pessaln l cntn_s ac_efo pb t ci m r s s2 s t m b cl m osattc rhprmn es bsrpgo pimntrd_p vxt2ss3c1 trdase_ lh_m t e_od n oio scl m m se 6 p c s41 afl

En sistemas con CPU AMD, busque el flag svm (Secure Virtual Machine), por ejemplo:

#ge ' m / o/pif p ' p cc no fa lg :f d p e cm pemec8ai m a c pc maco c m f e e h 2 cl n m e f _p l 3n e 3n al m o m do do lh_mcplgc sme ai c8lgc afl m_ea pc _ea fa lg :f d p e cm pemec8ai m a c pc maco c m f e e h 2 cl n m e f _p l 3n e 3n al m o m do do lh_mcplgc sme ai c8lgc afl m_ea pc _ea

p pe6cf hm a 3 ll m e_odpic1 pgo n 6 p pe6cf hm a 3 ll m e_odpic1 pgo n 6

Si las banderas no aparecen entonces asegurese que el soporte de Virtualizacin este habilitado en el BIOS, si su BIOS no incluye el soporte verifique si hay actualizacin disponibles con el fabricante del hardware. Es importante mencionar que en algunas tarjetas madres el soporte de la virtualizacin no aparece aun despus de activar el soporte y reiniciar el sistema, se recomienda que apague por completo el servidor, de preferencia desconectndolo de la corriente y volver a encenderlo, se ha reportado que es un mtodo que ha funcionado en varias tarjetas madre. Se recomienda que pruebe la compatibilidad de su hardware usando el Xen Live CD, el cual es un disco Live con Debian Lenny 5.0 con opcin para 32 y 64 bit.

Requerimientos de sofware
Para la ejecucin del hypervisor Xen vamos a requerir de un gestor de arranque con soporte para arrancar el hypervisor Xen y cargar un kernel Linux con soporte Xen, por ejemplo GRUB (GRand Unified Boo loader), recuerde que el hypervisor se ejecuta entre el hardware (BIOS) y el sistema operativo, por lo que vamos a requerir que el gestor de arranque inicialice el hypervisor como si fuera un kernel de sistema y el kernel vmlinuz lo ejecute como un mdulo, este kernel ser requerido para inicializar el sistema operativo del dominio privilegiado Domain0. El kernel que Xen va a cargar como modulo debe estar modificado para soportar Xen, el kernel va ser utilizado por el dominio privilegiado o Dom0, el cual tendr privilegios para iniciar y controlar nuevas maquinas virtuales o DomU, acceder directamente al hardware a travs de los drivers Backend los cuales multiplexan y re envan las peticiones de hardware desde los drivers Frontend en los DomU. Versiones modificadas de Linux, NetBSD y Solaris pueden ser usados como Dom0, algunas de las distribuciones que proveen kernels Dom0 para Linux son: Debian Ubuntu RHEL CentOS SLES OpenSUSE Gentoo Vea la informacin oficial de cada distribucin para ms informacin sobre como instalar un kernel Dom0. Para ms informacin acerca de kernels Dom0 para diferentes distribuciones Linux vea la pagina del wiki: Xen dom0 kernels.. El desarrollo actual de Xen con respecto al kernel se esta por incluir en el kernel linux upstream, todo el trabajo se esta enfocando en el kernel Xen PVPOS, para ms informacin ver la pagina del wiki: Xen paravirt_ops for upstream Linux kernel.. Para ejecutar maquinas virtuales PVM Linux, va requerir un kernel linux del guest incluya soporte Xen, este kernel debe proveer de los drivers Frontend para comunicarse y hacer peticiones de hardware con los drivers Backend que se ejecutan en el Domain0, algunas distribuciones incluyen un kernel con los drivers backend y frontend para que pueda ser usando tanto para dom0 y domU. Para configurar el entorno de red fsico y virtual en el servidor Xen se va a requerir de las herramientas de configuracin de red en linux, asegurese de instalar el paquete b idge- il en Debian/Ubuntu para la creacin de switches virtuales o bridges. Para configurar los sistemas de almacenamiento va se recomienda instalar el soporte para la creacin y administracin de vol menes lgicos LVM, instale el paquete l m2 Debian/Ubuntu.

Instalando Xen desde el c digo fuente en Ubuntu Server


En esta seccin veremos como instalar el hypervisor Xen y sus herramientas desde el cdigo fuente en la distribucin GNU/Linux Ubuntu Server, en especifico instalaremos la versin 3.4.x la cual es la versin estable recomendada y la que cuenta con mayores carcteristicas y

soporte por la comunidad. Al instalar Xen desde el c digo fuente nos permite instalar el kernel XenLinux que podr ser usado tanto para el Domain-0 como para las domUs. Antes de iniciar la instalaci n de Xen, se recomienda deshabilitar el soporte de Apparmor ya que estando activado puede prevenir que algunas maquinas virtuales funcionen, para detener y desactivar el servicio Apparmor ejecute los siguientes comandos:
#/ cii./pam e /n dap o o p # pae cd- ap m d - . f pa o eoe m

No se recomienda que active apparmor a menos que sepa administrarlo para que coopere con Xen.

Compilando Xen 3.4. desde las fuentes en Ubuntu Server


Para instalar el hypervisor Xen, sus herramientas y el kernel XenLinux se recomienda que instale todas las dependencias requeridas para la compilaci n y de tiempo de ejecuci n. instale las siguientes paquetes:

#a -e i al\ p g n l bcbn6bn i big- i bide e ilbi2dbep g kgci li o efe mk \ c i8 i l de l ln a p ehle a c a p l ae mdl-n -ol g -oeg e m c ilg kp c d o eii o i c e e a i a h e i-e lb l lbn e e0\ dd ic 3 i c lb 2d lb6d lb l-pn ld lbpg2d lbc e5d lbd-e lb ld \ ib -e ic-e ic 4oe -e ije6-e in -e i ld i -e lbn e e-e lb1-e lbgd eflb-e dk-e i c d i 1d i1-e 2 i d pgd e e-ogd \ -e a fg gf eif el el e-ae el el e-eomne el efn n i i no i -a b i -a cmedd i -o e a el efn -eomne i -o cmedd p hnp hnd p hnpoe lp hnpmp hn i e o o-e o- pn o-a od

No a Para ms informaci n acerca de las dependencias lea el archivo R A M incluido en la raz de las fuentes de Xen. EDE Impo an e Para incluir el soporte PCI pa Impo an e Para sistemas de 64-bit debe instalar paquete gcc-m l ilib. Descargue las fuentes de Xen 3.4.x desde el sitio oficial de Xen, la versi n 3.4.x se encuentra en la pgina Xen Hypervisor 3.4.3 Download. Descargue y prepare las fuentes en el directorio /
/ c :

h o gh debe instalar el paquete pci il -de antes de compilar xen tools.

#c / / c d # g h p/b .e o c.o/ -e/ee e343 e-...a. e :/i n ecmo n la /../ n343 g # a - f e-...a. n343 g #c e-.. d n343

Compilamos un kernel XenLinux, el Hypervisor, las herramientas y documentaci n de Xen:


#mk ol ae d

Impo an e Cuando se configura el kernel XenLinux se le preguntar acepte la instalaci n de determinadas funcionalidades del kernel, algunas en modo built-in (Y) y otras como modulo (M/m), se recomiende acepte los parmetros predeterminados presionando solo Enter. Impo an e El parmetro o l crear una imagen de kernel XenLinux ( m i - . . - e ) que puede ser usado tanto en el d ln 26 n dominio privilegiado Domain0 o en dominios no provilegiados domUs.. Ejecute el comando make in all para instalar el hypervisor Xen, el kernel XenLinux, las herramientas y la documentaci n de Xen en el sistema:

#mk isal ae ntl

Si no desea instalar el kernel XenLinux 2.6.18, instale los elementos por separado, por ejemplo, para compilar e instalar el hypervisor Xen y las herramientas ejecute:
#mk e ae n #mk tos ae ol #mk isal e ae ntl- n #mk isaltosPTO_RFXAG ae ntl-ol YHNPEI_R=

Opcionalmente puede instalar el soporte para Stub domain:


#mk sudm ae tbo #mk isalsudm ae ntl-tbo

Espere a que termine la instalaci n, al terminar revisamos el contenido del directorio / o tpara verificar la instalaci n del hypervisor: bo
#l - /ot e* s l bo/ n - --r-1ro ro 592 21-71 2:6/ot e-... r r-ot ot 472 000-8 33 bo/ n343g l r r 1ro ro r ot ot 1 21-71 2:6/ot e-.. - e-... 2 000-8 33 bo/ n34g > n343g l r r 1ro ro r ot ot 1 21-71 2:6/ot e-. - e-... 2 000-8 33 bo/ n3g > n343g l r r 1ro ro r ot ot 1 21-71 2:6/ot e. - e-... 2 000-8 33 bo/ ng > n343g - --r-1ro ro 852821-71 2:6/ot e- m-.. r r-ot ot 905 000-8 33 bo/ ns s343

Si instalo el kernel XenLinux 2.6.18 incluido en las fuentes de Xen, se instalan los siguientes archivos y directorios: Imagen kernel XenLinux: / o t vmlinuz-2.6.18.8-xen. bo/ Configuraci n kernel XenLinux: / o t c n i - . . 8 8 e . bo/ofg261.- n M dulos kernel XenLinux: / i / o u e / . . 8 8 e . lbmdls261.- n El demonio de control xend se instala en / s / b n e djunto con la herramienta / s / i / my otros programas de control, algunas ursi/ n urbn bibliotecas compartidas son instaladas en / s / i , como / s / i / i e c l s y / s / i / i e s o e s , el emulador de urlb urlblb nt.o urlblb ntr.o dispositivos para maquinas DomU HVM Guests QEMU se instala en / s / i / e / i / e u d . urlb nbnqm-m En las siguientes secciones veremos como instalar el kernel Linux con soporte Xen (XenLinux).

Instalando el kernel XenLinux desde el c digo fuente


Como se menciono en la secci n anterior, el comando make orld compila el kernel XenLinux 2.6.18.8 con sus respectivos m dulos, y el comando make install los instal en las rutas:: Imagen kernel XenLinux: / o t vmlinuz-2.6.18.8-xen. bo/ Configuraci n kernel XenLinux: / o t c n i - . . 8 8 e . bo/ofg261.- n M dulos kernel XenLinux: / i / o u e / . . 8 8 e . lbmdls261.- n Si su sistema requiere de una imagen initrd para el kernel XenLinux puede crearlo con el comando mkinitramfs, por ejemplo:
#dpo 261.-e emd ..88 n #c /ot d bo #miirms- iir.m-..88 e 261.-e kntaf o ntdig261.- n ..88 n

Importante Si instala soporte LVM en el Domain-0 se recomienda que actualice la imagen initrd, por ejemplo: update-initramfs u -k 2.6.18.8- en. En la siguiente secci n veremos como configurar el arrancador GRUB para inicializar el hypervisor Xen y el domain-0.

Instalando el kernel XenLinux desde apt


En Ubuntu Server 8.04 el deposito universe incluye un kernel XenLinux 2.4.24.x, la cual puede usar en lugar de la versi n XenLinux 2.6.18 incluido en las fuentes de Xen 3.4.x, el kernel incluido en Ubuntu se puede usar tanto para el dominio privilegiado Domain-0 y las domUs,

este kernel es compatible para arquitecturas de 32 y 64 bits, los paquetes del kernel y m dulos XenLinux son: linu -image-2.6.24-28- en - Imagen del kernel y m dulos con soporte Xen. linu -ubuntu-modules-2.6.24-28- en - M dulos del kernel adicionados por Ubuntu con soporte Xen. linu -restricted-modules-2.6.24-28- en - M dulos del kernel restrictivos adicionados por Ubuntu con soporte Xen. Instale la imagen del kernel XenLinux y sus m dulos desde apt:
#atgtisallnxiae262-8xn p-e ntl iu-mg-..42-e #dpo 262-8xn emd ..42-e

Importante Si va a instalar maquinas virtuales Ubuntu Server versiones 8.04 se recomienda instalar este kernel. Opcionalmente puede instalar los paquetes linu -ubuntu-modules-2.6.24-28- en y linu -restricted-modules-2.6.24-28- en para instalar los drivers para dispositivos adicionales. Los paquetes de la imagen y m dulos de kernel XenLinux instalan los siguientes archivos y directorios: Imagen kernel XenLinux: / o t v l n - . . 4 2 - e . bo/miu 262-8xn Imagen Initrd XenLinux: / o t i i r . m - . . 4 2 - e . bo/ntdig262-8xn Configuraci n kernel XenLinux: / o t c n i - . . 4 2 - e . bo/ofg262-8xn M dulos kernel XenLinux: / i / o u e / . . 4 2 - e . lbmdls262-8xn En la siguiente secci n veremos como configurar el arrancador GRUB para inicializar el hypervisor Xen y el domain-0.

Configurando GRUB para arrancar Xen 3.4.


Para arrancar un host con Xen es necesario configurar el gestor de arranque GRUB para iniciar el hypervisor Xen y arrancar el kernel XenLinux para el Domain-0, la documentaci n de xen recomienda crear una entrada en el archivo de configuraci n de grub / o t g u / e u l t por ejemplo: bo/rbmn.s,
tte il kre enl mdl oue mdl oue Xn30/Xniu 26 e . eLnx . /otxn30g bo/e-.. /otvln -.-e ro=ro-e>r cnoet 0 bo/miu 26xn ot<otdv o osl=t /otiir-.-e bo/ntd26xn

Importante Antes de modificar el archivo de GRUB es recomendable documentar la configuraci n del kernel actual y agregar una entrada adicional con el nuevo kernel, de manera que si no funciona el arranque de Xen el Domain-0 pueda iniciar con un kernel funcional. La entrada predeterminada para arrancar un kernel 2.6.24 no modificado de Ubuntu Server se ve as:
tte il ro ot kre enl iir ntd Uut 80. LS kre 262-8sre bnu .44 T, enl ..42-evr (d,) h00 /otvln -..42-evrro=UD57f8-2b4d-95d95b2a r qitsls bo/miu 262-8sre otUI=5ceaed-bda6-52ec83 o ue pah /otiir.m-..42-evr bo/ntdig262-8sre

En este caso se usa la ruta / o t v l n - . . 4 2 - e v rya que el directorio / o testa dentro de la partici n raz (/) del sistema. bo/miu 262-8sre bo Nota El nombre tipo / e / d de la partici n root con UUID 557cfe8a-e2db-4bdd-a965-d5925ebc28a3 puede ser dvsX obtenido con el comando blkid. Cuando instalamos el kernel con el paquete linu -image-2.6.24-28- en en Ubuntu Server 8.04, automticamente se agrega la siguiente

entrada a la configuraci n de GRUB:


tte il ro ot kre enl mdl oue mdl oue Xn343/Uut 80. LS kre 261.-e e .. bnu .44 T, enl ..88 n (d,) h00 /ot e-... bo/ n343g /otvln -..88 e ro=UD57f8-2b4d-95d95b2a r cnoet 0 bo/miu 261.- n otUI=5ceaed-bda6-52ec83 o osl=t /otiir.m-..88 e bo/ntdig261.- n

Es importante que si asigno una partici n separada para el directorio / o t por ejemplo / e / d 1(hd0,0) se asigno para / o t bo, dvsa bo, entonces cambie su configuraci n a:
tte il ro ot kre enl mdl oue mdl oue Xn343/Uut 80. LS kre 261.-e e .. bnu .44 T, enl ..88 n (d,) h00 /e-... n343g /miu-..88 e ro=UD57f8-2b4d-95d95b2a r cnoet 0 vln 261.- n otUI=5ceaed-bda6-52ec83 o osl=t /ntdig261.-e iir.m-..88 n

Note que se especifica la partici n de arranque con el parametro root y adems se incluye una imagen initrd.

Activando el demonio end


El demonio / s / b n e ddebe ser iniciado automticamente al arranque del sistema, xend es necesario ya que es la interfaz entre las ursi/ n herramientas m y el hypervisor Xen para realizar las operaciones requeridas por las maquinas virtuales. Cuando instalamos xen tools se instalo el script de control de ejecuci n / t / n t d e d con el script podemos controlar la ejecuci n ecii./ n, del demonio xend, para que el demonio xend se inicie automticamente al arranque del sistema use:
#udt-cd eddfut 2 2 paer. n eals 0 1

Tambin se recomienda que agregue el servicio xendomains, ms adelante hablaremos de el, por ahora basta saber que debe ser iniciado automticamente para apagar o iniciar automticamente las maquinas virtuales.
#udt-cd edmisdfut 2 2 paer. noan eals 1 0

El script / t / n t d e d m i sincluye algunas variables de control desde el archivo / t / s o f g e d m i s sin embargo ecii./ noan ecs cni/ noan, esta ruta no se usa en Debian/Ubuntu, es ms usada para distribuciones basadas en RPM, por lo que moveremos el archivo al directorio / t / e a l que es ms apropiado para distribuciones Debian/Ubuntu: ecdfut
#m /t/ sofg edmis/t/eal/ v ecs cni/ noan ecdfut

Ahora debemos editar el script / t / n t d e d m i spara adaptar las rutas, cambie el valor de las variables L C F L y ecii./ noan OKIE X N O _ O F G por ejemplo: EDMCNI,
LCFL=vrlc/edmis OKIE/a/ok noan XNO_OFG/t/eal/edmis EDMCNI=ecdfut noan

Nota Por default L C F L apunta a / a / o k s b s el cual no existe en Ubuntu/Debian, / a / o kest montado OKIE vrlc/us , vrlc sobre un disco ramdisk tipo tmpfs. El script xendomains por default guarda el estado de las maquinas virtuales (disco y memoria) al apagar el sistema (Domain-0), por default guarda un archivo de cada VM en el directorio definido por la variable X N O A N _ A Edentro del archivo EDMISSV / t / e a l / e d m i s por default esta as: ecdfut noan,
XNOAN_AE/a/i/e/ae EDMISSV=vrlb nsv

Cree el directorio para almacenar el estado de las VMs al apagar o re iniciar el sistema:
#mdr- /a/i/e/ae ki p vrlb nsv

Ahora si re inicie el sistema para arrancar el Xen y el domain 0:


#rbo eot

En la siguiente secci n veremos como validar la ejecuci n del servidor Xen, ahora re inicie el sistema para arrancar con Xen y el Dom0.

Arrancando

verificando el funcionamiento de Xen

Para verificar el correcto funcionamiento de un sistema con Xen, primero verifique que esta ejecutando el kernel linux modificado, use uname para dicha tarea:
# nm ae a Ln i h1eapecm261.-e # SPT M 2 0:72 UC21 8_4GULn 0. ml.o ..88 n 1 M h a 7 12:1 T 00 66 N/i

Note que el comando anterior nos devuelve la versin del kernel y efectivamente nos muestra que es la versin Xen, adems podemos ver que estamos ejecutando un sistema operativo GNU/Linux x86_64, es decir, 64-bit. Ahora verifique si el demonio xend se esta ejecutando, verifique que el archivo / o / e / a a i i i muestra c n o _ , lo cual p c ncpbl e o ld nos indica que se esta ejecutando en el dominio de control o privilegiado, por ejemplo:
#c / o/e/aaiii a p c ncpbl e cn o_ o ld

Ahora verifiquemos si nos podemos comunicar con el demonio xend usando el comando xm, veamos la informacin del sistema xen:
# mif no h o ee e la e in o mcie ahn n_p c n_oe nd c e_e_ok o p ce hed_e_oe a p c c _h p m h_a cp i _a cp oa_eo lmm fe_eo emm nd_oc oe _p nd_omm oe _eo e_ao nmj e_io nmn e_ ne a e_a ncp e_ce l n hd e e_aeie npg paf mp a l o _a m e_hnee ncag c_opl ccmie c_opl_ ccmieb c_opl_oan ccmiedmi c_opl_ae ccmied edcni_om n_ofgf a : h1eapecm 0. ml.o :261.-e ..88 n :# SPTeO 1 2:83 CT21 1 M c 2 05:1 D 00 : 8_4 66 :2 :1 :2 :1 :20 70 :18ff:b3bf0000:00000020:00000001:0000 7b3fedff:00000001:00010000:001f0000 :hm :11 99 :19 1 :nd001 oe::nd019 oe:1 :3 :4 :. 3 : e-.-8_4 e-.-8_2 hm30 8_2hm30 8_2 hm30 8_4 n30 66 n30 63p -.- 63 -.- 63p -.- 66 :cei d :49 06 : i _ a = ff800000 0 ff000000 : n albe a ial :gc e in424(bn 4241bn 4 c o .. U ..) : o o :eapecm ml.o :TeO 1 2:95 CT21 c 2 10:1 D 00 :4

En la salida del comando anterior podemos determinar lo siguiente: host El nombre de host es visualizado. release Versin del kernel linux sobre el que esta corriendo machine Arquitectura del CPU x86_64 nr_cpus N mero de CPUs en el sistema cores_per_socket N mero de n cleos por zcalo cpu_mh

Frecuencia del CPU total_memor Memoria total disponible en el sistema en_major, en_minor, en_e tra Versiones mayores, menores y extras de xen, por ejemplo 3.4.3 en_caps Capacidad de ejecuci n de maquinas virtuales, muestra el tipo de VMs capaz de ejecutar Algo importante es ver xen_caps para saber que tipo de maquinas virtuales soporta nuestro entorno. Ahora podemos consultar la informaci n de maquinas virtuales a travs de xend, use la opci n list del comando xm para ver un listado de maquinas virtuales en ejecuci n:
# mls it Nm ae Dmioan0 I D 0 MmVPs e CU 52 1 2 Sae tt r---Tm() ies 1. 57

Nota Vea que la cantidad de memoria asignada al Domain-0 esta limitada a 512M. Si la informaci n antes mostrada fue similar significa que Xen 3.4.x esta corriendo exitosamente sobre un Domain-0 Ubuntu 8.04 LTS Server edici n amd64.

Instalando Xen en Ubuntu Server desde apt


Ubuntu 8.04 LTS Server tiene soporte incluido para Xen, el soporte Xen para el kernel 2.6.24 funciona tanto para el Domain-0 y las domUs, tanto para las versiones i386 como amd64. El hypervisor soportado es Xen 3.2 as como las herramientas de sistema. Adems incluye el soporte de xen-tools, las cuales es un conjunto de scripts para automatizar la creaci n y administraci n de maquinas virtuales. En las siguientes secciones veremos como instalar un servidor Xen para hospedar maquinas virtuales tanto de tipo PVM como HVM sobre Ubuntu 8.04 LTS Server en la edici n amd64 la cual nos permitir ejecutar maquinas virtuales tanto en arquitecturas 32-bit (i386) como 64bit (amd64).

Instalando el h pervisor Xen

el kernel XenLinu desde apt

El sistema de paquetes apt incluye el meta paquete ubuntu- en-server el cual instala los paquetes requeridos para el servidor Xen, la lista de los paquetes incluidos son: en-h pervisor-3.2 - Hypervisor Xen. en-docs-3.2 - Documentaci n de Xen 3.2. linu -image-2.6.24-28- en - Imagen del kernel y m dulos con soporte Xen. linu -ubuntu-modules-2.6.24-28- en - M dulos del kernel adicionados por Ubuntu con soporte Xen. linu -restricted-modules-2.6.24-28- en - M dulos del kernel restrictivos adicionados por Ubuntu con soporte Xen. lib en3 - Bibliotecas requeridas para la ejecuci n de Xen en el Domain0. p thon- en-3.2 - Soporte m dulos python para Xen. en-utils-3.2 - Incluye el servidor xend y la herramienta de administraci n xm. Adems instala los siguientes paquetes adicionales o dependencias: binutils 2.18.1 - Utilerias de sistema.

bridge-utils - Herramientas para la creacin y administracin de switches virtuales (bridges). libdirectfb-1.0-0 - Soporte FrameBuffer. libsdl1.2debian - Soporte SDL. debootstrap - Herramientas para automatizar la creacin de instalaciones Debian/Ubuntu. en-tools - Herramientas para automatizar la creacin y administracin de maquinas virtuales Debian/Ubuntu. Y por si fuera poco hace la recomendacin de otros paquetes tiles: rinse xfsprogs libc6-xen xen-hypervisor-amd64 xen-hypervisor-i386 xen-hypervisor-i386-pae xen-shell Instalamos el metapaquete ubuntu- en-server, el cual instalar todos los paquetes requeridos para nuestro entorno de virtualizacin.
#a -e i al bn -e-e e p g n l n

El paquete xen-hypervisor-3.2 instal el hypervisor xen en el directorio / o : bo


#l - /o /e* l bo n - -- - 1 o - o o 412 20-22 2:4/o /e-.. o 038 090-0 10 bo n32g

Adems el paquete xen-utils instalan el demonio / requeridas para el funcionamiento de Xen.

/ i / e dy el programa / bn n

/ i / mjunto bn

con un conjunto de bibliotecas

Los paquetes de la imagen y mdulos de kernel XenLinux instalan los siguientes archivos y directorios: Imagen kernel XenLinux: / o / m i - . . 4 2 - e . bo ln 262-8 n Imagen Initrd XenLinux: / o / n d i g 2 6 2 - 8 e . bo ii .m-..42- n Configuracin kernel XenLinux: / o / o f g 2 6 2 - 8 e . bo cni-..42- n Mdulos kernel XenLinux: / i / o l / . . 4 2 - e . lbmd e 262-8 n Al final de la instalacin de los paquetes arriba mencionados el sistema de paquetes actualizar el archivo de configuracin de GRUB para incluir una entrada para arrancar el sistema con el hypervisor Xen y un kernel Linux modificado con el soporte Xen, siga con la siguiente seccin para ver las configuraciones de GRUB. En la siguiente seccin veremos como configurar el arrancador GRUB para inicializar el hypervisor Xen y el domain-0.

Config rando GRUB para arrancar Xen


Para arrancar un host con Xen es necesario configurar el gestor de arranque GRUB para iniciar el hypervisor Xen y arrancar el kernel XenLinux para el Domain-0, la documentacin de xen recomienda crear una entrada en el archivo de configuracin de grub / o / b m n . , por ejemplo: bo g /e l
il e k nl e e mdl o e mdl o e Xn30/Xni e . eLn 26 . /o /e-.. bo n30g /o /mi -.-e o = o -e> ocnoe bo ln 26 n o < o d o l= /o /n d26 e bo ii -.- n

Importante Antes de modificar el archivo de GRUB es recomendable documentar la configuracin del kernel actual y agregar una

entrada adicional con el nuevo kernel, de manera que si no funciona el arranque de Xen el Dom0 pueda iniciar con un kernel funcional. La entrada predeterminada para arrancar un kernel 2.6.24 no modificado de Ubuntu Server se ve as:
tte il ro ot kre enl iir ntd Uut 80. LS kre 262-8sre bnu .44 T, enl ..42-evr (d,) h00 /otvln -..42-evrro=UD57f8-2b4d-95d95b2a r qitsls bo/miu 262-8sre otUI=5ceaed-bda6-52ec83 o ue pah /otiir.m-..42-evr bo/ntdig262-8sre

En este caso se usa la ruta / o t v l n - . . 4 2 - e v rya que el directorio /boot esta dentro de la partici n raz (/) del sistema. bo/miu 262-8sre Nota El nombre tipo / e / d de la partici n root con UUID 557cfe8a-e2db-4bdd-a965-d5925ebc28a3 puede ser dvsX obtenido con el comando blkid. Cuando se instala el paquete ubuntu- en-server en Ubuntu Server 8.04, automticamente se agrega la siguiente entrada a la configuraci n de GRUB:
tte il ro ot kre enl mdl oue mdl oue Xn32/Uut 80. LS kre 262-8 e e . bnu .44 T, enl ..42- n (d,) h00 /ot e-.. bo/ n32g /otvln -..42-e ro=UD57f8-2b4d-95d95b2a r cnoet 0 bo/miu 262-8 n otUI=5ceaed-bda6-52ec83 o osl=t /otiir.m-..42-e bo/ntdig262-8 n

Es importante que si asigno una partici n separada para el directorio / o t por ejemplo / e / d 1(hd0,0) se asigno para / o t bo, dvsa bo, entonces cambie su configuraci n a:
tte il ro ot kre enl mdl oue mdl oue Xn32/Uut 80. LS kre 262-8 e e . bnu .44 T, enl ..42- n (d,) h00 /e-.. n32g /miu-..42-e ro=UD57f8-2b4d-95d95b2a r cnoet 0 vln 262-8 n otUI=5ceaed-bda6-52ec83 o osl=t /ntdig262-8 e iir.m-..42- n

Note que se especifica la partici n de arranque con el parametro root y adems se incluye una imagen initrd.

Activando el demonio end


El demonio /usr/sbin/xend debe ser iniciado automticamente al arranque del sistema, xend es necesario ya que es la interfaz entre las herramientas xm y el hypervisor Xen para realizar las operaciones requeridas por las maquinas virtuales. El paquete en-utils instalo el script de control de ejecuci n / t / n t d e d con el script podemos controlar la ejecuci n del demonio ecii./ n, xend, para que el demonio xend se inicie automticamente al arranque del sistema use:
#udt-cd eddfut paer. n eals

Tambin se recomienda que agregue el servicio xendomains, ms adelante hablaremos de el, por ahora basta saber que debe ser iniciado automticamente para apagar o iniciar automticamente las maquinas virtuales.
#udt-cd edmisdfut paer. noan eals

El script xendomains por default guarda el estado de las maquinas virtuales (disco y memoria) al apagar el sistema (Domain-0), por default guarda un archivo de cada VM en el directorio definido por la variable X N O A N _ A Edentro del archivo EDMISSV / t / e a l / e d m i s por default esta as: ecdfut noan,
XNOAN_AE/a/i/e/ae EDMISSV=vrlb nsv

Cree el directorio para almacenar el estado de las VMs al apagar o re iniciar el sistema:
#mdr- /a/i/e/ae ki p vrlb nsv

Ahora si re inicie el sistema para arrancar el Xen y el domain 0:


#rbo eot

En la siguiente seccin veremos como validar la ejecucin del servidor Xen, ahora re inicie el sistema para arrancar con Xen y el Dom0.

Arrancando

verificando el funcionamiento de Xen

Para verificar el correcto funcionamiento de un sistema con Xen, primero verifique que esta ejecutando el kernel linux modificado, use uname para dicha tarea:
# nm ae a Ln c o0eapecm262-8 e # SPT M 2 0:72 UC21 8_4GULn i 0. ml.o ..42- n 1 M h a 7 12:1 T 00 66 N/i

Note que el comando anterior nos devuelve la versin del kernel y efectivamente nos muestra que es la versin Xen, adems podemos ver que estamos ejecutando un sistema operativo GNU/Linux 86_64, es decir, 64-bit. Ahora verifique si el demonio xend se esta ejecutando, verifique que el archivo / o / e / a a i i i muestra c n o _ , lo cual p c ncpbl e o ld nos indica que se esta ejecutando en el dominio de control o privilegiado, por ejemplo:
#c / o/e/aaiii a p c ncpbl e cn o_ o ld

Ahora verifiquemos si nos podemos comunicar con el demonio xend usando el comando m, veamos la informacin del sistema xen:
# mif no h o ee e la e in o mcie ahn n_p c n_oe nd c e_e_ok o p ce hed_e_oe a p c c _h p m h_a cp oa_eo lmm fe_eo emm m _ e_eo a f emm m _aamm a p _eo m _ mmm a h _eo nd_oc oe _p e_ao nmj e_io nmn e_ ne a e_a ncp e_ce l n hd e e_aeie npg paf mp a l o _a m e_hnee ncag c_opl ccmie c_opl_ ccmieb c_opl_oan ccmiedmi c_opl_ae ccmied edcni_om n_ofgf a :c o0eapecm 0. ml.o :262-8 e ..42- n :# SPT M 2 0:72 UC21 1 M h a 7 12:1 T 00 : 8_4 66 :2 :1 :2 :1 :21 63 :18ff:b3bf0000:00000020:00000001 7b3fedff:00000001:00010000:001f :24 07 :15 2 :16 64 :16 60 :14 68 :nd001 oe::3 :2 :.-c- e 1 1p : e-.-8_4 e-.-8_2 hm30 8_2hm30 8_2 hm30 8_4 n30 66 n30 63p -.- 63 -.- 63p -.- 66 :cei d :49 06 : i _ a = ff800000 0 ff000000 : n albe a ial :gc e in424(bn 4241bn 4 c o .. U ..) :bid ld :bid ld :S Fb2 0:10 UC20 a e 1 30:2 T 09 :4

En la salida del comando anterior podemos determinar lo siguiente: host El nombre de host es visualizado. release Versin del kernel linux sobre el que esta corriendo machine Arquitectura del CPU x86_64 nr_cpus N mero de CPUs en el sistema cores_per_socket

N mero de n cleos por zcalo cpu_mh Frecuencia del CPU total_memor Memoria total disponible en el sistema en_major, en_minor, en_e tra Versiones mayores, menores y extras de xen, por ejemplo 3.2.1_rc1-pre en_caps Capacidad de ejecucin de maquinas virtuales, muestra el tipo de VMs capaz de ejecutar Algo importante es ver xen_caps para saber que tipo de maquinas virtuales soporta nuestro entorno. Ahora podemos consultar la informacin de maquinas virtuales a travs de xend, use la opcin list del comando xm para ver un listado de maquinas virtuales en ejecucin:
# mls it Nm ae Dmioan0 I D MmVPs e CU 0 17 89 2 Sae tt r---Tm() ies 2. 60

Nota Vea la cantidad de memoria asignada al Domain-0. Si la informacin antes mostrada fue similar significa que Xen esta corriendo exitosamente sobre un Domain-0 Ubuntu 8.04 LTS Server edicin amd64.

Instalando Xen en CentOS 5


En esta seccin veremos como instalar Xen y sus requerimientos en un sistema CentOS Server 5. La instalacin se realiza usando CentOS 5.5 en su versin x86_64.

Instalando Xen con um


CentOS 5.x incluye soporte para Xen, el soporte Xen para el kernel 2.6.18 funciona tanto para el Dom0 y DomU tanto para las versiones i386 como amd64. El hypervisor soportado es Xen 3.1 as como las herramientas de sistema. CentOS incluye la herramienta de administracin de maquinas virtuales Virtual Manager, la cual es una interfaz grfica para simplificar la administracin de un entorno de virtualizacin. Para instalar el soporte de Xen instale el paquete kernel-xen y xen usando la herramienta yum, por ejemplo:
# u isalkre-e e m ntl enl n n

Al instalar los paquetes kernel- en y en automticamente se instalan las siguientes dependencias: kernel-xen xen bridge-utils e4fsprogs-libs iscsi-initiator-utils libvirt libvirt-python

python-virtinst qemu xen-libs En las siguientes secciones veremos como verificar el funcionamiento de Xen en CentOS.

Configurando GRUB para arrancar Xen


Para arrancar un host con Xen es necesario configurar el gestor de arranque GRUB para iniciar el hypervisor Xen y arrancar el kernel del dominio privilegiado, la documentaci n de xen incluye este ejemplo de entrada en el archivo de configuraci n de GRUB:
tte il kre enl mdl oue mdl oue Xn30/Xniu 26 e . eLn . /ot e-.. bo/ n30g /otvln -.-e ro=ro-e>r cnoet 0 bo/miu 26 n ot<otdv o osl=t /otiir-.-e bo/ntd26 n

Importante Antes de modificar el archivo de GRUB es recomendable documentar la configuraci n del kernel actual y agregar una entrada adicional con el nuevo kernel, de manera que si no funciona el arranque de Xen el Dom0 pueda iniciar con un kernel funcional. La entrada predeterminada para arrancar un kernel 2.6.18 no modificado de CentOS se ve as:
tteCnO (..81431e5 il etS 261-9...l) ro (d,) ot h00 kre /otvln -..81431e5r ro=AE= rg qit enl bo/miu 261-9...l o otLBL/ hb ue iir /otiir-..81431e5ig ntd bo/ntd261-9...l.m

En este caso se usa la ruta / o t v l n - . . 8 1 4 3 1 e 5ya que el directorio /boot esta dentro de la partici n raz (/) del bo/miu 261-9...l sistema. Nota El nombre tipo / e / d de la partici n root con LABEL=/ puede ser obtenido con el comando blkid. dvsX Cuando se instala el paquete kernel- en en CentOS 5.x, automticamente se agrega la siguiente entrada a la configuraci n de GRUB:
tteCnO (..81431e5e) il etS 261-9...l n ro (d,) ot h00 kre /ot e. -..81431e5 enl bo/ ng 261-9...l mdl /otvln -..81431e5e r ro=AE= rg qit oue bo/miu 261-9...l n o otLBL/ hb ue mdl /otiir-..81431e5e.m oue bo/ntd261-9...l nig

Recuerde actualizar la lnea default para definir el kernel predeterminado, por ejemplo, en CentOS cuando instala kernel-xen agrega la entrada de Xen se agrego hasta arriba (0), y cambia el default a 1 para arrancar con el kernel default, cambie el default a 0 para arrancar con el kernel de Xen, por ejemplo:
dfut0 eal=

Es importante que si asigno una partici n separada para el directorio / o t por ejemplo / e / d 1(hd0,0) se asigno para / o t bo, dvsa bo, entonces cambie su configuraci n a:
tteCnO (..81431e5e) il etS 261-9...l n ro (d,) ot h00 kre /e. -..81431e5 enl ng 261-9...l mdl /miu-..81431e5e r ro=AE= rg qit oue vln 261-9...l n o otLBL/ hb ue mdl /ntd261-9...l e.m oue iir-..81431e5 nig

Note que se especifica la partici n de arranque con el parametro root y adems se incluye una imagen initrd.

Activando el demonio end


El demonio / s / b n e ddebe ser iniciado automticamente al arranque del sistema, xend es necesario ya que es la interfaz entre las ursi/ n

herramientas xm y el hypervisor Xen para realizar las operaciones requeridas por las maquinas virtuales. El paquete en instalo el script de control de ejecuci n / c i i . / e d con el script podemos controlar la ejecuci n del demonio e /n d n, xend, para que el demonio xend se inicie automticamente al arranque del sistema use:
#ckofg edo hcni n n

Tambin se recomienda que agregue el servicio xendomains, ms adelante hablaremos de el, por ahora basta saber que debe ser iniciado automticamente para apagar o iniciar automticamente las maquinas virtuales.
#ckofg edmi o hcni noan n

Ahora si re inicie el sistema para arrancar el Xen y el domain 0:


# eo bo

En la siguiente secci n veremos como validar la ejecuci n del servidor Xen, ahora re inicie el sistema para arrancar con Xen y el Dom0.

Arrancando

verificando el funcionamiento de Xen

Para verificar el correcto funcionamiento de un sistema con Xen, primero verifique que esta ejecutando el kernel linux modificado, use el comando uname para dicha tarea:

# nm ae a Ln c o3eapecm261-9...l e # SPT M 1 1:95 ET21 8_4 8_4 8_4GULn i 0. ml.o ..81431e5 n 1 M h a 3 34:3 D 00 66 66 66 N/i

Note que el comando anterior nos devuelve la versi n del kernel y efectivamente nos muestra que es la versi n Xen, adems podemos ver que estamos ejecutando un sistema operativo GNU/Linux 86_64, es decir, 64-bit. Ahora verifique si el demonio xend se esta ejecutando, verifique que el archivo / o / e / a a i i i muestra c n o _ , lo cual p c ncpbl e o ld nos indica que se esta ejecutando en el dominio de control o privilegiado, por ejemplo:
#c / o/e/aaiii a p c ncpbl e cn o_ o ld

Ahora verifiquemos si nos podemos comunicar con el demonio xend usando el comando m, veamos la informaci n del sistema xen:
# mif no h o ee e la e in o mcie ahn n_p c n_oe nd ok _e_oe ce p nd c e_e_ok o p ce hed_e_oe a p c c _h p m h_a cp oa_eo lmm fe_eo emm nd_oc oe _p e_ao nmj e_io nmn e_ ne a e_a ncp e_aeie npg paf mp a l o _a m e_hnee ncag c_opl ccmie c_opl_ ccmieb c_opl_oan ccmiedmi c_opl_ae ccmied edcni_om n_ofgf a :c o3eapecm 0. ml.o :261-9...l e ..81431e5 n :# SPT M 1 1:95 ET21 1 M h a 3 34:3 D 00 : 8_4 66 :2 :1 :1 :2 :1 :21 41 :18ff:b3bf0000:00000020:00000001 7bbfedff:00000001:00010000:000f :18 93 :20 4 :nd001 oe::3 :1 :.-9...l 21431e5 : e-.-8_4 e-.-8_2 hm30 8_2hm30 8_2 hm30 8_4 n30 66 n30 63p -.- 63 -.- 63p -.- 66 :49 06 : i _ a = ff800000 0 ff000000 : n albe a ial :gc e in4122000 (e H 4124) c o .. 0874 Rd a ..-8 :mcbid ok l :cno. g e o :T M 1 1:91 ET21 h a 3 25:8 D 00 :2

En la salida del comando anterior podemos determinar lo siguiente: host El nombre de host es visualizado.

release Versin del kernel linux sobre el que esta corriendo machine Arquitectura del CPU x86_64 nr_cpus Nmero de CPUs en el sistema cores_per_socket Nmero de ncleos por zcalo cpu_mh Frecuencia del CPU total_memor Memoria total disponible en el sistema en_major, en_minor, en_e tra Versiones mayores, menores y extras de xen, por ejemplo 3.1.2-194.3.1.el5 en_caps Capacidad de ejecucin de maquinas virtuales, muestra el tipo de VMs capaz de ejecutar Algo importante es ver xen_caps para saber que tipo de maquinas virtuales soporta nuestro entorno. Ahora podemos consultar la informacin de maquinas virtuales a travs de xend, use la opcin list del comando xm para ver un listado de maquinas virtuales en ejecucin:
# ml i Nm ae Dmioan0 I MmMB VP Sae Tm() D e(i) CU ie 0 18 69 2 ---2. 25

Nota

Vea la cantidad de memoria asignada al Domain-0. Si la informacin antes mostrada fue similar significa que Xen esta corriendo exitosamente sobre un Domain-0 CentOS 5.x edicin amd64.

In alando Xen 3.4 de de el epo i o io gi co.de en Cen OS 5


Sascha G nther mantiene el repositorio http://www.gitco.de/repo/ en el cual publican paquetes RPM del hypervisor Xen 3 y 4 listos para instalarse en CentOS-5/RHEL-5 (x86_64), cabe hacer mencin que estos paquetes fueron compilados usando las fuentes de http://www.xen.org y solo instalan el hypervisor y no el kernel, por lo que tendr que seguir usando el kernel que provee redhat o compilar un kernel con soporte Xen. Agregue el repositorio a YUM:
# i / c m eo./IC-E343 8_4 eo m e / . p dGTOXN.._ 66. p

Con el contenido:
[ic-e343 g o n..] nm=HLCnO- ee ee -GTOXN.. aeRE/e S$ la IC E343 b e lh p/ a = :/ .ic.e eo e343 g od/ p/ n.. gghc= pcek0 eald1 nbe=

E instale el hypervisor con:


# mi al e n l n

Recuerde validar las entradas en la configuracin de GRUB y que el servicio xend y xendomains estn activos.

Configurando el demonio end

la herramienta m

El demonio xend es la interfaz entre el hypervisor y las maquinas virtuales, debe ser ejecutado en el Dom0 ya que requiere privilegios elevados al hardware, el demonio xend debe ser ejecutado como root al inicio del sistema. La ejecucin y comportamiento del demonio xend puede ser controlada a travs del archivo de configuracin / c e / e d e / n nc n i . p en dicho archivo se definen directivas para controlar el comportamiento general del dominio y maquinas virtuales, a ofg , continuacin se describen algunos de los parmetros ms importantes. La directiva l g i edefine la ruta del archivo en la que el demonio xend registrar los eventos. ofl
(ofl /a/o/e/edlg lgie lg n n.o)

La directiva n o k c i define la ruta al script de inicio y control de las interfaces y parmetros de red virtuales, el modo e p predeterminado es en modo bridge, por ejemplo:
(e ok ci n okbig) n p e - de

En este caso n o k c i busca un script de shell localizado en el directorio / c e / c i /con el nombre n o k b i g . e p e / n p e - de La directiva i - c i define la ruta al script que crear las interfaces de red virtuales para las domUs. f p
(i-ci f p i- ig) fb de

En este caso i - c i busca un script de shell localizado en el directorio / c e / c i /con el nombre i - i g el cual se f p e / n p fb de encargar de crear y destruir las interfaces virtuales (vif.X.X) para los DomU. Vea la seccin Configuracin de los dispositivos de red fsicos y virtuales en Xen para ms informacin del uso de los scripts network-bridge y vif-bridge y la creacin de redes virtuales publicas y privadas con Xen. La directiva d m - i - e define la cantidad mnima de memoria con la que puede operar el Domain-0. o0mnmm
(o0mnmm16 dm-i-e 9)

Por default, el Domain-0 usa toda la memoria disponible en el sistema y va liberando memoria para asignarle a los domU de forma dinmica conforme van iniciando (ball i g), se recomienda que limite la cantidad de memoria mxima como parmetro de ejecucin del hypervisor en la configuracin de GRUB. La directiva d m - p define la cantidad de CPUs o n cleos que puede usar el Domain-0, en sistemas con multi-core se recomienda o0c dedicar un CPU fisico o n cleo al domain-0, esto es recomendable para evitar compartir el CPU con otras VMS especialmente cuando en el domain-0 se realizan tareas de I/O adicionales, como por ejemplo uso de RAID por software, LVM, NFS o iSCSI por mencionar algunas. Por default se usa el varlor 0, el cual significa que puede usar cualquier CPU disponible, es decir, todos.
(o0c dm-p 0 )

Vea la seccin Administracin de recursos virtuales en Xen para obtener ms informacin para controlar el uso de memoria y CPU para el Dom0. Para que los cambios tomen efecto re inicie el demonio xend, si los cambios no se aplican ya que son cambios significativos como cambios de modo bridge a route entonces se recomienda que re inicie el servidor. La herramienta de administracin /usr/bin/ m es usada para interactuar con el demonio xend y ejecutar acciones sobre las maquinas virtuales incluyendo el Dom0, el programa m requiere de privilegios de root para ser ejecutado. Con el subcomando i f puede ver informacin relacionada al sistema y el hypervisor: no
# mif no h o ee e la e in o mcie ahn : h1eapecm 0. ml.o :262-8 e ..42- n :# SPWdA 12:71 UC20 1 M e p 34:0 T 09 : 8_4 66

n_ps rcu n_oe rnds crsprsce oe_e_okt trasprcr hed_e_oe cumz p_h h_as wcp ttlmmr oa_eoy fe_eoy remmr mxfe_eoy a_remmr mxpr_eoy a_aammr mxhmmmr a_v_eoy nd_ocu oet_p xnmjr e_ao xnmnr e_io xneta e_xr xncp e_as xnshdlr e_ceue xnpgsz e_aeie pafr_aas ltomprm xncagst e_hnee c_oplr ccmie c_opl_y ccmieb c_opl_oan ccmiedmi c_opl_ae ccmiedt xn_ofgfra edcni_omt

:8 :1 :4 :1 :19 95 :beff:00800000:001000e3:00000000 fbbf2100:00000004:4c3d0000:0001 :63 17 :6 :11 49 :11 45 :10 43 :nd007 oe::3 :2 :.-c-r 1r1pe :xn30x66 xn30x63phm30x63 hm30x63phm30x66 e-.-8_4 e-.-8_2 v-.-8_2 v-.-8_2 v-.-8_4 :cei rdt :49 06 :vr_tr=xff000000 itsat0ff800000 :uaalbe nvial :gcvrin424(bnu4241bnu) c eso .. Uut ..-uut4 :bid uld :bid uld :StFb2 0:10 UC20 a e 1 30:2 T 09 :4

Tambin puede ver los mensajes que gener el hypervisor Xen al arrancar usando el subcomando d e g por ejemplo: ms,
#x deg m ms _ _ _ _ \\ /_ __ / __ _ \ / _\' \ / _ / \ _/ _ //____ _ _\\_

___ __ __ __ _ _ __/ __\ / _ _ __ __ _ _/ __ __ __ _ _ _ _\ _) _ _ '_ _ _ _/ _ _ ' \ '_ _\ _ _ _/ __ _) /_/_ _ _ _ (_ _ _ _ _ ) _/ _ __()__() ________ _ \_ _ __ ._ _ \_ _/ __ _ (E)Xnvrin321r1pe(uldbid)(c vrin424(bnu4241bnu) StFb2 0:10 U XN e eso ..-c-r bid@uld gc eso .. Uut ..-uut4) a e 1 30:2 (E)Lts CagSt uaalbe XN aet hnee: nvial (E)Cmadln: XN omn ie (E)Vdoifrain XN ie nomto: (E) VAi tx md 8x5 fn 81 XN G s et oe 02, ot x6 (E) VEDCmtos V;EI tase tm:2scns XN B/D ehd: 2 DD rnfr ie eod (E)Ds ifrain XN ic nomto: (E) Fud2MRsgaue XN on B intrs (E) Fud2EDifrainsrcue XN on D nomto tutrs (E)Xne2 RMmp XN e-80 A a: (E) 00000000 -00000080 (sbe XN 00000000 000009c0 ual) (E) 00000080 -00000100 (eevd XN 000009c0 00000000 rsre) (E) 00000100 -00009220 (sbe XN 00000000 0000eb00 ual) (E) 00009220 -00009390 (CINS XN 0000eb00 0000e600 AP V) (E) 00009390 -00009a20 (sbe XN 0000e600 0000f300 ual) (E) 00009a20 -00009aa0 (eevd XN 0000f300 0000f900 rsre) (E) 00009aa0 -00009a90 (sbe XN 0000f900 0000fa00 ual) (E) 00009a90 -00009ba0 (CINS XN 0000fa00 0000f100 AP V) (E) 00009ba0 -00009b80 (sbe XN 0000f100 0000f200 ual) (E) 00009b80 -00009ba0 (CIdt) XN 0000f200 0000f300 AP aa (E) 00009ba0 -00009c00 (sbe XN 0000f300 0000f000 ual) (E) 00009c00 -0000b000 (eevd XN 0000f000 00000000 rsre) (E) 0000fc00 -0000fcc0 (eevd XN 0000f000 0000f000 rsre) (E) 00000000 -0000e000 (sbe XN 00010000 00010000 ual) (E)Sse RM 63M (257k) XN ytm A: 17B 6822B (E)Xnha:1M (46k) XN e ep 4B 184B (E)Dmi ha iiilsd DAwdh3 bt XN oan ep ntaie: M it 2 is (E)Poesr# 77AI vrin2 XN rcso 0 : PC eso 0 (E)Poesr# 77AI vrin2 XN rcso 2 : PC eso 0 (E)Poesr# 77AI vrin2 XN rcso 4 : PC eso 0 (E)Poesr# 77AI vrin2 XN rcso 6 : PC eso 0 (E)Poesr# 77AI vrin2 XN rcso 1 : PC eso 0 (E)Poesr# 77AI vrin2 XN rcso 3 : PC eso 0 (E)Poesr# 77AI vrin2 XN rcso 5 : PC eso 0 (E)Poesr# 77AI vrin2 XN rcso 7 : PC eso 0 (E)IAI[] ai_d8 vrin3,ades0fc00,GI02 XN OPC0: pci , eso 2 drs xe000 S -3 (E)IAI[] ai_d9 vrin3,ades0fc00,GI2-7 XN OPC1: pci , eso 2 drs xe800 S 44 (E)Ealn AI md: Fa. Uig2IOAIs XN nbig PC oe lt sn / PC (E)Uigshdlr SPCei Shdlr(rdt XN sn ceue: M rdt ceue cei) (E)Dtce 19.5 Mzpoesr XN eetd 9509 H rcso. (E)HM VXeald XN V: M nbe (E)CU:ItlR Xo()CU XN P0 ne() enR P E45 @20Gzsepn 0 50 .0H tpig a

(E)B XN 12 / 800 0 (E)CU:I XN P1 ()X ()CU R R P E45 @20G 50 .0H (E)B XN 24 / 800 0 (E)CU:I XN P2 ()X ()CU R R P E45 @20G 50 .0H (E)B XN 36 / 800 0 (E)CU:I XN P3 ()X ()CU R R P E45 @20G 50 .0H (E)B XN 41 / 800 0 (E)CU:I XN P4 ()X ()CU R R P E45 @20G 50 .0H (E)B XN 53 / 800 0 (E)CU:I XN P5 ()X ()CU R R P E45 @20G 50 .0H (E)B XN 65 / 800 0 (E)CU:I XN P6 ()X ()CU R R P E45 @20G 50 .0H (E)B XN 77 / 800 0 (E)CU:I XN P7 ()X ()CU R R P E45 @20G 50 .0H (E)T XN 8 . (E)EALN I-PCIQ XN NBIG OAI R (E) - U XN > AK C (E)P XN 198 49 . (E)P XN 1.1M HE 438H PT (E)B XN 8CU P (E) XN :I .I 2 3 (E)ADIMU D XN M OM: (E)**LAIGDMI 0** XN * ODN OAN * (E) X XN :6- , 4 , 3 2 (E) D 0 XN :6- , 4 , 0 8200 - 0 0000 > (E)PYIA MMR ARNEET XN HSCL EOY RAGMN: (E) D 0 XN . : 0000 4000>00018000(425 0001 000-0000 000 1953 (E)VRULMMR ARNEET XN ITA EOY RAGMN: (E) L XN : 82000000> 866 8 0 8 (E) I . XN : 86700 00> 8 1 80 0 (E) P XN M : 8 1 00> 08824 2628 (E) S XN : 88302600> 883 4 264 (E) P XN : 88402600> 88 00 27 0 (E) B XN : 88 00> 27 088 00 27 0 (E) TTL XN OA: 80000000> 8 000 2 00 (E) ETYADES XN NR DRS: 8200 0000 (E)D 0 XN 8VP CU (E)I XN 01080 670, 0 8670 0 00 (E)S XN F RM . A: . (E)X XN : (E)S .L XN :E (E)G XN L :N ( R :E ) (E)X XN VA G . (E)**S XN * - DM ( > O0 'TL ' CR(E)F XN 10B 0 .

0 0 0 0 0 0 0

P 6

866 8 0 8 )

X )

Por ltimo, tambin puede ver los ltimos mensajes de log de Xen con el subcomando
#

, por ejemplo:

Para ms informacin del uso del comando xm vaya al capitulo Administracin de maquinas y recursos virtuales en Xen.

Configuraci n de los medios de almacenamiento local para las VMs en Xen


Xen, en conjunto con el kernel XenLinux ofrecen varias alternativas para el medios de almacenamiento de las mquinas virtuales, tambin conocidos como discos duros virtuales, el medio de almacenamiento para las maquinas virtuales Xen se le conoce como Di i i de Bl e Vi al (Vi al Bl ck De ice), los VBD pueden ser cualquier tipo de dispositivo de bloque soportado por el kernel Linux, como discos o particiones nativas, archivos de imagen raw, vol menes lgicos LVM entre otros. Los tipos de VBD soportados en Xen son: Archivos de imagen con el driver loopback: El driver loopback propio del kernel Linux mapea dispositivos de bloque a dispositivos loopback. Soporta archivos RAW de tipo full y sparce. Xen usa el manejador file para este tipo de archivos. Archivos de imagen con el driver blktap: El driver propio de Xen ofrece mayor rendimiento que loopback, es ms escalable y asincrono. Soporta archivos RAW de tipo full y sparce.Xen usa el manejador tap:aio para este tipo de archivos. Dispositivos F sicos - Las dispositivos fsicos de almacenamiento local incluye: Particiones nativas: /
/

,/

Dispositivos RAID por softaware: / e / d . d mX Vol menes Lgicos LVM: / e / G S a a d m Y o , / e / G S a a d m Y a , / e / G P D a d m Y d VOD /o - o d VOD /o - p d VAPa /o hm. oe Xen usa el manejador ph para este tipo de dispositivos. En las siguientes secciones veremos como crear diferentes medios de almacenamiento para las maquinas virtuales usando los tres tipos de almacenamiento local arriba mencionados.

C eando di co

ale ba ado en a chi o

Los archivos de imagen para discos duros es el medio de almacenamiento ms flexible ya que permite respaldar de forma fcil las maquinas virtuales, adems que permite mover los discos de las maquinas virtuales a otros sistemas como si fueran archivos ordinarios. Se recomienda que dedique una particion para almacenar los archivos de imagen, para este documento dedicamos una particin con las siguientes caracteristicas: Particin Linux nativa /dev/sda6 de 60G. Sistema de archivos e t3 montada con opcin noatime. El punto de montaje es / en/storage/0. Si decide usar el manejador file para imagenes de archivos usando el driver loopback se encontrar con que, por default, la mayora de distribuciones Linux solo permiten la creacin de 8 dispositivos loop lo cual lo limitar al n mero de discos virtuales que podr asignar a las maquinas virtuales. Si usa un kernel en donde el driver loopback se compilo como mdulo (CONFIG_BLK_DEV_LOOP=m) y desea permitir la creacin de ms de 8 dispositivos loop agregue la opcin m _ o pal mdulo loop, usando los archivos en el directorio / c m d o e d , por a lo e /op b./ ejemplo:
#eh "pin lo mxlo=4 >/ cmd oedlo co o o op a_op6" e /op b./op

Si el soprte del driver loopback se compilo como built-in (CONFIG_BLK_DEV_LOOP= ) y desea permitir la creacin de ms de 8 dispositivos loop agregue el parmetro m _ o pa la lnea del que carga el kernel XenLinux en el archivo de configuracin de grub a lo / o / b m n . , por ejemplo: bo g /e l
mdl o e /mi -..88 e o =d /d3 ocnoe ln 261.- n o /e a o l= 0mxlo=4 a_op6

Para crear un archivo de imagen de tipo full use el comando dd, por ejemplo, para crear archivo de imagen de 4GB:
#d i=dv eoo=xnsoae0iae/ou-otigb=04 c n=06 d f/e/ r f/e/trg//mgsdmXro.m 12k o 49

El archivo resultante no tendr ning n contenido pero si est ocupando el espacio fsico, este es la forma recomendada ya que da mejor rendimiento que el tipo sparse. Los archivos de imagen loop de tipo sparse inicialmente no ocupan espacio, pero si lo reflejan a un simple ls, estos archivos se van redimiensionando conforme se escribe en ellos, si tiene problemas de espacio y quiere aprovechar al mximo el espacio en disco use el tipo sparse pero recuerde que estar sacrificando rendimiento ya que este tipo causa una carga extra en el Dom0, para crear un archivo de imagen de tipo sparse con dd use:
#d i=dv eoo=xnsoae0iae/ou-otigb=04 ek49 c n= d f/e/ r f/e/trg//mgsdmXro.m 12k e=06 o 0

Es posible crear un sistema de archivos ext3 sobre un archivo de imagen de bloque, por ejemplo:
#mf. 3/e/ oae0iae/o X o .m k e n g//mg dm - o ig

Tambin puede crear un sistema de archivo swap en un archivo de imagen, por ejemplo:
#m a /e/ oae0iae/o X a.m k p n g//mg dm - pig

Para mayor informacin de como agregar un disco duro a una maquina virtual vaya a la seccin Como agregar discos duros virtuales a maquinas virtuales Xen. Una de las desventajas de usar discos duros virtuales basados en imgenes es que agregan una carga extra al sistema host, ya que el archivo

de imagen esta almacenado en un sistema de archivos del Domain0 lo cual implica que el OS del Dom0 debe realizar operaciones para actualizar la meta informacin de los archivos y datos, si desea mejor rendimiento se recomienda que use particiones nativas o vol menes lgicos LVM con el modo de acceso raw, as se evita la carga extra. Para ver como asignar/export un archivo de imagen a una maquina virtual vaya a la seccin Archivos de configuracin Xen para maquinas virtuales DomU para ver el formato del parmetro de configuracin de dispositivos de bloque a los DomU. En las siguientes secciones veremos como crear particiones nativas usando el comando fdi k, cfdi k o pa ed.

Creando archivos de imagen ISO para medios de instalaci n


Si desea crear un archivo de imagen ISO de un medio de instalacin para facilitar la creacin de maquinas virtuales puede hacer uso del comando dd, por ejemplo, el dispositivo para el CD/DVD es: / e / c 0 crearemos el archivo de imagen / e / t r g / s s : dvsd, nsoaeio/
#d i=dvsd o= e/trg/ssuut-00-evrad4io d f/e/c0 f/ nsoaeio/bnu1.4sre-m6.s

Para verificar que efectivamente es un archivo ISO use el comando file, por ejemplo:
#fl /e/trg/ssuut-00-evrad4io ie nsoaeio/bnu1.4sre-m6.s /e/trg/ssuut-00-evrad4io #IO96 C-O flsse dt 'bnuSre 80. ad4 nsoaeio/bnu1.4sre-m6.s: S 60 DRM ie tm aa Uut-evr .44 m6

Para montar la imagen ISO y acceder a su contenido, asocie el archivo a un dispositivo loopback usando el comando losetup, por ejemplo:
#lstp- /e/trg/ssuut-00-evrad4io oeu f nsoaeio/bnu1.4sre-m6.s

No a La opcin - busca un dispositivo loop libre y lo asocia al archivo de imagen. f No a Si desea mapear el archivo de imagen ISO a un dispositivo loop en especifico use - / e / o p . r dvloX Para ver el nombre del dispositivo loop al que fu mapeado el archivo use:
#lstpoeu a /e/op:[85:621( e/trg/ssuut-00-evrad4io dvlo0 00]298 / nsoaeio/bnu1.4sre-m6.s)

No a Este es el mismo modo en el que Xen monta los discos duros virtuales basados en archivos de imagen usando el manejador file. Ahora puede montar el archivo iso como si fuera un dispositivo de bloque normal:
#mut/e/op /ei/do on dvlo0 mdacrm

Para desmontar el dispositivo use:


#uon /e/op mut dvlo0

Tambin debe eliminar el mapeo del archivo al dispositivo loop:


#lstp- /e/op oeu d dvlo0

No olvide desmontar el ISO cuando ya no lo necesite para liberar recursos. Para ver como asignar/export un archivo de imagen ISO a una maquina virtual vaya a la seccin Archivos de configuracin Xen para maquinas virtuales DomU para ver el formato del parmetro de configuracin de dispositivos de bloque a los DomU.

Creando discos virtuales basados en particiones Linux nativas


Para asignar particiones linux nativas a como discos duros a las maquinas virtuales cree las particiones con la herramienta fdisk, por ejemplo:

#fik/e/d d d b

Crear particin linux native de tipo 83, y particin linux swap tipo 82. Tambin puede usar el comando cfdisk el cual es ms grfico, por ejemplo:
#cd k/e/d fi d b

Otra alternativa es usar el programa parted, por ejemplo:


#p e /e/d a d d b

Nota Si modifico la tabla de particiones en el mismo disco duro en el que esta la particin raz tendr que re iniciar el sistema o ejecutar el comando partprobe para que el kernel re lea la tabla de particiones y as cree los archivos de dispositivo de bloque en el directorio / e , por ejemplo: d
#p poe/e/d a b d a

Verifique que los archivos de dispositivo esten en el directorio / e . d Para crear un sistema de archivos ext3 en una nueva particin use el comando mkfs.e t3, por ejemplo:
#mf. 3/e/d1 k e d b

Importante Si va dedicar una particin linux nativa al directorio / o de un DomU PV Linux se recomienda que use un sistema bo de archivos ext2 para evitar problemas con versiones no soportadas de boot loaders como grub, pygrub y pv-grub. Para crear un sistema de archivos swap use mkswap:
#m a /e/d2 k p d b

Para ver como asignar/export una particin linux nativa a una maquina virtual vaya a la seccin Archivos de configuracin Xen para maquinas virtuales DomU para ver el formato del parmetro de configuracin de dispositivos de bloque a los DomU.

Creando discos virtuales basados en vol menes lgicos Linux LVM


Antes que nada asegurese de tener instaladas las herramientas para manipular los vol menes lgicos LVM, instale el paquete lvm2:
#a -e i allm p g n l 2

Es importante que actualice la imagen initrd con el soporte LVM, por ejemplo para actualizar la imagen initrd para el kernel 2.6.18.8-xen ejecute:
# paeii af - - 261.-e d -n m k ..88 n

Primero debe crear una particin en el disco duro para ser incluido en un volume group, use cfdisk para crear una particin tipo LVM (8e), por ejemplo:
#cd k/e/d fi d c

Nota Haga lo mismo en cada disco que desee incluir. Use el comando pvcreate para inicializar la particin recien creada, es decir, crearemos un vol men fsico (Ph sical Volume) LVM:
#pce e/e/d1 a d c

Importante

Nos se recomienda crear un physical volume en un disco duro completo, ejem: /dev/sda por los problemas de administracin que conlleva. Ahora use el comando vgcreate para crear un Volume Group conformado por los dos Physical Volumes recin inicializados:
# g e eVXn1/e/d1 c a Ge0 d c

Use el comando vgdispla para mostrar ms detalles sobre el Volume Group VGXen01, por ejemplo:
# gipa VXn1 d l Ge0

Con el comando lvcreate creamos los vol menes lgicos dentro de un Volume Group, por ejemplo, para crear un vol men lgico de 4GB para la particin raz del DomU fs1.example.com use:
#lce e- ie4 -nm f1eapecm o VXn1 a G -ae . ml.o- o Ge0 Lgcl o m " 1eapecm o "ce e oia l e f . ml.o- o a d

Tambin puede crear vol menes lgicos para la particin swap:


#lce e- ie1 -nm f1eapecm a VCn1 a G -ae . ml.o- p Ge0 Lgcl o m " 1eapecm o "ce e oia l e f . ml.o- o a d

Cree vol menes lgicos para las particiones de datos del DomU fs1:
#lce e- ie10 -nm f1eapecmhm VXn1 a 0G -ae . ml.o-oe Ge0 Lgcl o m " 1eapecmhm"ce e oia l e f . ml.o-oe a d

Para crear un sistema de archivos ext3 en un vol men lgico use:


#mf. 3/e/Ge0/ 1eapecm o k e d VXn1f . ml.o- o

Parar crear un sistema de archivos swap en un vol men lgico use:


#m a /e/Ge0/edm- a k p d VXn1n o p

Puede clonar un vol men lgivo LV usando el comando dd, por ejemplo:
#d i=d /Ge0/eb ed ko=d /Ge0/edm-ik d f/e VXn1 na -i f/e VXn1n o d

Es posible extender el tamao de un LV siempre y cuando el Volume Group que lo aloja tenga espacio disponible, use el comando vgdisplay para verificar que tenga espacio y despus:
#le ed- ie+0 /e/Ge0/ 1eapecmhm n 1G d VXn1f . ml.o-oe

Importante El sistema de archivos en / e / G e 0 / 1 e a p e c m h m debe estasr desmontado para poder realizar la d VXn1f . ml.o-oe operacin de forma segura, en especial cuando pertenece a una maquina virtual encendida. Despus de extender el vol men lgico con lvextend use resize2fs para extender un sistema de archivos ext3, por ejemplo:
#efc - /e/Ge0/ 1eapecmhm 2 k f d VXn1f . ml.o-oe # eief /e/Ge0/ 1eapecmhm 2 d VXn1f . ml.o-oe

Importante Recuerde siempre revisar la consistencia del sistema de archivos con e2fsck antes de redimiensionar el sistema de archivos. Para eliminar un vol men lgico use el comando lvremove, por ejemplo:
#l eoe/e/Ge0/ 1eapecmhm m d VXn1f . ml.o-oe

Para ms informacin para la administracin de vol menes lgicos LVM se recomienda que lea el LVM HOWTO official.

Para ver como asignar/export una vol men lgico LVM a una maquina virtual vaya a la seccin Archivos de configuracin Xen para maquinas virtuales DomU para ver el formato del parmetro de configuracin de dispositivos de bloque a los DomU.

Configuraci n de los dispositivos de red fsicos y virtuales en Xen


En esta seccin veremos como configurar diferentes redes publicar y privadas para las maquinas virtuales, las configuraciones son basadas en switches virtuales o bridges, se usarn tanto herramientas de sistema como propias de xen para configurar el entorno de red virtual.

Introducci n a los modos de red en Xen


Xen puede ser configurado para permitir que las maquinas virtuales puedan usar la infraestructura de red existente y los segmentos de red. Xen permite configurar la red tanto del Domain-0 como de las domUs, desde configuraciones bsicas hasta otras ms avanzadas usando bridges, STP, NAT, VLANs. En general, se puede configurar casi cualquier escenario que se pueda configurar en una red con Hosts no virtualizados. La primer vez que se arranca el sistema con el kernel de Xen y sin tener definido un modo de configuracin de red en Xen, se tiene un esquema similar al que se muestra en la siguiente figura: Figura 3.1. Servidor Linu sin Xen

Bsicamente existen dos tipos de configuracin de red en xen, configuracin basada en bridge (bridged) y configuracin enrutada (ro ed). En este documento se describir la configuracin de red en Xen en modo bridge. La configuracin de red en modo bridge es la ms simple y fcil de configurar dentro de Xen. Este tipo de red permite de forma simple y transparente a los DomU usar una interfaz de red virtual conectada a un switch virtual (bridge) creado y configurado en Dom0, la interfaz de red fsica eth0 en Dom0 esta conectada fsicamente al switch de la empresa y esta misma a su vez esta conectada al switch virtual, por lo que toda la comunicacin es transparente para todos los hosts ya que todos estn conectados virtualmente a un mismo switch. Con una configuracin en modo bridge nos permitir: Las maquinas virtuales podrn utilizar direcciones IP estticas tal y como lo hacen las dems maquinas conectadas a tu red fsica, o incluso utilizar un servicio DHCP. Quieres que las maquinas virtuales sean vistas de forma transparente desde las maquinas en la red fsica, es decir, que haya flujo entre las dos redes de forma transparente. Incluso puede utilizar tecnologas como VLAN para crear redes locales virtuales y completamente aisladas unas de otras. Su equipo Host puede tener varias interfaces de red fsicas y quiere asignar o delegar una interfaz o ms interfaces exclusivamente para un host, de esta forma puede tener DomU conectados a diferentes redes fsicas, o incluso puede beneficiarse de las funcionalidades de VLAN y Bonding o Link Aggregation (E her Channel).

En las siguientes secciones veremos como crear el o los bridges usando los scripts de xen y usando las herramientas de su distribucin.

Config rando Xen en modo bridge


En esta seccin veremos como configurar el servidor Xen para un entorno de red basado en bridges, estos bridges realizarn la funcion de switches virtuales para las maquinas virtuales e interfaces fisicas. La configuracin de los bridges la realiza xend a travs del archivo de configuracin / c e / e d c n i . p en este archivo deben e / n n-ofg , de haber dos lineas donde se define el script para la creacin de bridges ( e o k c i )y otra para la creacin de las interfaces n p virtuales para los domUs ( i - c i ) f p . Importante Asegurese que solo haya una linea descomentada de n o k b i g y una de i - c i . e - de f p Para configurar en entorno de red en el servidor Xen en modo bridge edite el archivo /etc/xen/xend-config.sxp y agregue las siguientes dos lneas:
(e oksrp n okbig) nt r-cit e - de (i-cit i- ig) fsrp fb de

Reinicie el sistema para que arranque con la configuracin de red en bridge, esto es necesario para que se reconfigure la red del servidor Xen.
# h d n- n o o

Las configuraciones en modo bridge depender del numero de redes fsicas a conectar y de el n mero de interfaces fsicas en el Dom0, La configuracin de Xen 3.2 en Ubuntu Hardy esta preconfigurada para sistemas con una sola interfaz fsica, y todas las los DomU utilizarn esta interfaz para el flujo de datos entre las diferentes redes, tanto de entrada como de salida, Cuando Ubuntu inicia con xen en modo bridge se ejecuta el script / c e / c i / e o k b i g realiza las siguientes tareas: e / n p n - de Crea un nuevo bridge llamado enbr0 (xen 3.0) eth0 (xen 3.2) La interfaz Ethernet real eth0 es desactivada La direccin IP y MAC de eth0 es copiada a la interfaz de red virtual veth0 La interfaz real eth0 es renombrada a peth0 La interfaz virtual veth0 es renombrada a eth0 peth0 y vif0.0 son agregadas al bridge enbr0/eth0 El bridge, peth0, eth0 y vif0.0 son activados Despus del procedimiento arriba descrito y una vez que el brid y las interfaces de red fueron configuradas, la red del servidor Xen se en modo bridge se debera de ver con en el siguiente figura: Figura 3.2. Servidor Linu con Xen un bridge

Como vemos, la interfaz fsica peth0 esta conectada al switch de la red LAN y a su vez al bridge eth0, imagine peth0 como el puerto uplink entre switches L2, la interfaz eth0 del servidor Xen Dom0 es una interfaz virtual que tambin esta conectada al bridge de nombre eth0. No a La interfaz fsica que origialmente era eth0, que posteriormene se convirtio a peth0 tambin podra ser una interfaz fsica Ethernet con soporte VLAN trunk 802.1q, o un Ethernet Channel Bonding. Impor an e En el ejemplo de arriba estamos hablando de dos switches conectados por un cable, tenga mucho cuidado de no conectar una segunda interfaz de red fisica, digamos eth1 y crear otro bridge sobre ella, esto y otros casos podran causar lo que se llama un bridge loop, para ms informaci n al respecto leer la pgina del wiki http://wiki.xensource.com/xenwiki/XenBridgeLoop. La interfaz de red eth0 del servidor Xen Dom0 se configura dentro del mismo Dom0 en el archivo de configuraci n / c e e / / e f c , por ejemplo: i ae
#I ef Lc a a aa e LN d A a eh 0 iaeeh ie fc 0 ai c ade 1218211 d 9.6.2.0 e a 2525250 5.5.5. g ea 12182124 a 9.6.2.5

Podemos ver informaci n de la red as:


#ic fg f i eh 0 L i ec : h e Had 0:d7:40:4 a E e Wd 01:dd:97 ie ad:9.6.2.0 Ba :9.6..5 M :5.5.5. d 1218211 c 1218125 a 2525250 ie6ad:f8:2d7f:e4946 S eL d e0:1:dffd:7/4 c :i U BODATRNIGMLIAT MU10 M i: P RACS UNN UTCS T:50 e c1 R a e :45e X c 13 : d 0 e: d0 e : fae0 0 : T a e :4 e X c 90 : d 0 e: d0 e : c i : 0 a e 0 c ii : 0 eee: 0 R b e:656 (. M) T b e:71 (50K) X 1959 16 B X 812 8. B L i ec : c L bc a L a a ie ad:2... M :5... d 17001 a 25000 ie6ad::118S eH d :/2 c : U LOBC RNIG MU146 M i: P OPAK UNN T:63 e c1 R a e : e X c 0 : d 0 e: d0 e : fae0 0 : T a e : e X c 0 : d 0 e: d0 e : c i : 0 a e 0 c ii : 0 eee: 0 R b e: (. B T b e: (. B X 0 00 ) X 0 00 ) p h e 0 L i ec : h e Had 0:d7:40:4 a E e Wd 01:dd:97 ie6ad:f8:2d7f:e4946 S eL d e0:1:dffd:7/4 c :i U BODATRNIGPOICMLIAT MU10 M i: P RACS UNN RMS UTCS T:50 e c1 R a e :43e X c 14 : d 0 e: d0 e : fae0 0 :

T a e :7 e X c 98 : d 0 e: d0 e : c i : 0 a e 0 c ii : 0 eee:00 10 R b e:769 (. M) T b e:52 (36K) X 1165 16 B X 991 9. B I e :2B eade : 80 2 a d 0 00

Podemos ver el bridge y sus puertos con el siguiente comando:


#bc h big ae de eh 0 big i de d 80.0dd494 00017d07 SPea e T b d i efc ae p h e 0

Cuando creamos maquinas virtuales con xen-create-image solo le asignamos la configuraci n para la interfaz de red eth0 (predeterminada) en DomU, esto crear un nuevo puerto en el bridge, una interfaz vif1.0 la cual estar conectada a la interfaz virtual eth0 en el DomU, como se muestra en la siguiente imagen. Figura 3.3. Servidor Linu con Xen, un bridge un DomU

Si crea ms DomU se crearn ms interfaces vifX, por ejemplo el DomU 2 tendr asignada una interfaz virtual eth0 la cual estar conectada al bridge mediante el puerto vif2.0, todas las maquinas DomU por default saldrn por la interfaz fsica peth0 para comunicarse con la dems red.

Configurando m ltiples switches virtuales con Xen y bridges Linux


Habr ocaciones en donde usted no quiere que todas sus maquinas salgan por una misma interfaz de red, ya se por cuestiones de rendimiento o de seguridad, en todo caso, usted puede agregar una interfaz de red fsica a su sistema y puede crear otro bridge a la que se conectar la maquina virtual, por ejemplo quiere tener una mquina virtual como firewall/router y quiere tener una interfaz conectada directamente el m dem de internet o router y que adems este conectado al primer bridge para que todas las dems maquinas en la red puedan usar este equipo como gateway para salir a Internet, en la secci n se ver. Figura 3.4. Servidor Linu con Xen, dos bridges, dos Domu

La configuracin actual no nos sirve del todo ya que solo se crea un bridge al que se le conecta una sola interfaz fsica, en nuestro caso vamos a agregar una interfaz fsica al sistema, la cual queremos que sea usada exclusivamente por el firewall/gateway, para esta nueva configuracin tendremos que crear un script wrapper para / t / e / c i t / e w r - r d eel cual lo ejecutar dos veces para ecxnsrpsntokbig crear dos bridges. En Xen 3.2 cree el script / t / e / c i t / u t - e w r - r d econ el siguiente contenido: ecxnsrpsmlintokbig
#/i/h !bns /t/e/cit/ewr-rde$ nte= h ecxnsrpsntokbig 1 edve 0 /t/e/cit/ewr-rde$ nte= h ecxnsrpsntokbig 1 edve 1

En Xen 3.4 cree el script / t / e / c i t / u t - e w r - r d econ el siguiente contenido: ecxnsrpsmlintokbig


#/i/h !bns /t/e/cit/ewr-rde"@ nte= h big=t0 ecxnsrpsntokbig $" edve 0 rdeeh /t/e/cit/ewr-rde"@ nte= h big=t1 ecxnsrpsntokbig $" edve 1 rdeeh

Guarde el archivo y asigne permisos de ejecucin.


#cmd+ /t/e/cit/ut-ewr-rde ho x ecxnsrpsmlintokbig

Configure la interfaz de red eth1 en modo manual en el archivo interfaces(5), por ejemplo:
#Itra fsc pr big eh nef iia aa rde t1 at eh uo 1 iaeeh ie mna fc 1 nt aul

Ahora tiene que cambiar la ruta del script para crear bridges en el archivo de configuracin / t / e / e d c n i . x , cambiar de: ecxnxn-ofgsp
(ewr-citntokbig) ntoksrp ewr-rde

Por:
(ewr-citmlintokbig) ntoksrp ut-ewr-rde

Como ltimo paso reiniciamos el sistema para que los cambios tomen efecto. Al iniciar Xend se ejecutar el script / t / e / c i t / u t - e w r - c i ty crear dos bridges, uno para e h0 y otro para e h1, ecxnsrpsmlintoksrp como se muestra a continuacin:
#icni pt1 fofg eh pt1Ln ecpEhre Had 0:51:83:8 eh ik na:tent Wdr 01:73:e2 U BODATPOICMLIATMU10 Mti: P RACS RMS UTCS T:50 erc1 R pces0err: dopd0oern: fae0 X akt: ros0 rpe: vrus0 rm: T pces0err: dopd0oern: crir0 X akt: ros0 rpe: vrus0 are: cliin: tqeee:00 olsos0 xuuln10

R b e: (. B T b e: (. B X 0 00 ) X 0 00 ) B eade : ee Mm :ee00fa00 a d 0 c0 eo f900-e000

Tambin podemos ver la informacin de los bridges:


#bcl h o big nm big i SPealdi efc de ae de d T nbe n ae eh 80.08bdbcn p h 0 00018f77 o e 0 eh 80.0578e8n p h 1 00011332 o e 1

En la salida del comando anterior se nota lo siguiente: eth0 de DomU2 estar conectada al bridge eth0 eth1 de Domu2 estar conectada al bridge eth1 que estar conectada directamente al mdem de internet Modificaremos el archivo de configuracin / c e / i e a l c gy cambiaremos la linea vif para indicarle los bridges Por default est e / nf l.f as:
i =['a=01:EE:12'] f mc0:63:F9:F

Ese MAC address se genero automticamente y por default quedamos que utiliza el primer bridge eth0, para agregarle otra interfaz a este DomU debemos de cambiar la linea a
i =[ f 'a=01:EE:12,big=t0, mc0:63:F9:F deeh' 'a=01:e0:18,big=t1 mc0:63:73:5 deeh' ]

Se recomienda utilizar el rango de direcciones MAC reservadas para Xen, el rango es 00:16:3e: : : , puede utilizar un script para generar MAC de forma aleatoria: /usr/local/bin/macgen.p .

Como crear un bridge dummy para una red privada sin conexi n fsica
Los dispositivos de red virtual dummy tienen todas las funcionalidades que una interfaz de red fsica, son usados para crear redes privadas que no tengan acceso a una red fsica. Para crear una interfaz de red dummy, debe definir el nombre de la interfaz asociada al mdulo y el n mero mximo de interfaces dummy que el kernel soporta. Edite las opciones para el mdulo dummy, por ejemplo:
# i / cmd oeddm m e /op b./ m

Con el siguiente contenido:


ai dm 0dm la um m o in dm nm mi = p o m d me 1

Nota Si va a crear ms de un dispositivo dummy recuerde incrementar el n mero en la opcin n m m i . d me Tambin debe habilitar la interfaz en interfaces(5), por ejemplo:
#I ef f iap abig dm 0 n a i c a de m a odm 0 um iaedm 0ie mna fc um n a l

Si quiere agregar un bridge a esta interfaz agregue:


/ c e/ci /e okbig $ n d =um0 e / n p n - de 1 e e dm

Al archivo / c e / c i / l i n o k b i g y reincie el sistema. e / n p m -e - de Veamos como se vera un bridge privado y un switch fsico: Figura 3.5. Servidor Linu con Xen, dos bridges, uno dumm , tres Domu

En las siguientes secciones veremos como crear los bridges usando las herramientas del sistema operativo.

Creando los bridge Linu usando las herramientas del sistema operativo
Es posible prescindir del script / c e / c i / e o k b i g para la creaci n del o los bridge y utilizar las herramientas de e / n p n - de configuraci n de red propias de la distribuci n, por ejemplo, en Debian/Ubuntu es posible crear un bridge usando el archivo de configuraci n / c n o k i e f c , por ejemplo, para crear un bridge para la interfaz fsica eth0 use: e /e /n ae
# i / cn oki efc m e /e /n ae

Cambie la configuraci n para la interfaz eth0 as:


#Telobc n oki efc h opak e n ae a ol o iael ie lobc fc o n opak #WNBig A de a o eb0 nr iae eb0ie fc nr n ai c ade 121812 d 9.6..0 n ok121810 e 9.6.. boda 1218125 ac 9.6..5 n m k2525250 e a 5.5.5. g ea 121811 a 9.6.. big_d9 def big_el 2 dehlo big_aae1 dem g 2 big_a a 0 dem i big_o dep eh t0 big_ pof de f

Impor an e Cuando cree bridges desde el archivo i e f c ( )asegurese de que no haya ninguna interfaz (iface) configurada n ae 5 para las interfaces conectadas al bridge (bridge_ports), por ejemplo, eth0 en el bridge de arriba. Ya que ahora la configuraci n de el bridge fue delegada a las herramientas del OS, debemos comentar la lnea del parmetro n o k e c i en el archivo de configuraci n / c e / e d c n i . ppara evitar que cuando el demonio xend sea iniciado cree el bridge y p e / n n-ofg cause problemas.
#L cni aindlbig edlg a O a ofg co e de eeo l S #n ok ci n okbig) (e p e - de

La creaci n de las interfaces virtuales vifX.X (o puertos virtuales) para las VMs seguir siendo controlada por el script / c e / c i / i - i g , por lo que el parmetro i - c i del archivo e d c n i . pdebe seguir activa. e / n p fb de f p n-ofg Adems, si cambio el nombre del bridge debe asegurarse de cambiar el nombre del bridge en los archivos de configuraci n de sus maquinas virtuales, por ejemplo:
i =['a=01:EE:12,big=eb0] f mc0:63:F9:F de nr'

Despus de reiniciar el sistema, y sin ninguna maquina virtual, el bridge quedara as: Figura 3.6. Servidor Linux con Xen, un bridge y un DomU v a OS

Veamos un ejemplo de la configuraci n con dos bridges fsicos:


#Telobc n oki efc h opak e n ae a ol o iael ie lobc fc o n opak #WNBig A de a o eb0 nr iae eb0ie fc nr n ai c ade 121812 d 9.6..0 n ok121810 e 9.6.. boda 1218125 ac 9.6..5 n m k2525250 e a 5.5.5. g ea 121811 a 9.6.. big_d9 def big_el 2 dehlo big_aae1 dem g 2 big_a a 0 dem i big_o dep eh t0 big_ pof de f #LNBig A de a o eb1 nr iae eb1ie mna fc nr n a l big_d9 def big_el 2 dehlo big_aae1 dem g 2 big_a a 0 dem i big_o dep eh t1 big_ pof de f

Despus de crear los switches y las VM el esquema se vera as: Figura 3.7. Servidor Linux con Xen, dos bridges, y dos Domu v a OS

Veamos un ejemplo para una mezcla entre bridges con interfaces fsicas y bridges con interfaces dummy:
#Telobc ntokitrae h opak e r nefc at l uo o iael ie lobc fc o nt opak #WNBig A rde at eb0 uo nr iae eb0ie sai fc nr nt ttc ades121812 drs 9.6..0 ntok121810 e r 9.6.. bodat1218125 racs 9.6..5 ntak2525250 ems 5.5.5. gt a 121811 ae 9.6.. big_d9 rdef big_el 2 rdehlo big_aae1 rdem g 2 big_a at0 rdem i big_ot eh rdeprs t0 big_t of rdesp f #LNBig A rde at eb1 uo nr iae eb1ie mna fc nr nt aul big_d9 rdef big_el 2 rdehlo big_aae1 rdem g 2 big_a at0 rdem i big_ot eh rdeprs t1 big_t of rdesp f #DZBig M rde at eb2 uo nr iae eb2ie mna fc nr nt aul big_d9 rdef big_el 2 rdehlo big_aae1 rdem g 2 big_a at0 rdem i big_ot dm 0 rdeprs um big_t of rdesp f

No a Puede configurar una interfaz bridge en diferentes modos, por ejemplo: con direcci n IP esttica ( a ic), DHCP (dhcp) o sin direcci n IP (man al). No a Si desea crear un bridge sin ninguna interfaz conectada, use la opci n none, por ejemplo: bridge ports none.

El diagrama de la red descrita arriba se vera as: Figura 3.8. Servidor Linux con Xen, tres bridges, y cuatro Domu v a OS

Una ventaja de realizar la configuracin del bridge de esta forma es que puede usar los procedimientos probados y soportados por su distribucin.

Como generar direcciones MAC nicas para Xen


Se recomienda que asigne direcciones MAC nicas a las maquinas virtuales, para asegurarse de que las direcciones MAC elegidas no causen conflictos con las tarjetas de red de alg n fabricante o alg n host interno, puede usar direcciones basadas en el espacio de direcciones asignadas por la IANA: 00:16:3e:xx:xx:xx, crearemos un script en python para semi automatizar la creacin de nuevas direcciones MAC para asignar a las maquinas. Cree el script / s / o a / b n m c e . : urlclsi/agnp
#vm/s/oa/bnmce. i urlclsi/agnp

Con el contenido:
# /s/i/ to ! urbnp hn # #mce. srp t gnrt aMCadesfrRdHtVrul ainget agnp cit o eeae A drs o e a itai to uss # ipr rno mot adm mc=[00,01,03, a 0 6 e rno.adn( 0,07) admrnit0 0 f, rno.adn( 0,0f) admrnit0 0 f, rno.adn( 0,0f)] admrnit0 0 f pit''ji(a(aba :"0 "% ,mc) rn :.onmplmd %2 a)

Nota Aparentemente este script fue obtenido de alg n documento de redhat, Asigne privilegios de ejecucin:
#cmd+ /s/oa/bnmce. ho urlclsi/agnp

Pruebe generando una direccin:


#mce. agnp 0:63:4f:d 01:e4:ba

Recuerde que puede ejecutar el comando macgen.py desde el editor vim, recuerdelo cuando este editando archivos de configuracin de las mquinas virtuales y defina un MAC Address nico para la mquina en cuestion.

Recursos adicionales
Si desea obtener ms informaci n sobre los programas y pginas de manual relacionadas se aconseja que acceda a los siguientes recursos adicionales.

Sitios web
En las paginas listadas a continuaci n encontrar mayor informaci n sobre los programas utilizados en este capitulo. http://www.xen.org - Sitio oficial Xen http://wiki.xensource.com/xenwiki/XenArchitecture?action=AttachFile&do=get&target=Xen+Architecture_Q1+2008.pdf - Xen Architecture Overview (February 2008) http://wiki.xensource.com/xenwiki/LiveCD - Xen Live CD v2.0 http://wiki.xensource.com/xenwiki/XenKernelFeatures - Xen Kernel Features http://wiki.xensource.com/xenwiki/XenPCIpassthrough - Xen PCI pasthrough http://tx.downloads.xensource.com/downloads/docs/user/ - Xen 3.0 Users' Manual http://wiki.xensource.com - Xen.org Community Wiki http://wiki.xensource.com/xenwiki/XenNetworking - Xen Wiki - Xen Networking http://wiki.xensource.com/xenwiki/XenBridgeLoop - Zen Wiki - Xen Bridge Loop http://wiki.xensource.com/xenwiki/XenCommonProblems - Xen Wiki - Xen Common Problems http://wiki.xensource.com/xenwiki/XenUsersQuestions - Xen Users Mailing List Commonly Asked Questions http://wiki.xensource.com/xenwiki/XenDom0Kernels - Xen dom0 kernels http://bderzhavets.wordpress.com - Xen Virtualization on Linux and Solaris http://virtualusr.wordpress.com - Virtualusr's Blog http://www.gitco.de/repo/ - Repositorio gitco: XEN-RPMS para CentOS-5/RHEL-5 (x86_64) http://wiki.xensource.com/xenwiki/XenParavirtOps - Xen paravirt_ops for upstream Linux kernel http://fedoraproject.org/wiki/Features/XenPvopsDom0 - Features/XenPvopsDom0 http://blog.xen.org/index.php/2008/08/28/xen-33-feature-stub-domains - Xen 3.3 Feature: Stub Domains http://www.xen.org/files/xensummitboston08/SamThibault_XenSummit.pdf - Improving HVM Domain Isolation and Performance http://wiki.xensource.com/xenwiki/StubDom - Xen Stub Domains http://lxr.xensource.com/lxr/source/stubdom/README - Stub domains README http://blog.xen.org - Xen Community Blog

P ginas de manual
Para conocer ms sobre el uso y configuraci n de los programas utilizados en el capitulo, se recomienda leer los manuales relacionados y el contenido de los archivos de configuraci n. uname (1) - print system information. apt-get (8) - APT package handling utility - command-line interface. depmod - program to generate modules.dep and map files. yum (8) - .

pda e- c.d (8) - in all and emo e S chkconfig (8) - .

em-V

le ini c ip link .

mkini amf - gene a e an ini amf image. pda e-ini amf (8) - gene a e an ini amf image pda e-ini amf .conf (5) - config a ion file fo m (1) - Xen managemen e in e face. o loca e/p in block de ice a ib e . pda e-ini amf

blkid (8) - command-line ili dd (1) - con e and cop a file.

lo e p (8) - e p and con ol loop de ice fdi k (8) - Pa i ion able manip la o fo Lin . cfdi k (8) - C e / lang ba ed di k pa i ion able manip la o fo Lin .

fdi k (8) - Pa i ion able manip la o fo Lin . pa ed (8) - ( nkno n bjec ).

pa p obe (8) - info m he OS of pa i ion able change . p c ea e (8) - ini iali e a di k o pa i ion fo e b LVM.

p di pla (8) - di pla a ib e of a ph ical ol me. p can (8) - can all di k fo ph ical ol me . gc ea e (8) - c ea e a ol me g o p. gdi pla (8) - di pla a ib e of ol me g o p . g can (8) - can all di k fo ol me g o p and eb ild cache .

l c ea e (8) - c ea e a logical ol me in an e i ing ol me g o p. l di pla (8) - di pla a ib e of a logical ol me. l can (8) - can (all di k ) fo logical ol me . l e end (8) - e end he i e of a logical ol me. mke2f (8) - c ea e an e 2/e 3 file mkf .e 3 (8) - c ea e an e 2/e 3 file e2f ck (8) - check a Lin e 2/e 3 file em. em. em

e2f ck.conf (5) - Config a ion file fo e2f ck e i e2f (8) - e 2/e 3 file mk ap (8) - e p a Lin em e i e . ap a ea.

ifconfig (8) - config e a ne o k in e face. in e face (5) - ne o k in e face config a ion fo if p and ifdo n. if p (8) - b ing a ne o k in e face p. ifdo n (8) - ake a ne o k in e face do n. b c l (8) - e he ne b idge admini a ion.

/proc/cpuinfo. /boot/grub/menu.lst. /etc/modprobe.d/loop. /etc/xen/xend-config.sxp. /etc/init.d/xend. /etc/init.d/xendomains. /etc/xen/scripts/network-bridge. /etc/xen/scripts/vif-bridge. /etc/network/interfaces. /etc/syscofig/network. /etc/sysconfig/network-scripts/ifcfg-XXX.

Captulo 4. Creaci n de maquinas virtuales en Xen


Tabla de con enido Requisitos para las Maquinas Virtuales Xen CPU y memoria para las maquinas virtuales Xen Medios de Almacenamiento para las maquinas virtuales Xen Dispositivos de red virtuales Xen Requisitos de software para las maquinas virtuales Medios de instalaci n para las maquinas virtuales Parmetros de configuraci n para maquinas virtuales Xen Creando maquinas virtuales Xen PV Linux Creando maquinas virtuales Xen PV Linux con Debian o Ubuntu Creando maquinas virtuales Xen PV Debian con con debootstrap Creando maquinas virtuales Xen PV Ubuntu con xen-tools Instalando xen-tools Definiendo los parmetros de configuraci n globales para xen-tools Creando maquinas PV Debian o Ubuntu Definiendo esquemas de particiones de xen-tools Modificando las plantillas de configuraci n para xen-tools Creando maquinas virtuales PV Linux CentOS Creando maquinas virtuales PV CentOS usando imagenes de stacklet Creando maquinas virtuales PV CentOS con xen-tools y rinse Creando maquinas virtuales Xen HVM Windows Recursos adicionales Sitios web Pginas de manual En este capitulo veremos las diferentes tareas necesarias para la creaci n de maquinas virtuales en Xen, veremos los requerimientos bases de las maquinas virtuales, el formato de los archivos de configuraci n y la creaci n de maquinas virtuales PV y HVM Linux, as como maquinas virtuales HVM Windows.

Requisitos para las Maquinas Virtuales Xen


Antes de iniciar con la creaci n de las maquinas virtuales es necesario conocer cuales son los requisitos de sistema para llevar a cabo dicha

tarea, es esencial saber como asignar los recursos de hardware (virtual) a las maquinas virtuales para as planear la instalacin en produccin. Adems, veremos que requisitos de software se requiere en el sistema operativo guest para poder ejecutar de forma eficiente el sistema operativo, veremos como crear maquinas virtuales manualmente, y automatizadas usando diferentes herramientas del sistema y adicionales.

CPU

memoria para las maquinas virtuales Xen

Las maquinas virtuales as como cualquier maquina fsica requieren de ciertos componentes de hardware base como CPU, memoria, disco duro, tarjetas de red, cada maquina virtual PV o HVM require de estos mismos componentes de hardware en forma virtual. En sistemas con un solo CPU o n cleo solo ser posible asignar un CPU virtual (VCPU) a cada maquina virtual, en sistemas con soporte SMP (S mmetric Multi-Processing), es decir, sistemas con ms de un CPU fsico o m ltiples n cleos es posible asignar ms de un CPU a las maquinas virtuales, claro, siempre y cuando el sistema operativo guest soporte SMP. En CPUs tipo x86 AMD o Intel solo ser posible crear maquinas virtuales con sistemas operativos guest de 32-bit, en CPUs AMD64 o x86_64 ser posible crear maquinas virtuales con sistemas operativos guest de 32-bit y 64-bit (requiere hypervisor de 64-bit). Para definir los CPU virtuales que sern asignados a las maquinas virtuales use los parmetros cpu, cpus y vcpu. En cuanto a la memoria RAM, es importante notar que la memoria total del sistema por default ser asgnada al Domain-0, y cada vez que se cree una nueva maquina virtual domU, el Domain-0 reduce su memoria para que sea asignada a la domU. Recuerde asignar la memoria reservada para el Domain-0 y aquella para las domU.

Medios de Almacenamiento para las maquinas virtuales Xen


Las maquinas soportan diferentes medios de almacenamiento o discos duros virtuales, entre los principales encontramos: Archivos de imagen loop Es posible almacenar tanto el sistema operativo de una DomU en archivos de imagen loopback creado con la herramienta dd, este tipo de imagenes pueden ser de tipo full y sparse. Particiones Nativas Usando el tipo disco phy es posible exportar una particin Linux nativa a una maquina virtual, el principal beneficio sobre el tipo archivos de imagen es que no se tiene la carga extra (overhead) al estar la imagen arriba de un sistema de archivos montado con cache, journaling y otras funcionalidades que pudieran degradar el rendimiento de la VM, el sistema de archivos de la DomU deber de proveer el journaling. Vol menes Lgicos LVM (recomendado) Usando el tipo de disco phy es posible exportar un volumen lgico LVM a una maquina virtual, LVM ofrece grandes beneficios sobre los otros medios de almacenamiento, ya que LVM permite agrupar m ltiples discos duros para crear grandes vol menes de datos, particiones y sistemas de archivos de una forma ms dinmica, entre sus principales beneficios contra almacenamiento en imagen y particiones es que LVM permite el redimencionamiento al vuelo (on line) del tamao del volumen lgico, adems es posible crear snapshots de las maquinas virtuales para una fcil restauracin y respaldo de sistemas operativos. NFS TODO Para ms informacin de como crear archivos de imagen, particiones nativas y vol menes lgicos LVM vaya a la seccin Configuracin de medios de almacenamiento local para las VMs en Xen.

Dispositivos de red virtuales Xen


Para ms informacin acerca de la creacin de dispositivos de red virtuales en Xen ver la seccin.

Requisitos de software para las maquinas virtuales


Para las maquinas virtuales PV, el requerimiento principal de software para las maquinas virtuales DomU es el kernel, tambin el sistema operativo guest de la maquina virtual requiere de un kernel modificado con soporte de Xen, en especial debe incluir los drivers Frontend de Xen. Bsicamente existen dos formas de cargar una maquina virtual PV Linux

La primer opcin y ms usada en la mayora de los casos es iniciar la VM usando una imagen del kernel local en el domain0, para este caso se usa la opcin k r e en el archivo de configuracin del DomU con la ruta absoluta de la imagen del kernel XenLinux, adems, los enl mdulos correspondientes a la versin del kernel deben estar almacenados en el directorio / i / o u e / k r e v r i n en el lbmdls<enl eso> sistema de archivos local de la domU. La segunda opcin es usar el Bootloader pygrub, este es un boot loader escrito en python para permitir iniciar DomU Linux con un kernel que se localiza en el sistema de archivos local del DomU en lugar de un kernel que se localiza en Dom0, los mdulos correspondientes tambin deben estar en el sistemas de archivos local de la domU. Para ms informacin sobre la opcin kernel y pygrub vea la seccin Archivos de configuracin Xen para maquinas virtuales DomU. Para las maquinas virtuals HVM no hay ningun requisito para su ejecucin ya que los dispositivos son creados por QEMU-DM y son usados a travs del soporte de virtualizacin por hardware. Para acelerar el acceso a dispositivos I/O es posible instalar drivers PV a Windows.

Medios de instalaci n para las maquinas virtuales


El medio de instalacin variar dependiendo de la distribucin que se vaya a instalar, entre los medios ms comunes son: CD de instalaci n (HVM) Es posible instalar una maquina virtual en modo HVM tanto Linux como Windows desde un CD o DVD fsico, en la mayora de casos se deber especificar la ruta al dispositivo, por ejemplo: /dev/scd0. Imagen ISO Tambin es posible definir la ruta a un archivo ISO de instalacin, puede definir la ruta al archivo ISO con el manejador file:// o ph ://, en cualquiera de los casos se usa losetup para asociar el archivo ISO a un dispositivo loop, por ejemplo: / e / t r g / s s u u t - . 3 a d 4 i o-> / e / o p . nsoaeio/bnu80-m6.s dvlo6 HTTP Herramientas como el instalador de RHEL/CentOS permiten la instalacin va HTTP, por lo que resulta conveniente tener un servidor HTTP local para publicar los paquetes de instalacin disponibles de forma local. Depende de la herramienta usada para la instalacin de las maquinas virtuales el medio de instalacin requerido, en las siguientes secciones veremos algunos ejemplos.

Parmetros de configuraci n para maquinas virtuales Xen


En esta seccin describiremos los parmetros de configuracin para las maquinas virtuales, y mostrar algunos ejemplos para maquinas PV y HVM, en las siguientes secciones se describen los procedimientos para la creacin de maquinas virtuales. Xen utiliza archivos de configuracin para identificar los elementos y configuraciones con las que se crearn las maquinas virtuales domU, en esta seccin se describirn los parmetros generales para maquinas virtuales PV y HVM. Los parmetros de configuracin con los que se crean las maquinas virtuales se definen en archivos de configuracin en el directorio / t / e , existen parmetro generales que aplican a las maquinas virtuales PV y HVM, cuando algunos otros solo aplican a un tipo en ec n especifico. A continuacin se listan los parmetros de configuracin generales para las maquinas virtuales Xen: name (requerido) Nombre nico para la domU, si intenta crear dos VMs con el mismo nombre causar un error.
nm ='obeou ae nmrdm'

uuid (opcional) UUID para identificar la maquina virtual. Si no se define este parmetro Xen generar un UUID aleatorio. Importante Se recomienda definir un UUID esttico para cada maquina virtual para as mantener un control de las maquinas

virtuales en su entorno, esto es especialmente recomendado cuando se tiene ms de un servidor Xen, el uuid lo puede generar con el comando uuidgen(1). builder Cual builder usar para construir la domU. El tipo linu es usado para maquinas PV, y hvm para maquinas HVM, el builder linux es el predeterminado. Ejemplos: PV Linux:
bidr='iu' ule ln

HVM:
bidr='v' ule hm

cpu Especifica en cuales CPUs (fsicos o n cleos) ser iniciado el DomU, en donde 0 especifica el primer CPU, 1 el segundo, etc. El default es -1, lo cual significa que Xen elijara los CPUs que estn libres. cpus Especifica la lista de CPUs en los cuales los VCPUs del DomU tiene permitido ejecutarse. La sintaxis usa rangos (0-3), y la negacin , ^1. Por ejemplo:
cu ="-,,1 ps 035^"

Resultara en que los CPUs 0, 2, 3, 5 sern disponibles para el DomU. vcpus (opcional, default 1) Para sistemas SMP, use cpus para asignar los cpus fsicos que podr usar una DomU, si no se especifica la maquina virtual podr utilizar todos los cpus fsicos y virtuales del sistema Host, usndolos de forma balanceada.
vps1 cu=

pae PAE (Ph sical Address E tension) es un mecanismo para acceder a ms de 4GB de memoria en sistemas 32-bit, aplica tanto para el Domain-0 y DomUs.
pe='' a 1

memor La cantidad de RAM, en megabytes, para asignar al DomU cuando inicia. Si asigna memoria insuficiente para un dominio puede producir comportamientos bizarros. Si no hay memoria libre suficiente en el host para atender la peticin el domain fallara para iniciar.
mmr ='04 eo 12'

Importante Recuerde reservar la cantidad de memoria reservada para el Dom0 y recuerde que Xen usa otros 64Mb adicionales. disk Arreglo de dispositivos de bloque asignados a la DomU, usa un formato de:
ds =["tna" "tna" ..] ik sa 1, sa 2, .

Cada stanza contiene 3 elementos en el formato: "backend-dev,frontend-dev,mode" en donde: backend-dev

El dispositivo en el dominio backend (Dom0) que ser exportado al dominio frontend (DomU). Los formatos soportados incluyen: ph :device - exporta el dispositivo fsico listado, puede ser una particin linux nativa, un vlumen lgico LVM o un dispositivo RAID por software. file:/path/to/file - exporta el archivo listado como un dispositivo de loopback, se puede utilizar para archivos de imagen de tipo full o sparse o para archivos de imagen ISO. Importante Para tener un buen rendimiento con archivos de imagen se recomienda use el driver blktap. tap:aio:/path/to/file - Exporta el archivo usando el driver blktap, este modo el acceso al dispositivo es directo y funciona de forma asincrona lo cual da mejor rendimiento especialmente en escrituras y menor consumo de CPU, se pueden utilizar para archivos de imagen de tipo full o sparse. frontend-dev Como aparecer el dispositivo en el dominio guest. Se recomienda que para maquinas PV use el formato Di k XX). mode El modo de acceso al dispositivo, Hay dos opciones validas, r (read-only), w (read/write). Ejemplo de discos duros virtuales basados en archivo de imagen usando el manejador file y el driver loopback:
ds =[fl: e/trg//mgsf1eapecmds.m,va,' ik 'ie/ nsoae0iae/s. ml.o/ikig d1 , 'ie/e/trg//mgsf1eapecmsa.m,va,' fl: nsoae0iae/s. ml.o/ pig d2 ] d

(Xen Vi

al

Ejemplo de discos duros basados en archivo de imagen:


ds =[ ik 'a:i: e/trg//mgsapeapecmds.m,va,' tpao/ nsoae0iae/p. ml.o/ikig d1 , 'a:i: e/trg//mgsapeapecmsa.m,va,' tpao/ nsoae0iae/p. ml.o/ pig d2 ]

Ejemplo de discos duros virtuales basados en particiones Linux nativas:


ds =[ ik 'h:d /d1 va,' p /e sb, d1 , 'h:d /d1 va,' p /e sc, d2 ]

Ejemplo de discos duros virtuales basados en vol menes lgicos LVM:


ds =[ ik 'h:d /GeO/s. apecmro,va,' p /e VXnSf2e ml.o-ot d1 , 'h:d /GeO/s. apecmsa,va,' p /e VXnSf2e ml.o- p d2 , 'h:d /GeDt/s. apecmdt,va,' p /e VXnaaf2e ml.o-aa d3 ]

Ejemplo de discos duros virtuales basados en archivos de imagen usando el driver blktap y un archivo de imagen ISO para cdrom virtual.
ds =[ ik 'a:i: e/trg//mgsd1eapecmds-,d,' tpao/ nsoae1iae/c. ml.o/ikcha , 'a:i: e/trg/ss i23ioieuhccrmr tpao/ nsoaeio/ nk.s,om:d:do,' ]

Nota Este es un ejemplo para una DomU HVM para un sistema Windows Server 2003, se le asigna un archivo de imagen como un disco completo que ser particionado por el instalador, y adems un CD-ROM virtual basado en un archivo ISO.

Para ms informacin sobre la administracin de dispositivos de almacenamiento fisicos ver la seccin Configuracin de los medios de almacenamiento local para las VMs en Xen. vif (Virtual Interface) Un arreglo de interfaces de red virtuales asignadas a la DomU, El parmetro vif define las interfaces de red virtuales a las que se conectar la DomU
vf=["tna" "tna" ..] i sa 1, sa 2, .

Cada stanza especifica un conjunto de opciones de tipo nombre = valor separada por comas, en la forma de:
"ae=au1 nm2vle,.. nm1vle, ae=au2 ."

Las opciones validas son: t pe - Tipo de interfaz, para maquinas PV no se requiere para maquinas HVM use el tipo ioemu.
big rde

El bridge de red para ser usado por el dispositivo. Este es especialmente necesario si en el Dom0 existen m ltiples

bridges.
m ca

La direccin MAC asignada al dispositivo

Si no define un bridge al que se asociar la interfaz virtual entonces se usar el predefinido, ejem: xenbr0, si no define una direccin MAC entonces Xen asignar una aleatoria, por ejemplo:
vf=[' i ']

Ejemplo de interfaz virtual con bridge especifico y sin MAC definido:


vf=[big=eb0] i 'rde nr'

Ejemplo de PV DomU con dos interfaces de red.


vf=[ i 'rde eb0 mc0:63:f6:c, big= nr, a=01:e4:0e' 'rde eb1 mc0:63:ee:2 big= nr, a=01:e3:a6' ]

Para agregar una interfaz de red a una domU HVM use el modo ioemu:
vf=[ i ' p=om,big=eb0 mc0:63:e7:0 t eieu rde nr, a=01:e5:65' ]

Para ms informacin sobre la configuracin de las interfaces de red virtuales vea la seccin Configuracin de los dispositivos de red fsicos y virtuales en Xen. kernel La imagen del kernel para el DomU. El formato de este parmetro es la ruta absoluta para el archivo de la imagen del kernel en el Domain-0. Ejemplo de parmetros k r e para PV DomU Debian/Ubuntu: enl
kre ='bo/miu-..42-e' enl /otvln 262-8 n

Ejemplo de parmetros k r e para PV DomU CentOS 5.x: enl


kre ='bo/miu-..81431e5e' enl /otvln 261-9...l n

Nota Ya que el kernel se localiza en el Domain-0 puede usar cualquier ruta, no tiene que ser / o t por ejemplo bo, puede usar / e / e n l . nkres ramdisk

El disco RAM inicial para el DomU. El formato de este parmetro es la ruta absoluta al archivo del initrd, por ejemplo / o / n d g . En la mayora de las distribuciones GNU/Linux va a requerir de un disco RAM inicial para cargar los drivers del bo ii . sistema de archivos de la partici n raz, por ejemplo: Ejemplo de parmetros ramdisk para PV DomU Debian/Ubuntu
ad k='bo/n dig262-8 e' mi /o ii .m-..42- n

Ejemplo de parmetros initrd para PV DomU CentOS 5.x con imagen del kernel en Dom0:
ad k='bo/n d261-9...l e.m' mi /o ii -..81431e5 nig

Nota Ya que la imagen initrd se localiza en el Domain-0 puede usar cualquier ruta, no tiene que ser / o , por bo ejemplo puede usar / e / e n l . nk e root Define el dispositivo raz para el DomU. Esto es requerido para dominios Linux y posiblemente otros OSes.
o ='dv va r' o /e/ d1 o

Esta lnea es pasada como parmetro al kernel, por ejemplo al final la cmdline del DomU sera algo as:
/o /mi -..42-e /e/va r bo ln 262-8 n dv d1 o

Por lo que es muy importante que se asegure que el dispositivo definido con root coincida con el nombre frontend asignado al dispositivo fsico definido en d k i . Este dispositivo tambin tendr que coincidir con el dispositivo raz en el archivo / c f a del DomU. e / b e tra Informaci n extra que es anexada al final de la lnea del parmetro kernel. El formato es una cadena, el contenido puede ser cualquiera que soporte el kernel. Por ejemplo:
e a="" 4

Esto le dir al kernel que cargue en runlevel 4. Ejemplo de parmetros extra para PV DomU Debian/Ubuntu
e a=' cnoe c coko c=ife' 2 o l= 0 lc ejfi

Ejemplo de parmetros extra para PV DomU CentOS 5.x con imagen del kernel en Dom0:
e a='a bo' f o

bootloader Ruta al programa arrancador (Bootloader) que usara el PV DomU, Xen incluye pygrub, una versi n de GRUB escrita en python para cargar maquinas virtuales PV, por ejemplo:
bolae o od =' / /i/ g b bnp '

d k=[ i 'a:i: e/ oae0iae/p. apecm o .m,va,' tpao/ n g//mg ape ml.o/ o ig d1 , 'a:i: e/ oae0iae/p. apecm a.m,va,' tpao/ n g//mg ape ml.o/ pig d2 ]

Importante La partici n de arranque debe ser la primer listada en el parmetro disk, en este caso xvda1, este mismo dispositivo debe ser el que se usa como parmetro root del kernel en el grub del domU, y en el fstab para la partici n raz.

device_model Ruta del programa que emular los dispositivos para HVM DomU, por ejemplo:
d ie d =' e c_ e / /i/e/i/e - ' b b d

Verifique que en su sistema existe el programa en la ruta especificada. boot Orden de arranque en HVM Windows, donde floppy (a), hard disk (c), Network (n) or CD-ROM (d), el orden predeterminado es: hard disk, cd-rom, floppy.
b ='c d'

Esta opcin es usada para arrancar una maquina virtual HVM Windows desde el cd-rom o imagen ISO. sdl Habilitar el soporte de arranque grfico en del HVM DomU.
d ='' 1

Esta opcin no puede ser activada junto con VNC, o se habilita una u otra. vnc Habilita el soporte de consola VNC para conectarse de forma grfica a HVM DomU, por ejemplo:
c='' 1

Si no se define su valor predeterminado es 0, es decir, desactivado. vnclisten Direccin IP de el Dom0 en el que qemu-dm lanzar el socket VNC para la administracin remota.
ci e ='2...' 17001

Si no se define una direccin se usar por default 0.0.0.0, es decir, abrir el puerto VNC en todas las interfaces de red activas del sistema. Se recomienda definir 127.0.0.1 y utilice un t nel SSH para conectarse de forma segura. vncunused Permite la creacin del servicio VNC en un puerto no utilizado, por ejemplo:
c e ='' d 1

vncpasswd (opcional) Contrasea (en texto plano) para conectarse a la consola VNC.
ca d='246 135'

Si no se define una contrasea el acceso es sin restriccin. vfb Virtual Frame Buffer es un mtodo en el cual el sistema operativo guest usa un dispositivo Frame Buffer para exportar el sistema de grficos, puede usar el tipo VNC con sus diferentes opciones. Dentro del parmetro vfb podemos pasar las siguientes opciones: t pe, vncdispla /vncunused, vncpassword, ke map, por ejemplo:
f =[' b e c ci = , d a=0 ca 1, d 3 3'] = c

Si cuando se conecta el mapa del teclado no es el especificado en la instalacin del OS puede mapearlo usando la directiva keymap, por ejemplo:
f =[" b e c d = , i a=0 ca 1, d 3 3,empe"] = c k a=s /h e e/e /e a a /

Los mapas de teclado pueden encontrarse en el directorio de QEMU: /

Si desea lanzar el servicio VNC en un puerto sin usar use la opcin vncunused, por ejemplo:
f =[" b e cvcnsd1 ca = ,nuue=, d 3 3,empe"] = c k a=s

b Habilita el soporte de USB para DomU.


b='' 1

Para tener un cursor en maquinas HVM se requiere el soporte usb. bde ice Tipo de dispositivo USB para maquinas HVM, use el tipo mo e para usar un cursos en consolas VNC, tambin puede usar el tipo a e para dispositivos de cursor, este tipo es ms preciso que mouse, por ejemplo: b
b ='' 1 beie='a e' d c b

o ndh Habilita el soporte de audio en la maquina HVM, defina un tipo de tarjeta (sb16,es1370), por ejemplo:
d = b6 h ' 1'

local ime Configura el reloj del sistema guest a el tiempo local (default=0, es decir, UTC), esta opcin solo se usa para maquinas HVM.
c ie='' a 1

on_po e off Que accin tomar cuando se ejecute el comando xm destroy en el Dom0.
_ e f ='e f d '

Es como jalarle el cable de corriente a un servidor fsico, as que uselo solo en ltima instancia. on_ eboo Que accin tomar en caso de que se ejecute el comando xm reboot o un reinicio limpio dentro del DomU.
_e b ='e a '

Normalmente quiere que se haga un reinicio desde Xen. on_c a h Que accin tomar en caso cuando un DomU se va a un estado crashed por cualquier razn.
_ ah='e a ' c

Normalmente quiere que se haga un reinicio desde Xen. Un ejemplo de archivo de configuracin para una maquina virtual Ubuntu 8.04 LTS 64-bit PVM con el kernel e initrd almacenados en un directorio dentro del Domain-0:
# #X P L e V i # D Uc fgf e i i :

ae i d bid e e e ad i c e

=' d 0. a ec ' 1e . ='a7699c-3889-bc7ed4 dae4-1e4b-afaf4f3d' ='i ='b / ='b / ='' 1 ='2' 18 ='d / d1 /e a ' ' / i -..88 e' 261./ i dig261.-e' i . -..88

e d i

=' c 2

e c' = 0

=[ 'a:i: e/ a / 'a:i: e/ a / ]

ae1iae/ g// g d ae1iae/ g// g d

0/ 1 . g d1 ' i , a, , 0/ a. g d2 ' 1 i , a, ,

i f

=[ ' ig=eb1 a=01:e2:8a' b de , c0:63:90:5 ]

_ e f ='e f d ' _e b ='e a ' _ ah c ='e a '

Otro ejemplo para una maquina virtual CentOS 5.4 PVM 32-bit con PyGRUB, por lo que la configuraci n del kernel, initrd y grub se realiza en el DomU:
# #X P L e V i # ae i d bid e b c e d i ae d D Uc fgf e i i :

=' 1ea ec ' f . . ='cadab1-2fa5-5c5192 8ddb-d841-8ff4a58d' ='i =' / ' /i/ g b b '

='' 2 ='1' 52 =[ 'a:i: e/ a / 'a:i: e/ a / 'a:i: e/ a / ]

ae1iae/ 1ea g// g f . ae1iae/ 1ea g// g f . ae1iae/ 1ea g// g f .

ec / . . g d1 ' i , a, , ec / a. g d2 ' . i , a, , ec / eig d3 ' . h . , a,

i f

=[ ' ig=eb1 a=01:EA:14' b de , c0:63:90:2 ]

_ e f ='e f d ' _e b ='e a ' _ ah c ='e a '

Un ejemplo de una maquina virtual HVM para WIndows 2003 en 32-bit con soporte PAE, ACPI, APIC y USB:
# #X HMW d e V i # ae i d bid e c e a e d ie d e c_ e e e D Uc fgf e i i :

='c. a ec ' d1e . ='574845-5e9d-ed2fbe 5134-f84e-25eeb1ee' =' ' h ='' 1 ='04 12' ='' 1 =' / =' / /i/e/i/e - ' b b d /i/e/ b b / h ae' d

bo o ap ci ai pc b beie d c k mp e a d k i

='c d' ='' 1 ='' 1 ='' 1 ='al ' be =' ' e =[ 'a:i: e/ oae2iae/c. apecmd kcigha ' pao/ n g//mg d1e ml.o/i -.m,d, , 'ie/e/ oaeio/i23E-2i- -ic. oie :d:do,' fl: n g/ nk-D3b e d 1i ,om hcc m 'ie/e/ oaeio/i23E-2i- -ic. oie :d:do,' fl: n g/ nk-D3b e d 2i ,om hdc m ] =[ ' p=om,big=eb1 mc0:63:0f:a eie de n , a=01:e4:43' ] ='' 0 ='' 1 ='...' 0000 ='e eo c ' ='e o' d ='e a ' ='e a '

i f

d l n c nl e ci n np ca d o_oeof np f o_eo n bo o_ ah nc

Para ms informaci n sobre los parmetros de configuraci n para los DomU vea la pgina del manual mdomain.cfg(5). En las siguientes secciones veremos diferentes mtodos para la creaci n de maquinas virtuales PV Linux en distribuciones Debian/Ubuntu y CentOS.

Creando maquinas virtuales Xen PV Linu


En esta secci n veremos como crear maquinas virtuales Xen domU del tipo PV Linux, veremos los mtodos para la creaci n de maquinas con sistemas operativos guest Debian/Ubuntu en arquitecturas de 32-bit y 64-bit, los mtodos descritos son manual y automtico.

Creando maquinas virtuales Xen PV Linu con Debian o Ubuntu


Las distribuciones Debian y Ubuntu incluyen el soporte para ejecutarse de forma PV en Xen, de entre los diferentes mtodos que existen para instalar Debian/Ubuntu aqui mencionaremos el uso de debootstrap y xen-tools, las cuales nos permitirn instalar diferentes versiones de forma manual y automtica. Creando maquinas virtuales Xen PV Debian con con debootstrap Debootstrap es un herramienta que nos permite instalar un sistema guest Debian sobre un un sistema de archivos local, usaremos debootstrap para crear la base del sistema guest Debian/Ubuntu y despus realizaremos la configuraci n inicial del sistema de forma manual editando archivos de configuraci n de sistema. Los pasos que realizaremos para crear una maquina virtual Xen PV Debian o Ubuntu usando debootstrap son: Crear discos virtuales basados en archivos de imagen. Crear sistemas de archivos sobre discos virtuales. Montar el sistema de archivos del disco virtual en un directorio temporal. Instalar sistema Debian sobre el directorio temporal. Instalar m dulos del kernel XenLinux en el directorio temporal. Configurar el montaje de los sistemas de archivos en /etc/fstab de la maquina virtual. Configurar la Consola Virtual Xen xvc0.. Defina el nombre del sistema. Crear contrasea para el usaurio root del nuevo sistema.

Configuraci n de los parmetros de red para el sistema guest. Configuraci n de repositorios de paquetes APT. Instalaci n de paquetes base adicionales. Desmontaje de directorio temporal. Creaci n de archivo de configuraci n de maquina virtual PV Linux. Antes de iniciar asegurese de tener instalado el paquete debootstrap, si no lo tiene instalelo con apt-get:
#a -e i g a db e a

La versi n de debootstrap incluida en Ubuntu Hardy 8.04 no tiene los scripts para crear instalaciones de Ubuntu Lucid 10.04 ni de Debian Squeeze 6, para soportar la creaci n de instalaciones de estas distribuciones para las maquinas virtuales cree los scripts en el directorio / /h edb a /e a / c i , por ejemplo:
#c / /h edb d a /e # - g cd i # - i d e e e a/ci

Nota Solo se crean enlaces simb licos a los directorios de las distribuciones base, para Ubuntu se usa gutsy y para Debian sid. Primero vamos a crear los archivos de imagen que seran usados como discos duros por la maquina virtual, para la maquina virtual de nombre dom01 con una instalaci n simple crearemos un archivo de imagen de 4GB para la partici n raz y otro archivo de 512MB para la partici n swap. Creamos un archivo de imagen de 4GB de tipo sparse para la partici n raz:
#d i=dv eo f/e/trg//mgsdm0-otigb=04 e =06c d f/e/ r =xnsoae0iae/ou1ro.m 12k e 49 = 0

Y tambin creamos un archivo de imagen de 512MB de tipo sparse para la partici n swap:
#d i=dv eo f/e/trg//mgsdm0-wpigb=04 e =1 c d f/e/ r =xnsoae0iae/ou1sa.m 12k e 52 = 0

Con el comando mkfs.e t3 creamos un sistema de archivos ext3 sobre el archivo de imagen domu01-root.img:
# f. 3/e/ e ae0iae/ g// g d 01 . g i

Y creamos el swap sobre el archivo domu01-swap.img con el comando mks ap:


# a /e/ ae0iae/ g// g d 0- a. g 1 i

Creamos un directorio que usaremos como punto de montaje temporal en el cual montaremos el archivo de imagen domu01-root.img para instalar el sistema guest:
# # d / / / i - e 3/ d 0 1 /e/ ae0iae/ g// g d 01 . g/ i / / / d 0 1

Use el comando mount para verificar que el archivo fu montado:


# .. . /e/

ae0iae/ g// g d

0- a. g 1 i

/ d

0 1

ee 3( ,

=d / /e

0 )

Nota Con la opci n del comando moount se mapeo el archivo de imagen al dispositivo loopback / e / d
0 .

Ahora usaremos debootstrap para crear una instalaci n de Debian Lenn i386 en el directorio / http://ftp.us.debian.org/debian:

/ d

0 usando 1

el mirror

#dbo eo

a -ac i8 ln /n/m/m/o 0 h p/fp .einogdba p - h 36 en m p dm 1 :/ . dba. /ein

Nota Para una maquina virtual Ubuntu hardy i386 use:


#dbo eo a -ac i8 hr /n/m/m/o 0 ht:/rhv.bnucmuut p - h 36 ad m p dm 1 tp/acieuut.o/bnu

Despus de que debootrap termina de instalar los paquetes en el directorio veamos que se creo una estructura de archivos:
#l - /n/m/m/o 0 1 m p dm 1 bn i bo o d e ec hm oe lb i l +on o f d mda ei m n o p po c o o bn i ei ln

m p a

Es importante instalar unos modulos de kernel apropiados para el kernel y distribuci n, por ejemplo, si el OS de la VMs es el mismo que el del Dom0 puede hacer:
#c - /i/o l /..88 e /n/m/m/o 0/i/o l / p a lbmd e 261.- n m p dm 1lbmd e

Nota Recuerde que el kernel 2.6.18 que instalamos con Xen 3.4.3 incluye los drivers Frontend por lo que es posible usarlos tambin en un PV DomU Linux. Ahora debemos definir el nombre como se montarn los sistemas de archivos en la maquina virtual, creamos el archivo / c f a en el e / b directorio temporal:
# i /n/m/m/o 0/ cf a m m p dm 1e / b

Con el siguiente contenido:


#/ cf a: ai fl e / b c ie e if m in m no a o. # #<ie fl e><on pi > < p> <pin> m m on e o o po c / o p c po c df l ea /e/va dv d1 / e 3 e o =eon-o m /e/va dv d2 nn oe a p

< m> <a > d p p 0 0 0 1 0 0

Nota Recuerde que xvda1 ser el disco raz y xvda2 el swap, necesitar esta informaci n cuando cree el archivo de configuraci n para la maquina virtual. Ahora debemos definir el nombre de la terminal TTY (X n V e i a C n o e que usara el sistema, Xen usa el nombre de dispositivo l o l) vc, para nuestro caso usaremos vc0. Edite el archivo / c i i a en el directorio temporal: e /n b
# i /n/m/m/o 0/ cii a m m p dm 1e /n b

Cambie la linea de la terminal tty:

124:ep n/bng :35 a : i/e

340 80

Por una terminal tipo vc0 (Xen Vi


124:ep n/bng :35 a : i/e

al Con ole 0):


340 v0 80 c

Nota Si es Ubuntu 8.04 LTS entonces edite el archivo / n / m / m / o 0 / c e e . / m p dm 1e / n d vc0. Asegurese de que la TTY vc0 aparezca listada en el archivo / c e e e / c cuando se conecte usando xm console, por ejemplo:
.. . .. . .. . #Cnoa Xn o l e: c 0 hc 0 1y cambie tt

1 por

, de lo contrario no podr obtener una terminal getty

Defina el nombre del sistema en el archivo / c h n m del directorio temporal: e /o ae


#eh "o 0. apecm >/n/m/m/o 0/ ch nm co dm 1e ml.o" m p dm 1e /o ae

Cree una contrasea para la cuenta root:


#c o /n/m/m/o 0 / h o m p dm 1 /i/a bnp d

Tambin revise el archivo de resoluci n de nombres local / n / m / m / o 0 / c h m p dm 1e /o


# i /n/m/m/o 0/ ch m m p dm 1e /o

, por ejemplo:

Con el siguiente contenido:


17001 2... lclo .oadmi oah lcloan 12182114dm0. apecm 9.6.2.3 o 1e ml.o lclo oah dm0 o 1

Configure los parmetros de la interfaz de red en el archivo / c n o k i e f c dentro del directorio temporal: e /e /n ae
# i /n/m/m/o 0/ cn oki efc m m p dm 1e /e /n ae

Con el siguiente contenido:


#Telobc n oki efc h opak e n ae a ol o iael ie lobc fc o n opak #Tepia n oki efc h m e n ae a oeh 0 iaeeh ie fc 0 n ai c ade 12182114 d 9.6.2.3 n m k2525250 e a 5.5.5. g ea 12182124 a 9.6.2.5

Tambin cambie la configuraci n de los servidores DNS en el archivo / c e o . o fdel directorio temporal, por ejemplo: e / l cn
# i /n/m/m/o 0/ c eo .of m m p dm 1e / l cn

Con el siguiente contenido:


e c eapecm a h ml.o nm e e 12182124 ae 9.6.2.5

Tambin debe actualizar la lista de repositorios para apt en el archivo / n / m / m / o 0 / c a / o c . i , por ejemplo: m p dm 1e /p e l
# i /n/m/m/o 0/ ca /o c .i m m p dm 1e /p e l

Con el siguiente contenido:


db e h p/fp .einogdba/ :/ . dba. /ein ln en db ch p/fp .einogdba/ e:/ . dba. /ein ln en db e h p/ e i .einog ln /pae :/ c dba. / en d db ch p/ e i .einog ln /pae e:/ c dba. / en d mi cn an o mi cn an o mi cn an o mi cn an o i nnfe b o- e i nnfe b o- e i nnfe b o- e i nnfe b o- e

Instale el paquete de udev y las locales:


#c o /n/m/m/o 0 a -e i al d lcl h o m p dm 1 p g n l e oae

Configure la zona horaria:


#c o /n/m/m/o 0 dk-eofg e h o m p dm 1 pg cni d a a

Instale el cliente NTP para sincronizar el reloj del sistema:


#c o /n/m/m/o 0 a -e i alnpae h o m p dm 1 p g n l d

Hemos terminado con la instalaci n del sistema operativo para la maquina virtual, antes de continuar se recomienda que desmonte el archivo de imagen:
# m n /n/m/m/o 0 o m p dm 1

Ahora debemos crear el archivo de configuraci n en el cual definimos los parmetros con los que crearemos la maquina virtual as como los parmetros para arrancar el sistema operativo que recien instalamos. Cree el archivo de configuraci n para una VM PV Linux en el directorio / c e , por ejemplo: e / n
# i / c e/o 0.f m e / ndm 1cg

Con el siguiente contenido:


# #XnP Dm Ln e V oU i # nm ae i d bid le k nl e e ad k mi c p c p mm eo o o e a cni fl: ofg ie

='ou1 dm0' ='a7699c-3889-bc7ed4 dae4-1e4b-afaf4f3d' ='i ' ln ='bo/miu-..88xn /otvln 261.-e' ='bo/ntdig261.-e' /otiir.m-..88xn ='' 1 ='' 1 ='1' 52 ='dvxd1 o /e/va ' ='o oexc' cn l=v0 =[ 'a:i:xnsoae0iae/ou1ro.m,va,' pao/e/trg//mgsdm0-otigxd1 , 'a:i:xnsoae0iae/ou1sa.m,va,' pao/e/trg//mgsdm0-wpigxd2 ]

d k i

i f

=[ ' ig=eb1 mc0:63:90:5 b de n , a=01:e2:8a' ]

o_oeof='e o' np f d o_eo n bo ='e a ' o_ ah nc ='e a '

Impor an e En este caso la maquina virtual arrancara usando el kernel / o / m i - . . 8 8 e almacenado en Domainbo ln 261.- n 0. verifique que las rutas son correctas. Tambin debe asegurarse que esten correctas las rutas a los archivos de imagen de los discos virtuales y que los nombres asignados corresponden a aquellos definidos en el archivo

/ c f a dentro e / b

del sistema de la maquina virtual.

Nota Se pasan unos parmetros extra al kernel, 2 para indicar el nivel de ejecuci n (runlevel) y c n o e o l =xvc0 para indicarle al kernel que use esa consola para enviar la salida estandar. Nota La direcci n MAC address para la interfaz de red virtual fue generada con el comando / /oa/bnmce. . lcl i/agnp Antes de querer iniciar la maquina virtual con el sistema operativo que acabamos de crear se recomiende que revise todos los pasos anteriores, cuando este seguro use el comando m create para crear la maquina virtual:, por ejemplo:
# mce e/ c e/o 0.f a e / ndm 1cg c

El parmetro - conecta xm a la consola serial de la maquina virtual vc0, la cual es el nombre que Xen asigna a las terminales TTY locales c de las maquinas virtuales, para desconectarse de la consola serial use la combinaci n de teclas Ctrl+]. Creando maquinas virtuales Xen PV Ubuntu con xen-tools En esta secci n veremos como crear de forma automtica maquinas virtuales PV Linux en las distribuciones Debian y Ubuntu para arquitecturas 32-bit y 64-bit usando las herramientas xen-tools, las cuales son un conjunto de scripts en perl y bash para automatizar el proceso de creaci n de maquinas virtuales usando debootstrap, es decir, con xen-tools podremos ahorrarnos el tiempo que nos toma personalizar la instalaci n. Con xen-tools podremos crear una maquina virtual de un solo comando, xen-tools es bastante flexible al definir los parmetros de configuraci n de las maquinas virtuales, permite la configuraci n de cpus virtuales, memoria, discos duros basados en imagenes loopback, particiones linux nativas o LVM, consola serial, configuraci n de red. En las siguientes secciones veremos como instalar, configurar y usar xen-tools.
Instalando xen-tools

En esta secci n veremos los pasos para isntalar xen-tools desde las fuentes, primero instalaremos las dependencias:
#a -e i alg -oemk lbe -o-ellbe -epaep ldbo p g n l i c ae i pdp i ml -e eo a \ p p lmdl lb pc-ellbe -epaep llbofgiiie-ellbie l pp l\ e -o e ie e p i ml -e icni-nfl p ifl-e efpo 2 g e efpo i g fpo g

Descargamos e instalamos el archivo tar de las fuentes de xen-tools desde su sitio oficial, para este documento usaremos la versi n 4.2.
#c / / c d / # g h p/ e :/ .e-ol. g o ae e-ol/e-ol-..a. n o o / f / n o n o 42 g # a f e-ol-..a. n o 42 g #c e-ol-. d n o 42 #mk i al ae n l

El directorio principal de configuraci n de xen-tools es / c e - o l , en dicho directorio encontramos los scripts hook en el e / n o subdirectorio h o . , los esquemas de particionamiento en el directorio p i i n . , los roles en el directorio o e . . ok d a o d l d En el directorio / / i / e - o l se crearon las plantillas para la creaci n de VMs, encontramos plantillas para centos4, centos5, lb n o fedora4-13, Debian sarge, etch, lenny, squeeze, sid y testing, gentoo, Ubuntu dapper, edty, feisty, gutsy, hardy, intrepid, jaunty, karmic y lucid. Las pginas del manual se instalaron en el directorio /
/h emnmn. a /a/a8

En las siguientes secciones veremos como definir los parmetros globales y especificos para la creaci n de las maquinas virtuales.
Definiendo los parmetros de configuraci n globales para xen-tools

El programa para crear maquinas virtuales xen-create-image usa parmetros de configuracion globales desde el archivo de configuraci n /etc/ en-tools/ en-tools.conf los cuales son usados para todos los tipos de maquinas virtuales. A continuaci n se listan los parmetros

generales. Antes de modificar los parmetros generales se recomienda realizar una copia de seguridad del archivo:
#c /t/e-ol/e-ol.of,oi p ecxntosxntoscn{.rg

Edite el archivo de configuraci n para definir los parmetros generales para nuestro entorno:
#vm/t/e-ol/e-ol.of i ecxntosxntoscn

Para definir la arquitectura de hardware predeterminada para las maquinas virtuales use el parmetro arch:
ac =ad4 rh m6

Nota Las arquitecturas disponibles son i386 para x_86 y amd64 para x_86_64. Para definir la distribuci n predeterminada para las maquinas virtuales use el parmetro dist:
ds =hry it ad

Nota Por default se usa el comando t-guess-suite-and-mirror para definir la distribuci n en base al Domain-0. El mtodo de instalaci n se define usando el parmetro install-method, el default es debootstrap.
isalmto =dbosrp ntl-ehd eotta

Ya que la instalaci n de las VMs las hace a travs de debootstrap defina el URL para los servidores mirror para cada distribuci n usando los parmetros mirror_dist, por ejemplo:
mro_en =ht:/d.einntdba irrlny tp/cndba.e/ein mro_ad =ht:/rhv.bnucmuut irrhry tp/acieuut.o/bnu

Para mquinas PV Linux que mantienen la imagen del kernel e initrd en en un directorio local del Domain-0 use los parmetros k r e e enl i i r , por ejemplo: ntd
kre =/otvlnz`nm -` enl bo/miu-uae r iir =/otiir.m-uae-` ntd bo/ntdig`nm r

Nota Por default se usa la misma versi n del kernel que esta ejecutando el Domain-0, cuando usa pygrub, ests opciones no tienen efecto. Definiendo el tipo de imagen loop predeterminado para los discos virtuales de la DomU:
iae=sas mg pre

Nota Los tipos soportados son sparse y full, el predeterminado es sparse. Con el parmetro fs defina el sistema de archivos predeterminados para la partici n raz de las maquinas virtuales.
f =et s x3

Nota Los tipos soportados son e t2, e t3.

Para definir el nombre de la terminal serial de la maquina virtual usando el parmetro e i l d i e por ejemplo: a_e c,
eild ie c a_e c= 0

Nota El kernel predeterminado de hardy usa c0, pero en Lenny se usa h c0, por lo que defina la predeterminada de acuerdo al tipo de VM que ms vaya a instalar. Para definir parmetros de configuracin diferentes a los predeterminados al momento de crear maquinas virtuales defina las opciones especificas, por ejemplo, para definir una consola hvc0 para una maquina Debian Lenny use --serial_device. En las siguientes secciones veremos ejemplos para crear maquinas virtuales usando el programa xen-create-image(8).
C eando ma ina PV Debian o Ub n

Para crear una maquina virtual PVM Linux con Ubuntu Hardy en arquitectura i386 usando el mtodo de instalacin debootstrap y el dispositivo serial vc0 use el siguiente comando:
# e- e eiae-h nm= nc a -mg -o ae -d =ad -ac=36\ -i hr - hi8 - c = -mm =5M \ - p 2 -eo 26b -d = e-mgs\ -i / niae -big=eb2-dc \ - de nr -hp -p -a d . apecm\ e ml.o

El comando anterior crear una maquina virtual PV Linux usando archivos de imagen loop como medio de almacenamiento, crear los archivos: / en-images/domains/ .e ample.com/s ap.img

Archivo de imagen loop (raw) para almacenar la particin raz del sistema operativo. / en-images/domains/ .e ample.com/root.img

Archivo de imagen loop (raw) para almacenar la particin swap del sistema operativo. Adems crear el archivo de configuracin / c e / e / n
nm ae k nl e e ad k mi c p mm eo o o d k i =' . apecm e ml.o' . a p e c m c gcon el siguiente contenido: e ml.o.f

='bo/mi -..42-e' /o ln 262-8 n ='bo/n dig262-8 e' /o ii .m-..42- n ='' 2 ='5' 26 ='d / d2 o /e a ' =[ a:i: e-mg /oan/ ' pao/ niae dmi 'a:i: e-mg /oan/ pao/ niae dmi =[big=eb2] ' de n '

. apecm a.m, d1 ' e ml.o/ pig a, , . apecmd kig d2 ' e ml.o/i .m, a, ]

i f

o_oeof='e o' np f d o_eo n bo ='e a ' o_ ah nc ='e a '

Para crear una maquina virtual Debian Lenny en arquitectura amd64 usamos el siguiente comando:
# e- e eiae-h nm=r . apecm\ nc a -mg -o aepo e ml.o -d =en -ac=m6 \ -i ln - had4 - c = -mm =G \ - p 2 -eo 1b -d = e-mgs-f= 3- ie8b- a=G \ -i / niae - e =G - p2b -big=eb3-dc \ - de nr -hp -p -a d

Algunas otras opciones tiles: --kernel

Set the path to the kernel to use for domU. If a kernel is specified it must exist. --initrd Specify the initial ramdisk. If an image is specified it must exist. --modules Set the path to the kernel modules to use for domU. If modules are specified they must exist. --partitions Use a specific partition layout configuration file. See /etc/xen-tools/partitions.d/sample-server for an example partitioning configuration. Not supported with the image-dev and swap-dev options. Parameters fs, size, swap and noswap are ignored when using this option. --role Run the specified role script(s) post-install. Role scripts are discussed later in this manpage. Can be an absolute path. Otherwise it's relative to the value of --roledir. --p grub DomU should be booted using pygrub. --disk_device Use specified device name for virtual devices instead of the default value "xvda". --serial_device Install a getty on the specified serial device instead of the default device. --vcpus Set the number of vcpus that the new instance will have instead of the default value of "1". --bridge Optionally, set a specific bridge for the new instance. This can be especially useful when running multiple bridges on a machine. -mac Specify the MAC address to use for a given interface. This is only valid for the first IP address specified, or for DHCP usage. (ie. you can add multiple --ip flags, but the specific MAC address will only be used for the first interface.) --ip Setup the IP address of the machine, multiple IPs are allowed. When specifying more than one IP the first one is setup as the "system" IP, and the additional ones are added as aliases. --netmask Setup the netmask for the new instance. --broadcast Setup the broadcast address for the new instance. --gatewa Setup the network gateway for the new instance. --lvm Specify the volume group to save images within. If you do not wish to use LVM specify --dir or --evms. (These three options are mutually exclusive.) La mayora de los parmetros de arriba pueden ser predefinidos en el archivo de configuraci n / t / e - o l / e - o l . o fy ec ntos ntoscn

simplificar los parmetros usados.


Definiendo esquemas de particiones de en-tools

Si queremos crear DomU con ms de un volumen, por ejemplo, queremos instalar un servidor que va a tener una partici n independiente para /home y otra para /var, para lograr esta configuraci n debemos de crear ms volumens logicos y asignarlos al sistema, afortunadamente xen-tools nos provee de las funcionalidades para lograr esta tarea de forma sencilla creando plantillas de particiones. Crearemos una plantilla para el siguiente esquema de particiones: Tabla 4.1. Esquema de particiones Vol men Sistema de archivos Punto de montaje Tamao / swap /home /var 4G 1G 10G 10G

/dev/VGsystem01/fileserver-disk ext3 /dev/VGsystem01/fileserver-swap swap /dev/VGsystem01/fileserver-home ext3 /dev/VGsystem01/fileserver-var ext3

Cremos el arcihvo del perfil de particiones:


# i / c e-ol/a iin./o - a-oe a m e / n o p o d o phm-

Con el siguiente contenido:


[o ] o ie4 =G p= 3 ee m npi = o on / o in=eaiee o =eon-o p o l m, m [ a] p ie1 =G p= a e p [oe hm] ie1G =0 p= 3 ee m npi =hm o on /oe o in=eal ,o ie p o df na m [a] ie1G =0 p= 3 ee m npi = a o on / o in=eal ,o ie p o df na m

Para crear un nuevo DomU con que use este esquema utilizamos el siguiente comando:
# e- e eiae-h nm=iee e -lmVS nc a -mg -o aefl - =G e0 -p iin=o - a-oe a -dc -p m1 -a o o phm-hp -a d

Nos mostrar una salida como la siguiente, donde nos muestra los volumenes logicos que se crearon:
Gn a If m in ee l no a o ------------------H nm o ae : fl e e ie D i i in : h d b o a P iin a o : a p 1 G ( a) p / 4 G ( 3 e ) /oe hm 1G 0 ( 3 e ) /a 1G 0 ( 3 e ) Iae p mg e : fl l Mm eo ie : 18b 2M K nlp h e e a : /o /mi -..42-e bo ln 262-3 n Ii dp h n a : /o /n dig262-3 e bo ii .m-..42- n N okn If m in e ig no a o ---------------------

I Ades P drs

:DC [A:0:63:47:4 HP MC 01:E4:F7]

Cetn sa o /e/Gaa1flsre- a raig p n d VDt0/iee rs p Dn oe Cetn et flsse o /e/G se0/iee e-ik raig 3 ie tm n d Vs tm1flsr rds Dn oe Cetn et flsse o /e/G se0/iee e-oe raig 3 ie tm n d Vs tm1flsr rhm Dn oe Cetn et flsse o /e/G se0/iee e-a raig 3 ie tm n d Vs tm1flsr r r Dn oe Isalto mto:dbosrp ntlain ehd eotta

Tambin crear un archivo de configuracin donde asigna los vol menes lgicos de la siguiente forma:
ds ik =[ 'h:d /G se0/iee e- a, d1 ' p /e Vs tm1flsr rs p a, , 'h:d /G se0/iee e-ik d2 ' p /e Vs tm1flsr rds, a, , 'h:d /G se0/iee e-oe d3 ' p /e Vs tm1flsr rhm, a, , 'h:d /G se0/iee e-a, d4 ' p /e Vs tm1flsr r r a, , ]

Verifique que los vol menes fueron creados correctamente.


Modificando las plantillas de configuraci n para xen-tools

Es posible modificar la plantilla que genera los archivos de configuracin de las maquinas virtuales, es decir, los archivos .cfg que se generan en el directorio /etc/xen, por ejemplo, si desea agregar el parmetro clocksource=jiffies al kernel de la maquina virtual edite el archivo de la plantilla principal / t / e - o l / m t p . ec ntos .ml
# i /t/e-ol/mtp m ec ntos .ml

Y agregue las siguientes lneas al final del archivo:


.. . .. . .. . # #Kre etaotos enl r pin # eta='lcs rejfis r coko c=ife'

Creando maquinas virtuales PV Linux CentOS


En esta seccin veremos como crear maquinas virtuales PV para CentOS, las haremos descargando una imagen del sistema operativo del sitio stacklet y usando xen-tools a travs de rinse. Creando maquinas virtuales PV CentOS usando imagenes de stacklet Instalaremos la distribucin CentOS 5.3 i386 basado en una imagen provista por el sitio stacklet, el procedimiento de configuracin ser similar a la que hicimos con debootstrap, a excepcin que no usaremos debootstrap para crear el sistema raz. Descargue la imagen de la VM PV Centos 5.3:
#c /e-mgs d niae

Descargue la imagen:
# gtht:/ii/ets53 8.0943igtrb2 e tp/stocno.-. 62002.m.a.

Descomprima la imagen:
#tr- fcno.-.8.0943igtrb2 a j ets53 62002.m.a.

Copie el archivo de imagen:


#c cno.-.8.m smaro.m p ets53 6ig ab-otig

Ya que la imagen descargada de stacklet no incluye una imagen para el swap, crearemos un archivo vacio para el swap de 512M:
#d i=dv eoo=mtxniae/ab-wpigb=04 ek52c n= d f/e/ r f/n/e-mgssmasa.m 12k e=1 o 0

Cree el swap:
#m a /n/e-mg /ab- a.m k p m niae ma pig

Cree directorio temporal para montar la imagen:


#md /n/m/ab ki m p ma #m n - e 3- lo /n/e-mg /ab-o .m /n/m/ab o o op m niae ma o ig m p ma

Cambie la contrasea del usuario root de la imagen:


#c o /n/m/ab / h o m p ma /i/a bnp d

Ahora revise el archivo /etc/fstab de la raz de la maquina virtual samba:


# i /n/m/ab/ cf a m m p mae / b

Con el siguiente contenido:


#/ cf a: ai fl e / b c ie e if m in m no a o. # #<ie fl e><on pi > < p> <pin> m m on e o o po c / o p c po c df l ea /e/va dvxd1 / e 3 df l , o =eon-o ea e m /e/va dvxd2 nn oe a p d p e /e/ d p d p e gd5md=2 i=,oe60

< m> <a > d p p 0 0 0 1 0 0 0 0

Asigne un nombre de host apropiado en el archivo /mnt/tmp/samba/etc/syconfig/network, por ejemplo:


# i /n/m/ab/ c m m p mae / cni/e ok ofgn

Con el siguiente contenido:


NTOKN=e EWRIG HSNM=ab. apecm OTAE mae ml.o

Tambin revise el archivo de resoluci n de nombres local /mnt/tmp/fwproxy/etc/hosts, por ejemplo:


# i /n/m/ab/ ch m m p mae /o

Con el siguiente contenido:


17001 2... 121816 9.6.. lclo .oadmi oah lcloan ab. apecm mae ml.o lclo oah ab ma

Configure los parmetros de red en el archivo /mnt/tmp/samba/etc/sysconfig/network-scripts/ifcfg-eth0, por ejemplo:


# i /n/m/ab/ c m m p mae / cni/e ok ci /ff- h ofgn p icge 0

Con el siguiente contenido:


DVC= h EIEe 0 TP= h n YEE e e OBO=e NOT BOPOO ai OTRT= c IAD=9.6.. PDR121816 NTAK2525250 EMS=5.5.5. BODAT1218125 RACS=9.6..5

Configure el gateway en el archivo /mnt/tmp/samba/etc/syconfig/network, por ejemplo:


# i /n/m/ab/ c cni/e ok m m p mae / ofgn

Con:
NTOKN=e EWRIG HSNM=ab. apecm OTAE mae ml.o GTWY121811 AEA=9.6..

Tambin cambie la configuraci n de los servidores DNS en el archivo /mnt/tmp/samba/etc/resolv.conf, por ejemplo:
# i /n/m/ab/ c eo .of m m p mae / l cn

Con el siguiente contenido:


e c eapecm a h ml.o nm e e 121811 ae 9.6..

Cambie el archivo de inicializaci n para usar la terminal virtual hvc0 para la tty1, edite el archivo /mnt/tmp/fwproxy/etc/inittab, por ejemplo:
# i /n/m/ab/ cii a m m p mae /n b

Agregue la lnea para la terminal vc0 (Xen Vi


xc:35 ep n/bnmne v024: a : i/ig

al Con ole 0):

xc v0

Asegurese de que la TTY vc0 aparezca listada en el archivo / c e e e / c cuando se conecte usando xm console, por ejemplo:
.. . .. . .. . #Cnoa Xn o l e: c 0 hc 0

, de lo contrario no podr obtener una terminal getty

Configure la zona horaria:


#c /n/m/ab/ p m p ma /h e oenoAeiaM ioC a / nif/m c/e c_i /n/m/ab/ clclie m p mae /oa m

Instale el cliente NTP:


#c o /n/m/ab h o m p ma mi alnp n l

Edite el archivo de configuraci n de grub que ser usado por el arrancador pygrub:
# i /n/m/ab/o / bg bcn m m p mabo g / .of

Con un contenido similar al siguiente:


df l= ea 0 ie =0 mo 1 il CnO (..81431e5e) e e S 261-9...l n o (d,) o h00 k nl/otvln -..81431e5e cnoexc o =dvxd1 o e e bo/miu 261-9...lxn o l=v0 o /e/va ii d/otiir-..81431e5e.m n bo/ntd261-9...lxnig il mi -..81816e5e e ln 261-2...l n o (d,) o h00 k nl/o /mi -..81816e5e cnoexc o =dvxd1 o e e bo ln 261-2...l n o l=v0 o /e/va ii d/o /n d261-2...l e.m n bo ii -..81816e5 nig

Verifique que los archivos de la imagen del kernel y del initrd existan en el sistema de archivos del Domu:
#l - /n/m/ab/o / e* 1 m p mabo * n /n/m/ab/o / m p mabo S e.a-..81816e5e mmp261-2...l n /n/m/ab/o / m p mabo S e.a-..81431e5e mmp261-9...l n /n/m/ab/o /ofg261-2...l e m p mabo cni-..81816e5 n /n/m/ab/o /ofg261-9...l e m p mabo cni-..81431e5 n /n/m/ab/o /n d261-2...l e.m m p mabo ii -..81816e5 nig /n/m/ab/o /n d261-9...l e.m m p mabo ii -..81431e5 nig /n/m/ab/o /mi -..81816e5e m p mabo ln 261-2...l n /n/m/ab/o /mi -..81431e5e m p mabo ln 261-9...l n

Asigne una direcci n MAC a la interfaz de red predeterminada (eth0) usando el comando macgen.py, por ejemplo:
#/ /oa/i/agnp lclbnmce. 0:63:7e:9 01:e1:84

Registre esa MAC address para usarla en el archivo de configuraci n de la VM. Cree el archivo de configuraci n para una VM PV Linux, por ejemplo:
# i / c e/ab.f m e / n macg

Con el siguiente contenido:


nm ae bolae o od c p mm eo o o d k i ='ab' ma =' / /i/ g b bnp '

='' 1 ='5' 26 ='d / d1 o /e a ' =[ a:i:m /e-mg /ab-o .m, d1 ' ' pao/n niae ma o ig a, , 'a:i:m /e-mg /ab- a.m, d2 ' pao/n niae ma pig a, ] =[mc0:63:7e:9] 'a=01:e1:84'

i f

o_oeof='e o' np f d o_eo n bo ='e a ' o_ ah nc ='e a ' e a =' '

Impor an e Asegurese que los nombres de los arcihvos de imagenes existan y de que los nombres de los dispositivos de bloque asignados a la VM coincidan con la configuraci n de los archivos fstab y grub dentro de la VM. Note que cuando se usa pygrub para arrancar el kernel del DomU PV no es necesaria la opci n extra ya que los parmetros extras al kernel deben ser agregados a la lnea kernel de la configuraci n de grub de la VM. Desmonte la partici n:
# m n /n/m/ab o m p ma

Inicie la maquina virtual:


# mce e/ c e/ab.f a e / n macg c

Instalacion con CD de instalaci n QEMU/Pygrub Creando maquinas virtuales PV CentOS con en-tools rinse

xen-tools permite la creaci n de maquinas virtuales basadas en RPM como CentOS y Fedora, la instalaci n la realiza a travs de rinse un programa similar a debootstrap pero para paquetes RPM. Antes de instalar el programa rinse instale las dependencias para poder descargar y manipular paquetes en formato RPM.
#a -e i al g p g n l e p m

Primero instalaremos la ultima versi n de rinse:


#c / / c d # g h p/ e-ol. g o ae i e i e17 a. e :/ n o o / f / n / n -.. g

Descomprima e instale los archivos:


# a - f i e17 a. n -.. g #c i e17 d n -.

#mk isal ae ntl

El programa binario se instalo en / s / b n r n ey usa como archivo de configuraci n principal / t / i s / i s . o f en el cual ursi/is ecrnernecn, se definen los depositos para instalaci n de paquetes va YUM. Adems en el directorio / t / i s encontrar una lista con los paquetes ecrne que cada perfil de distribuci n deber instalar. Las distribuciones actualmente soportadas por rinse son: CentOS 4 y 5 tanto en 32 y 64 bit Fedora Core 4, 5, 6, 7, 8, 9, y 10 tanto en 32 y 64 bit. La configuraci n actual entre xen-tools y rinse al parecer no esta del todo completa y confunde a YUM cuando se instala una VM CentOS 5 i386 sobre un Dom0 con kernel amd64 (x86_64), para corregir el problema, cree un script post instalaci n para rinse para deinir la plataforma predefinida para RPM.
#vm/s/i/is/ets50lclps-ntl.h i urlbrnecno-/0oa-otisals

No a El script 00local-post-install.sh Cree el script con el siguiente contenido:


#/i/h !bns # #0lclps-ntl.h 0oa-otisals # pei=1 rfx$ i [!- "{rfx"] te f d $pei ; hn eh "eiu err-tenmddrcoydenteit" co Sros ro h ae ietr os' xs. ei xt f i # # Strmpafr fl e p ltom ie # eh " Stigrmpafr fl" co etn p ltom ie i ["{RH"="36 ] te f $AC i8" ; hn eh "66rda-iu">$rfxecrmpafr co i8-ehtlnx pei/t/p/ltom ei ["{RH"="m6"] te lf $AC ad4 ; hn eh "8_4rda-iu">$rfxecrmpafr co x66-ehtlnx pei/t/p/ltom #I nt-ac agmn te uehs patomuiguaef o -rh ruet hn s ot ltfr sn nm m ei [- "{RH"] te lf z $AC ; hn UAEAC=uae-` NM_RH`nm m i ["{NM_RH"="66 ] te f $UAEAC i8" ; hn eh "66rda-iu">$rfxecrmpafr co i8-ehtlnx pei/t/p/ltom ei ["{NM_RH"="8_4 ] te lf $UAEAC x66" ; hn eh "8_4rda-iu">$rfxecrmpafr co x66-ehtlnx pei/t/p/ltom es le eh "nnw kre acietr $UAEAC . co Ukon enl rhtcue {NM_RH " eh "laerpr ti a bgt xntosdvxntosog" co Pes eot hs s u o e-ol-e@e-ol.r. f i f i

Se desea agregar paquetes adicionales a la instalaci n base de Centos 5.X agrege el nombre del paquete al archivo / t / i s / e t s ecrnecno5 p c a e , en dicho archivo se almacena una lista de paquetes a instalar, por ejemplo: .akgs
#eh "e-nplb"> /t/is/ets5pcae co ntsm-is > ecrnecno-.akgs #eh "e-nppr"> /t/is/ets5pcae co ntsm-el > ecrnecno-.akgs #eh "e-npuis > /t/is/ets5pcae co ntsm-tl" > ecrnecno-.akgs #eh "e-np > /t/is/ets5pcae co ntsm" > ecrnecno-.akgs

Ya que la arquitectura ahora ser definia a travs del script 00local-post-install.sh ya no ser necesario ejecuta el script hook por lo que puede eliminarlo para que no interfiera con el archivo de plataforma para rpm.
#r -f/s/i/e-ol/ets5d1-eu-rh m r urlbxntoscno-./5stpac

Si usa rinse para crear maquina virtuales sobre Ubuntu Server y Xen 3.2 entonces tendr que modificar el hook que configura la terminal serial para el DomU ya que por default es hvc0 y en xen 3.2 se debe usar vc0, por lo que modifique el script hook 3 - i a e g 0d b -e por ejemplo para CentOS 5:
# i / /i/eb /e c -./0d a eg 5d3-i b -e

Y cambie la lnea:
# #D h e a f ai . # e - - '/\[-]* e a *)#1'- '/T# / - '/ d i e ^(26.: \/\/ e ^/\ ' e

1/v0'$ $hc/

ei / cii a f e / b

Por:
# #D h e a f ai . # e - - '/\[-]* e a *)#1'- '/T# / - '/ d i e ^(26.: \/\/ e ^/\ ' e

1/v0'$ $ c/

ei / cii a f e / b

Si va a instalar distribuciones Fedora entonces edite el script / aplique para cualquier versi n.

/i/eb

/e ac e6d3-ia eg fd -./0d b -e

para que

Opcionalmente tambin puede usar el parmetro - e i _ e i ede en-create-image para definir el nombre de la termina serial para a d c el DomU. Hay que modificar el script /
/ i / e - e e i a epara permitir usar xvcX como b c a - g

valor para el parmetro - e i _ e i e a d c.

Modifique el bloque que valida la entrada:


ei D = a e > ce hc = > /(:/e\)(: ^?\d /?? hc[-]$, )09+/ e ae= " g > b a ei d ie( * hc)\" e a e c , *. , ,

Cambielo por:
ei D = a e > ce hc = > /(:/e\)(: ^?\d /?? [hv)09+/ ]c[-]$, e ae= " g > b a ei d ie( * hc e a e c , * ,

c)\" *. ,

Para crear una maquina virtual para CentOS 5 i386 con en-create-image use el metodo de instalaci n rinse, por ejemplo
# e- e eiae-d =ets5-ac=36-h c a - g -i cno- - hi8 aef1eapecm\ =s. ml.o -i a -ehdrne-d = e- ae - ie4b- a=1M - e =is -i / i g =G 52b =5M -dc - a 26b -h d

El comando anterior crear una maquina virtual PV Linux usando archivos de imagen como medio de almacenamiento, crear los archivos: /xen-images/domains/fs1.example.com/swap.img /xen-images/domains/fs1.example.com/root.img Y adems crear el archivo de configuraci n / c e / e / f
ae e e ad i c e =' 1ea f . ='b / ='b / ='' 1 ='5' 26 ='d / d2 ' /e a =[f e/e- ae/ a / 1ea 'i : i g d i f . 'ie/e- ae/ a / 1ea f : i g d i f . ='h ' dc =['a=01:E4:2E'] c0:63:29:6 e f ='e f d ' ec ' . . f con el siguiente contenido: cg

/ i -..42-e' 262-8 / i dig262-8 e' i . -..42-

d i

ec / a. g d1 ' . i , a, , ec /i . g d2 ' . d i , a, ]

dc h i f _

_e b _ ah c

='e a ' ='e a '

Rinse por default utiliza los servidores espejo definidos en el archivo vim / c i e i e c f por ejemplo, el mirror para CentOS 5 e / / . , es:
[e c i i -] 5 =h . d4=h a 6 :/i / :/i / . ea . . /e b c c . ea . . /e b c c // /36C O/ 5 i8/e S // /8_4C O/ 5 66/e S

Consulte la lista de mirrors en el sitio de centos para localizar uno ms cercano.

C eando ma

ina

ale Xen HVM Windo

En esta seccin veremos como instalar una maquina virtual con Windows Server 2003 32bits, este sistema operativo solo puede ser instalado con sistemas con soporte HVM. Instalaremos la maquina virtual usando un archvo de imagen ISO. Crearemos una maquina virtual HVM para el OS Windows 2003 Enterprise Edition 32bits Se le asignarn 512MB de memoria Tendr un disco duro de 10GB Y se le asignar una intefaz de red virtual. Adems, para mejorar el rendimiento para acceso a dispositivos de bloque e interfaces de red instalaremos unos drivers PV para Windows, estos drivers son creados por miembros de desarrolladores de Xen y son liberados bajo la licencia GPL. Antes que nada crearemos el disco duro virtual para la instalacin de Windows, se recomienda que se instale sobre particiones nativas o volumenes logicos LVM, en este caso usaremos un volumen lgico LVM. Creamos el volumen lgico para el disco C de Windows:
# ce e- ae i23D0-icc- ie1GVX 0 a E01d 0 Ge 2

El nombre del dispositivo para el LVM ser: / e / G e 0 / i 2 3 D 0 - i c c d VX 2 E01d . Para el medio de instalacin use una imagen iso:
# e - /e/ d 7/e- ae/ i g i /i23 d- -2i. e 3b i 7 .

Cuando asigne el disco para el cdrom use el dispositivo / e / d

A continuacin se muestra un archivo de configuracin til para instalar maquinas virtuales HVM para Windows: Cree el archivo de configuracin para la maquina virtual:
# i / c e/i. a e / e ecg .f

Con el siguiente contenido:


ae e e bid e d ie d e c_ e c e a i c ai c d i ='i. a e ec ' . / h ae' d

=' / /i/e/ b b =' ' h = ' /

/i/e/i/e - ' b b d

='' 2 ='04 12' ='' 0 ='' 0 =[ 'h:d /Ge0/i23D0-iccha ' /e VX 2 E01d ,d, 'h:d / /e 7ie :d:d ,' , hcc ,

] vf i =[ 'yeieu tp=om' ] ='c d' ='' 0 ='' 1 ='' 0 ='...' 0000 ='246 135' ='' 0 ='' 1 ='alt tbe' ='eto' dsry ='etr' rsat ='etr' rsat

bo ot sl d vc n vciwr nvee vcitn nlse vcasd npsw vcosl ncnoe ub s ubeie sdvc o_oeof npwrf o_eot nrbo o_rs ncah

En esta configuraci n se define un dispositovo USB tipo tablet para asignar un puntero/mouse a la maquina HVM, se usa el tipo tablet ya que bajo algunas circunstancias el cursor se de sincroniza dentro de la HVM cuando se conecta por VNC. Se recomienda que una vez que haya instalado el sistema operativo en la HVM DomU desactive el uso de VNC y en su lugar active el servicio de escritorio remoto (RDP) en el sistema operativo guest. Inicie la maquina virtual con xm create, por ejemplo:
#x cet wneapecmcg m rae i.xml.o.f Uigcni fl "ecxnwneapecncg. sn ofg ie /t/e/i.xml.o.f" VC1 N= Satddmi wneapecm tre oan i.xml.o

Si activo el soporte VNC para la HVM DomU entonces Xen, a travs de qemu-dm crear una instanca de VNC para conectarse a la maquina virtual. A menos haya definido un puerto en especifico entonces la pridf -mer instanca HVM abrir el puerto 5900, puede verlo con el comando netstat, por ejemplo:
#nttt-lt esa pun ge qm-m rp eud tp c 0 0000050 ...:90 0000* ...: LSE ITN 62/eud 30qm-m

Use un cliente VNC para conectarse a la consola VNC de la HVM DomU para realizar el proceso de instalaci n, por ejemplo:
$vciwrlclot50 nvee oahs:90

Si crea ms maquinas virtuales HVM use la opci n v c n s d 1para que use el siguiente puerto disponible a partir del 5901, no te que nuue= cuando inicie la VM con xm create podr ver el puerto al que se asocio la consola VNC. Los drivers GPLPV permiten que Windows use los dispositivos de red y bloque en el Dom0, en lugar de los dispositivos PCI virtuales provistos por QEMU. Esto da a Windows un aumento de rendimiento substancial. Los drivers GPLPV requiere de por lo menos una versi n de Xen 3.2 o superior, estos drivers han sido probados en Windows XP, 2003x32, 2003x64, y 2008x32. Al parecer tambin funcionan en Windows 2008x64 y Vista. Algunos han reportado de que tambin funcioan en Windows 2000 con algunos trucos, sin embargo no se proveen los binarios para windows 2000. Para ms informaci n para instalar los drivers ParaVirtualized para Windows vaya a la pgina del wiki de Xen XenWindowsGplPv. El sitio para descargar los drivers GPLPV para Windows es: http://www.meadowcourt.org/downloads/. Hay un instalador por plataforma/arquitectura, nombrados como siguen: gplp _<chk/fre>_<platform>_<arch>_< ersion>.msi, cada opci n significa: chk is a 'checked' build which contains debug info (please use these if you want any assistance in fixing bugs) fre is a 'free' build which contains no debug info platform is 'wxp' for XP, 'wnet' for 2003, and 'wlh' for Vista/2008

arch is 'x86' for 32 bit and 'AMD64' for 64 bits Por ejemplo, para Windows Server 2003 32-bit descargue el driver: gplpv_2003 32_0.11.0.213.msi. Se recomienda que vaya a la pgina del wiki XenWindowsGplPv/Installing para ver las instrucciones de instalaci n. Basicamente descargue el instalador .msi en el Windows y ejecute el instalador, acepte la instalaci n de los drivers y reinicie el sistema para que detecte los nuevos dispositivos. Una vez que ha instalado los drivers en Windows asegurese de quitar la opci n ioemu de la definici n de interfaces de red, por ejemplo, si antes tena:
vf=[' p=om,big=eb0 mc0:63:e7:0 ] i t eieu rde nr, a=01:e5:65'

Ahora cambielo a:
vf=['rde eb0 mc0:63:e7:0 ] i big= nr, a=01:e5:65'

Verifique en el administrador de dispositivos que los drivers ya no aparecen como QEMU para validar la instalaci n de los drivers, adems la interfaz de red se convierte a 1Gbps.

Recursos adicionales
Si desea obtener ms informaci n sobre los programas y pginas de manual relacionadas se aconseja que acceda a los siguientes recursos adicionales.

Sitios web
En las paginas listadas a continuaci n encontrar mayor informaci n sobre los programas utilizados en este capitulo. http://www.xen.org - Sitio oficial Xen http://wiki.xensource.com/xenwiki/XenArchitecture?action=AttachFile&do=get&target=Xen+Architecture_Q1+2008.pdf - Xen Architecture Overview (February 2008) http://wiki.xensource.com/xenwiki/XenKernelFeatures - Xen Kernel Features http://tx.downloads.xensource.com/downloads/docs/user/ - Xen 3.0 Users' Manual http://wiki.xensource.com - Xen.org Community Wiki http://wiki.xensource.com/xenwiki/XenCommonProblems - Xen Wiki - Common Problems http://wiki.xensource.com/xenwiki/XenUsersQuestions - Xen Users Mailing List Commonly Asked Questions http://wiki.xensource.com/xenwiki/PyGrub- PyGrub http://wiki.debian.org/PyGrub - Using pygrub to boot a domU kernel http://wiki.xensource.com/xenwiki/VirtualFramebuffer - Xen Virtual Framebuffer http://wiki.xensource.com/xenwiki/Books - Xen Books http://www.xen.org/community/xenpapers.html - Xen.org Research Papers http://wiki.debian.org/Debootstrap - Debootstrap http://www.debian-administration.org/articles/426 - Installing new Debian systems with debootstrap http://xen-tools.noone.org/software/xen-tools - Xen Tools http://xen-tools.noone.org/software/rinse - Rinse http://blog.xen.org - Xen Community Blog

P ginas de manual

Para conocer ms sobre el uso y configuraci n de los programas utilizados en el capitulo, se recomienda leer los manuales relacionados. uuidgen (1) - command-line utility to create a new UUID value xmdomain.cfg (5) - xm domain config file format lspci (8) - list all PCI devices lsusb (8) - list USB devices debootstrap (8) - Bootstrap a basic Debian system xen-create-image (8) - Easily create new Xen instances with networking and OpenSSH. rinse (8) - RPM Installation Entity. xm (1) - Xen management user interface dd (1) - convert and copy a file mkfs.ext3 (8) - create an ext2/ext3/ext4 filesystem mke2fs (8) - create an ext2/ext3/ext4 filesystem mkswap (8) - set up a Linux swap area mount (8) - mount a filesystem umount (8) - unmount file systems losetup (8) - set up and control loop devices chroot (8) - run command or interactive shell with special root directory fstab (5) - static information about the filesystems interfaces (5) - network interface configuration for ifup and ifdown resolver (5) - resolver configuration file

Captulo 5. Administraci n de maquinas y recursos virtuales en Xen


Tabla de con enido Controlando el estado de las maquinas virtuales Xen Usando la herramienta xm para controlar maquinas virtuales Xen Arranque y apagado automtico de maquinas virtuales Xen Administraci n de recursos virtuales en Xen Introducci n a la administraci n de recursos de maquinas virtuales Xen Asignaci n de memoria a las maquinas virtuales Xen Asignaci n de CPUs virtuales a las maquinas virtuales Xen Asignaci n de dispositivos de bloque para maquinas virtuales Xen Listando los dispositivos de bloque asignados a una maquina virtual Xen Asignando un archivo de imagen como disco duro a una maquina virtual PV Linux Asignando un disco duro o partici n fsica a una maquina virtual Asignando un volumen l gico LVM a una maquina virtual PV Linux Asignando un volumen l gico LVM a una maquina virtual HVM Windows Desconectando un dispositivo de bloque virtual de una maquina virtual Administraci n de interfaces de red para maquinas virtuales Xen Respaldo y clonaci n de maquinas virtuales Xen Como respaldar maquinas virtuales basada en archivos

Verificaciones previas del hardware de la maquina virtual Apagar la maquina virtual DomU Crear respaldo de datos del archivo de imagen Crear la maquina virtual Como restaurar maquinas virtuales basada en archivos Como respaldar maquinas virtuales basada en LVM Verificaciones previas del hardware de la maquina virtual Apagar la maquina virtual Crear snapshot del vol men lgico del disco raz Crear la maquina virtual Crear respaldo de datos del snapshot Eliminar el snapshot Como restaurar maquinas virtuales basada en LVM Como clonar una maquina virtual basada en LVM Como convertir una maquina virtual de archivos a LVM En esta seccin veremos la administracin de maquinas virtuales, tareas tales como: Iniciar, apagar y reiniciar maquinas virtuales Pausar y des pausar maquinas virtuales Guardar y restaurar el estado de una maquina virtual Controlar de forma esttica y dinmica la asignacin de recursos de las maquinas virtuales Respaldar, restaurar y clonar maquinas virtuales. Todas las funciones se realizarn editando archivos de configuracin de domU y usando la linea de comandos.

Controlando el estado de las maquinas virtuales Xen


Xen incorpora la herramienta m para la administracin de maquinas virtuales (domU), xm se comunica con el demonio xend para el control de maquinas virtuales.

Usando la herramienta m para controlar maquinas virtuales Xen


El comando /usr/sbin/ m es instalado por el paquete en-utils y esta configurado para que solo root pueda ejecutarlo y realizar las tareas de administracin, a continuacin se listan las tareas de administracin principales: Usaremos la opcin l para ver el estado de las maquinas virtuales en ejecucin: i
# ml i Nm ae Dmioan0 dm-ieal o f l dm-al o mi dm-e o b dm- mi23 o h nk I D MmVP e CU 0 19 86 8 1 52 1 1 2 52 1 1 3 12 04 1 5 24 08 2 Sae Tm() ie --- 2739 -69. --b-- 31. 299 --b-- 37. 568 --b-- 46. 281 --- 1327 b-- 35.

Las tareas que realizaremos de aqu en adelante sern en especifico para una VM, puede hacer referencia a una VM a travs del nombre (columna Name) o por el identificador (columna ID). Use la opcin p i epara ver el tiempo de ejecucin (uptime) de una VM: m
# m piedm-ieal m o f l Nm ae bn -ieal f l I U ie D p m 116d ,2:61 3 a 24:2

Use el comando shutdown para apagar una maquina virtual, por ejemplo:
# m h d ndm- mi23 o o h nk

No a La opcin shutdown causa un apagado en limpio de la VM, ejem en Linux usa un shutdown -h now. Use la opcin p epara detener el la ejecucin de una VM, cuando pausa una VM los recursos asignados siguen en uso, simplemente no a se estn usando.
# mp edm-e a o b

Use la opcin l para ver el estado de la VM: i


# ml i dm-e o b Nm ae dm-e o b I D MmVP e CU 3 12 04 1 Sae - -- Tm() ie 46. 283

Para re anudar la ejecucin de una VM en estado pausado use la opcin n a e por ejemplo: p ,
# m na edm-e p o b

Tambin puede guardar el estado de una maquina virtual, es decir, el estado de la memoria, el estado de la maquina virtual se guardar en un archivo, por ejemplo:
# m ae bn 01/a/i/e/ae bn 01 ae 0 lb n / 0.

No a El tamao del archivo de estado ser igual al tamao de memoria asignada a la maquina virtual por lo que considere el espacio necesario. Cuando el estado de la maquina virtual sea guardado la maquina dejar de estar en ejecucin y la memoria ser liberada para otras maquinas virtuales. Guardar el estado de una maquina virtual sera el equivalente a hibernar una computadora en ejecucin. Para restaurar el estado de la maquina virtual use xm restore, por ejemplo:
#m e oe/a/i/e/ae bn 01 ae lb n / 0.

Las conexiones de red pueden ser restauradas cuando la maquina virtual sea restablecida siempre y cuando las sesiones TCP no hayan expirado. Para ms informacin vea la pagina del manual m(1).

Arranque y apagado autom tico de maquinas virtuales Xen


Si desea que una maquina virtual en especifico sea iniciada automticamente al inicio del sistema cree un enlace simblico del archivo de configuracin de la DomU en el directorio /etc/xen/auto, por ejemplo, si desea iniciar automticamente la maquina de nombre ubuntu001 use:
#l - / c e/bn 01cg/ c e/ o n e / n 0.f e / na /

No a Si desea arrancar las maquinas virtuales en un orden en especifico, se recomienda que agregue un sufijo n merico al nombre del enlace simblico en /etc/xen/auto, por ejemplo: 00fwproxy, 01ns1, 02ldap1, etc. El script de control de ejecucin / c i i . / e d m i iniciar toda maquina virtual que tenga un archivo de configuracin en e /n d noan /etc/xen/auto, si desea desactivar la ejecucin automtica solo borre el enlace simblico. El script de / c i i . / e d m i guardar el estado de las maquinas virtuales cuando el host Xen sea apagado o re iniciado. e /n d noan Si en lugar de guardar el estado ( m a e) de las maquinas virtuales al apagar el servidor Xen desea apagarlas va m h do n, edite el archivo de configuracin / c d f l / e d m i para controlar la ejecucin del script / c i i . / e d m i : e /ea noan e /n d noan
# i / cdf l/edmi m e /ea noan

Deje vacio el valor de la variable XENDOMAINS_SAVE, por ejemplo:


# Tp: # e ig n # Df l:/a/i/e/ae # ea lb n # #D e o i c o ae nigdmi nn oan o hn h e e e (o0 i m dm) # h d n Wl a ob o . il l e e o e oedmi fo i #XNOAN_ETR d oan m f EDMISRSOE #i e (e bl ) Laeep e eo . e m od al dmi aigo h d n i be oan n n o #(..bc e o ah eg ea e h dmi d n. oan o ) #I dmi aigde f oan n o ced SUDW iln b ee e. ce, HTON l o e c d # XNOAN_AE EDMISSV=

Y cambie el valor de X N O A N _ E T R a falso, por ejemplo: EDMISRSOE


# Tp:boen # e ola # Df l: # ea e # #Ti aibed emn h al e ie h h e e ae dmi fo XNOAN_AE d oan m EDMISSV # ilb e oe o l e d n e m a p . # XNOAN_ETR=a e EDMISRSOEfl

Con este ltimo parmetro, al encender el servidor Xen, las maquinas sern iniciadas de forma normal siempre y cuando haya un enlace simblico en / c e / ohacia el archivo de configuracin original e / na

Administraci n de recursos virtuales en Xen


En este seccin veremos diferentes formas de administrar los recursos de maquinas virtuales, por ejemplo: Administracin de CPUs fsicos y virtuales para las maquinas virtuales Xen Administracin de memoria para maquinas virtuales Administracin de dispositivos de almacenamiento de diferentes tipos Administracin de dispositivos de red Los recursos los administraremos de forma esttica mediante los archivos de configuracin y algunos otros de forma dinmica con el comando m.

Introducci n a la administraci n de recursos de maquinas virtuales Xen


Xen provee las capacidades para el control dinmico de los recursos de las maquinas virtuales, entre los recursos que podremos controlar son: Memoria Esttica en archivo de configuracin o dinmica con xm CPU Esttica en archivo de config o dinmica con xm Discos duros Esttica en archivo de config o dinmica con xm Red Esttica en archivo de config o dinmica con xm

Asignaci n de memoria a las maquinas virtuales Xen


La asignacin de la memoria para las VMs se puede hacer por medio de dos directivas: m my m - e , a continuacin se explican dichas e a mm opciones: mem

Cantidad de memoria inicial en MB asignada a la VM cuando inicia ma -mem Cantidad mxima de memoria que la VM esta permitida a usar Por ejemplo, podramos configurar la maquina virtual con las siguientes opciones en el archivo de configuraci n:
mmr =52 eoy 1

Puede cambiar la memoria de una maquina con el comando xm mem-set, por ejemplo: Vemos la memoria actual de la DomU:
#x ls uut03 m it bnu0 Nm ae uut03 bnu0 I D 2 MmVPs e CU 18 2 1 Sae tt --b-Tm() ies 102 3.

Para asignar la memoria mxima de un Domu usamos:


#x mmmxuut0326 m e-a bnu0 5

Ahora puede configurar la memoria reservada para la DomU:


#x mmstuut0326 m e-e bnu0 5

Ahora verificamos que la memoria se asigno:


#x ls uut03 m it bnu0 Nm ae uut03 bnu0 I D 7 MmVPs e CU 26 5 1 Sae tt --b-Tm() ies 46 .

Note que la memoria no ser automticamente asignada a las maquinas virtuales que estn en ejecuci n. El uso de memoria del Domain-0 se puede controlar a travs del parmetro d m _ e al cargar el hypervisor Xen con grub, el valor se o0mm define en MegaBytes. Si desea controlar el uso de memoria para el Domain0 agregue el parmetro dom0_mem a la lneaque carga el hypervisor xen en grub, por ejemplo:
#vm/otgu/eult i bo/rbmn.s

Para limitar el uso de memoria para el Domain0 a 1024MB cambie la lnea k r e de: enl
kre enl /e-...z xn343g

Por:
kre enl /e-...zdm_e=04 xn343g 0mm12M

Es necesario reiniciar el servidor para que el cambio tome efecto, al reiniciar use xm list
#x ls 0 m it Nm ae Dmioan0 I D 0 MmVPs e CU 12 04 1 Sae tt r---Tm() ies 479 7.

Ahora si puede usar xm info para ver el uso de memoria RAM disponible en el sistema, por ejemplo:
#x if m no ge - 'oa_eoyfe_eoy rp E ttlmmr remmr' ttlmmr oa_eoy :49 05 fe_eoy remmr :25 9

La memoria asignada tambin se reflejar en la salida del comando free en el Domain-0.

Asignaci n de CPUs virtuales a las maquinas virtuales Xen


Las maquinas virtuales Xen son iniciadas con un CPU virtual (vcpu) por default, puede ver los vcpu de un DomU, usando:
#x vp-ituut01 m culs bnu0 Nm ae uut01 bnu0 I VP D CU 1 0 CUSae P tt 1 -b Tm()CUAfnt ies P fiiy 182aycu 5. n p

En este caso nos muestra que el VCPU 0 corre en el CPU fsico 0, por default Xen balancear los vcpus en todos los cpus fsicos. Para asignar 2 vcpus a un DomU use:
# m c -e p bn 012 0

Puede verificarlo con: Tenemos una maquina virtual que se inicio con la siguientes opciones:
c p ='' 2

Al iniciarla ver esta informaci n:


# m c -i p l Nm ae bn 03 0 bn 03 0 bn 03 0 I VP D CU 1 6 0 1 6 1 CUSae P 0 -b 0 -b Tm()CUAfn ie P fii 06a c . n p 10a c . n p

Recuerde que los vcpus son balanceados en los dos cpus fsico, vuelva a ejecutar xm vcpu-list y lo ver:
# m c -i p l Nm ae bn 03 0 bn 03 0 bn 03 0 I VP D CU 1 6 0 1 6 1 CUSae P 1 -b 1 -b Tm()CUAfn ie P fii 24a c . n p 22a c . n p

Si desea amarrar un CPU virtual en un CPU fsico use xm vcpu-pin, por ejemplo amarraremos el vcpu 1 al CPU fsico 1:
# m c -i bn 0311 p pn 0

Y lo verificamos con:
# m c -i p l Nm ae bn 03 0 bn 03 0 bn 03 0 I VP D CU 1 6 0 1 6 1 CUSae P 0 -b 1 -Tm()CUAfn ie P fii 33a c . n p 311 .

Si desea asignar un solo vcpu a un DomU, por ejemplo queremos quitar un vcpu de un DomU que arranco con dos, usamos:
# m c -e p bn 031 0

Lo confirmamos con:
# m c -i p l Nm ae bn 03 0 bn 03 0 bn 03 0 I VP D CU 1 6 0 1 6 1 CUSae P 0 -b - -p Tm()CUAfn ie P fii 430 . 401 .

El uso de CPUs fisicos y virtuales del Domain-0 se puede controlar a travs de la configuraci n del demonio xend y de los parmetros dm_a_c o0m p y d m _ c _ i cargar el hypervisor Xen con grub. o0 p pn Para controlar el uso de CPUs fisicos para el Domain-0 cambie el parmetro (dom0-cpus) en el archivo de configuraci n /etc/xen/xendconfig.sxp, por ejemplo:
# i / c e/edcni. p m e / n n-ofg

Si desea lmitar el uso de CPUs fsicos a 1 cambie dom0-cpus a 1, por ejemplo:


#I SP n M e,dm il edm-p #o CU m o0 l o0c f PS #I dm-p =0 dm il aealc f o0c , o0 l k l p aalbe ial (o0c s1 dm-p )

No a El valor predeterminado es 0, el cual indifca que no hay lmite de CPUs fsicos para el Domain-0. Si desea controlar el uso mximo de vCPUs para el Domain-0 agregue el parmetro d m _ a _ c a la lneaque carga el hypervisor xen o0m p

en grub, por ejemplo:


#vm/otgu/eult i bo/rbmn.s

Para limitar el uso de vCPUs para el Domain-0 a 1 cambie la lnea k r e de: enl
kre enl /e-...z xn343g

Por:
kre enl /e-...zdm_a_cu= xn343g o0m vps1

Es necesario reiniciar el servidor para que el cambio tome efecto, al reiniciar use m vcpu-list para validar el uso de CPUs del Domain-0, por ejemplo:
#x vp-it0 m culs Nm ae Dmioan0 I VP D CU 0 0 CUSae P tt 0 rTm()CUAfnt ies P fiiy 4070 8.

Adicionalmente puede usar el parmetro d m _ c u _ i para amarrar el VCPU al primer CPU fisico. o0vpspn

Asignaci n de dispositivos de bloque para maquinas virtuales Xen


Para asignar discos duros podremos hacerlo de forma esttica y dinmica, solo las maquinas PV podrn hacer uso de la conexi n dinmica de discos duros virtuales. Los comandos que usaremos para administrar los dispositivos de almacenamiento son: m block-list Lista los dispositivos de bloque virtuales para un dominio, el formato es:
#x bokls [l-ln]dmi-d m lc-it - -og oani

m block-attach Crea un nuevo dispositivo de bloque virtual, este comando generar un evento hotplug en el dominio, el formato es:
#x bokatc dmi-db-e f-e md [eoani] m lc-tah oani edv edv oe bdmi-d

m block-detach Desconecta un dispositivo de bloque virtual del domU, si el disco duro esta ocupado o el domU se quedo colgado la desconexi n del disco fallar, puede forzar la desconexi n con .- f r e lo cual podr causar errores de I/O en el dominio, el formato de uso es: -oc,
#x bokdtc dmi-ddvd m lc-eah oani ei

Ahora si listamos los dispositivos de bloque que el DomU tiene en uso: En el DomU verifique con fdisk -l que ya no aparece el disco. Listando los dispositivos de bloque asignados a una maquina virtual Xen Para listar los dispositivos de bloque asignados a un DomU use el comando xm block-list, por ejemplo:
#x bokls uut03 m lc-it bnu0 Ve B hnl saeetc rn-e B-ah dv E ade tt v-h igrf Ept 573 11 0 0 4 6 8 /oa/oan0bcedvd2573 lcldmi//akn/b//11 574 11 0 0 4 7 9 /oa/oan0bcedvd2574 lcldmi//akn/b//11

Asignando un archivo de imagen como disco duro a una maquina virtual PV Linux Para asignar un disco duro basado en imgenes de forma esttica use:
ds ik =[ 'a:i:xnuut03xd.m,vdw, tpao/e/bnu0-vdigxd,' ]

Cuando el DomU sea iniciado reconocer el disco duro /dev/xvdd y tendr acceso de escritura. Para agregar el disco de forma dinmica mientras el DomU esta corriendo use:
#x bokatc uut03tpao/e/bnu0-vdig/e/vdw m lc-tah bnu0 a:i:xnuut03xd.m dvxd

Este disco duro podr ser usado como cualquier disco duro, es decir, podr crear particiones, crear sistemas de archivos, etc. Asignando un disco duro o partici n fsica a una maquina virtual Para asignar un disco duro o partici n fsica de forma esttica a un DomU PV/HVM use:
ds ik =[ 'h:dvsa,va,' py/e/d9xd9w, ]

Cuando el DomU sea iniciado reconocer este disco como / e / v a y tendr acceso de escritura. dvxd9 SI desea asignar el volumen l gico de forma dinmica, es decir, mientras el DomU esta en ejecuci n use:
#x bokatc uut03py/e/d9/e/va w m lc-tah bnu0 h:dvsa dvxd9

El comando anterior generar una llamada de hotplug en el DomU para agregar el disco duro en caliente. Asignando un volumen l gico LVM a una maquina virtual PV Linux Para asignar un volumen l gico LVM de forma esttica a un DomU use:
ds ik =[ 'h:dvVXn1uut01vrxd,' py/e/Ge0/bnu0-a,vcw, ]

Cuando el DomU sea iniciado reconocer este disco como / e / v cy tendr acceso de escritura. dvxd SI desea asignar el volumen l gico de forma dinmica, es decir, mientras el DomU esta en ejecuci n use:
#x bokatc uut03py/e/Ge0/bnu0-a /e/vcw m lc-tah bnu0 h:dvVXn1uut01vr dvxd

El comando anterior generar una llamada de hotplug en el DomU para agregar el disco duro en caliente. Asignando un volumen l gico LVM a una maquina virtual HVM Windows Creamos el Volumen:
ro@hc #lcet - 200- dm-vwnk-icdVXn1 otxi: vrae L 00 n ouhmi23dso Ge0 Lgclvlm "ouhmi23dso"cetd oia oue dm-vwnk-icd rae

Ahora lo agregamos a la configuraci n de la maquina virtual, por ejemplo la maquina / t / e / i n c gtiene esta configuraci n: ecxnzo.f
ds =[ ik 'h:dvVXn1dm-vwnk-icchaw, py/e/Ge0/ouhmi23dso,d,' 'h:dvVXn1dm-vwnk-icdhbw py/e/Ge0/ouhmi23dso,d,' ]

Ahora, deber de apagar la maquina a la cual le agregaremos el disco para que inicie con el nuevo disco duro y el sistema lo detecte y lo configure. Impor an e Si esta usando los driver Paravirtualizados se recomienda que arranque Windows con el Kernel Normal. Cuando inicie la maquina, vaya al Administrador de Dispositivos y ver un nuevo disco QEMU como se muestra en la imagen de abajo.

El disco fue detectado correctamente y esta listo para ser inicializado. Vaya al administrador de discos en Con ol Panel=> Admini a i e Tool => Comp e Managemen , despus se va a la rama de S o age=>Di k Managemen , el sistema automticamente detectar un nuevo disco y lanzar el asistente de inicializaci n de discos, por ahora cancele lo y veamos como se ve el disco:

Ahora inicializaremos el disco, de clic derecho sobre Di c 1 y seleccionamos la opci n , como se muestra en la siguiente imagen:

Le solicitar seleccionar el disco a inicializar como se muestra en la siguiente imagen:

El disco aparecer como inicializado pero sin ser asignado a alguna partici n, de hecho el disco no esta formateado, por lo que formatear la partici n ser el siguiente paso. De clic sobre el espacio no asignado y de clic en Ne Partition como se ve en la siguiente imagen:

Ahora se lanzar el asistente para crear la nueva partici n, seguiremos el asistente de acuerdo a como se muestra en la siguiente imagen, dar click en Ne t > para iniciar.

Ahora nos pregunta el tipo de partici n que se crear en el nuevo disco, seleccionamos el tipo Primar partition.

En este paso nos pregunta el tamao que se asignar a la nueva partici n, en este caso dejaremos el tamao predeterminado para que cree una partici n de todo el tamao.

Ahora debemos de asignar una letra de unidad a la nueva partici n, usaremos la letra de unidad D.

El siguiente paso es seleccionar las opciones de formato y etiqueta que se usaran para crear la nueva partici n, dejemos el sistema de archivos: NTFS, el Allocation unit size: Defa l , y en la etiqueta asignemos un nombre descriptivo para este disco, en nuestro caso usaremos la etiqueta da o .

Ahora de clic en Ne t > para ver el resumen de las opciones que se usarn para crear la nueva partici n, si desea cambiar algo vaya para atrs de lo contrario haga clic en Finish.

Despus de dar clic en el bot n Finish el sistema iniciar a formatear la partici n, podemos verlo en la siguiente imagen:

Al terminar de formatear el disco se ver as:

Y listo, ahora podr ir a M Computer y ver el nuevo disco D con la etiqueta datos, vea tambin el tama o.

Si en este sistema esta usando driver Paravirtualizados y reiniciar el sistema con la opci n /GPLPV su sistema no reconocer el nuevo disco, es necesario que re instale los driver para virtualizados y re inicie el sistema con la opci n /GPLPV, despus ver el nuevo disco, por ejemplo:

De c

ec a d

di

ii

de b

e i

a de

i a i

Para desconectar un dispositivo de bloque de una maquina DomU en ejecuci n primero identifique el ID del dispositivo de bloque usando xm block-list, por ejemplo:
# mbokls uut03 lc-it bnu0 Ve B hnl saeetc rn-e B-ah dv E ade tt v-h igrf Ept (.) .. 570 16 0 0 4 1 0 80 /oa/oan0bced a//16 3 lcldmi//akn/ p2570

Desconectaremos el disco con ID 1

0 que es un disco tipo tap:aio.

# mbokdtc uut03570 lc-eah bnu0 16

Puede verificar que el disco fue desconectado vuelva a usar xm block-list.

Administraci n de interfaces de red para maquinas virtuales Xen


Para asignar una interfaz de red virtual a un Domu de forma esttica puede usar la configuracin:
vf i =['a=01:E5:C5'] mc0:63:A0:6

La configuracin anterior por default asignar una interfaz de red amarrada a el bridge eth0, y en la maquina virtual tendr eth0, puede especificar el bridge al que esta amarrada la maquina virtual, por ejemplo:
vf= i ['a=01:e1:28,big=rde'] mc0:63:26:9 rdebig1

Tambin puede asignar m ltiples interfaces de red a un domU, usando:


vf i =[ 'a=01:EA:1F,big=t0, mc0:63:07:E rdeeh' 'a=01:e0:2d,big=t1 mc0:63:f7:9 rdeeh' ]

En la configuracin anterior, el DomU tendr asignadas dos interfaces de red, eth0 amarrada al bridge eth1 y eth1 amarrada al bridge eth1. Para administrar las interfaces de red use los comandos: m net ork-list Lista las interfaces virtuales de red para una maquina virtual, la sintaxis del comando sera:
#x ntokls [l-ln] dmi-d m ewr-it - -og> oani

m net ork-attach Agrega una interfaz de red virtual a un domU, la sintaxis es:

#x ntokatc dmi-d[citsrpnm][piad][a=aad][rdebig-ae [akn=e m ewr-tah oani srp=citae i=pdr mcmcdr big=rdenm] bcedb

m net ork-detach Remueve una interfaz de red virtual de un DomU, la sintaxis es:
#x ntokdtc dmi-ddvd m ewr-eah oani ei

Para listar las interfaces de red virtuales de un DomU use:


#x ntokls uut03 m ewr-it bnu0 IxB d E MCAd. A dr hnl saeetc t-r-igrfB-ah ade tt v-h x/xrn-e Ept 0 0 0:63:25:7 01:e2:3b 0 4 8 79 /6 6 78 /oa/oan0bcedvf20 lcldmi//akn/i//

La ruta /local/domain/0/backend/ if/2/0 indica el Device ID, para prximas referencias usaremos: solo el ltimo n mero. Como vemos solo tiene una interfaz de red. Para agregar una nueva interfaz de red use xm network-attach:
#x ntokatc [o I][citnmr_e_cit [pdri][a=i_a] m ewr tah Dm D srp=obedlsrp] i=i_p mcdrmc [rdenmr_e_rde [akn=eoand big=obedlbig] bcedbdmii]

Por ejemplo, agregamos una nueva interfaz de red virtual en el mismo bridge/switch.
#x ntokatc uut03big=t1mc0:63:b0:3 m ewr-tah bnu0 rdeeh a=01:e0:d8

Nota Use el script macgen.py para asignar un MAC Address fijo Haga un listade de las interfaces de la VM para verificar que la interfaz fue agregada.
#x ntokls uut03 m ewr-it bnu0 IxB d E MCAd. A dr hnl saeetc t-r-igrfB-ah ade tt v-h x/xrn-e Ept 0 0 0:63:A0:6 01:E5:C5 0 4 7 78 /6 6 79 /oa/oan0bcedvf10 lcldmi//akn/i//

0 0:63:b0:3 01:e0:d8

18 /21 20 18

/oa/oan0bcedvf11 lcldmi//akn/i//

Vea que ya tiene dos interfaces de red. En la maquina DomU vea que hay una interfaz adicional (desactivada):
[otuut03 ] icni ro@bnu0 # fofg a eh t0 Ln ecpEhre Had 0:63:60:0 ik na:tent Wdr 01:E0:34 ie ad:9.6..3 Bat1218125 Ms:5.5.5. nt dr1218119 cs:9.6..5 ak2525250 ie6ad:f8:263f:e6306 SoeLn nt dr e0:1:eff0:4/4 cp:ik U BODATRNIGMLIAT MU10 Mti: P RACS UNN UTCS T:50 erc1 R pces21err: dopd0oern: fae0 X akt:4 ros0 rpe: vrus0 rm: T pces14err: dopd0oern: crir0 X akt:6 ros0 rpe: vrus0 are: cliin: tqeee:00 olsos0 xuuln10 R bts533(01KB T bts175(92KB X ye:19 5. i) X ye:94 1. i) eh t1 Ln ecpEhre Had 0:63:b0:3 ik na:tent Wdr 01:e0:d8 BODATMLIAT MU10 Mti: RACS UTCS T:50 erc1 R pces0err: dopd0oern: fae0 X akt: ros0 rpe: vrus0 rm: T pces0err: dopd0oern: crir0 X akt: ros0 rpe: vrus0 are: cliin: tqeee:00 olsos0 xuuln10 R bts0(. b T bts0(. b X ye: 00 ) X ye: 00 )

Use las herramientas de configuracin de sus sistema para configurar la nueva interfaz de red.
$mnicni a fofg $mni a p $mnrue a ot

Debian: /etc/network/interfaces RHEL/CentOS: /etc/sysconfig/network-scripts/ifcfg-ethX Removiendo una interfaz de red virtual: Para nuestro ejemplo el DomU tiene dos VIF:
#x ntokls uut03 m ewr-it bnu0 IxB d E MCAd. A dr hnl saeetc t-r-igrfB-ah ade tt v-h x/xrn-e Ept 0 0 0:63:A0:6 01:E5:C5 0 4 7 78 /6 6 79 /oa/oan0bcedvf10 lcldmi//akn/i// 1 0 0:63:b0:3 01:e0:d8 1 4 8 18 /21 20 18 /oa/oan0bcedvf11 lcldmi//akn/i//

Eliminaremos la VIF 1:
#x ntokdtc uut031 m ewr-eah bnu0

Verifique que ya no la tiene tanto con xm network-list en el Domain0 y con ifconfig -a desde el DomU.

Respaldo y clonaci n de maquinas virtuales Xen


En esta seccin veremos diferentes procedimientos para respaldar y clonar maquinas virtuales usando diferentes medios de almacenamiento, nos enfocaremos en VBD basados en archivos y en vol menes lgicos LVM.

Como respaldar maquinas virtuales basada en archivos


En esta seccin veremos el procedimiento para respaldar una maquina virtual con discos duros virtuales basada en archivos de imagen, el respaldo de los datos lo haremos realizando copias completas de los archivos o copiando su contenido. En este ejercicio respaldaremos la maquina virtual fs2.e ample.com, las operaciones que realizaremos son: Verificaciones previas del hardware de la maquina virtual. Apagar la maquina virtual. Crear respaldo del archivo de imagen. Crear la maquina virtual. En las siguientes secciones veremos los procedimientos uno por uno. Verificaciones previas del hardware de la maquina virtual

Para agilizar el procedimiento del respaldo es aconsejable realizar las siguientes operaciones: Verificar cuales son los archivos de imagen asignados a la maquina virtual. Verificar que hay espacio disponible en medio de respaldo. Primero debemos de identificar el o los volumens l gicos asignado a la maquina virtual, en el archivo de configuraci n / t / e / s . x m l . o . f veamos la directiva d s : ecxnf3eapecmcg ik
ds ik =[ 'a:i:xnsoae0iae/s.xml.o/ikigxd1w, tpao/e/trg//mgsf2eapecmds.m,va,' 'a:i:xnsoae0iae/s.xml.o/wpigxd2w, tpao/e/trg//mgsf2eapecmsa.m,va,' ]

La informaci n referente a los discos que nos es relevante es: Archivo de imagen para la raz: / en/storage/0/images/fs2.e ample.com/disk.img Archivo de imagen para el swap; / en/storage/0/images/fs2.e ample.com/s ap.img Nota El archivo de imagen para el disco swap no lo respaldaremos ya que no contiene datos. Verifique que tiene espacio suficiente para respaldar el archivo en el medio de respaldo. A aga a a i a i a D U

Ahora que confirmamos que hay espacio suficiente para respaldar el archivo, apagaremos la maquina virtual fs2.example.com:
#x sudw f2eal.o m hton s.xpecm

Esperar unos segundos y verificar que ya no este corriendo:


#x ls m it ge f2 rp s

Ahora si puede respaldar de forma segura el archivo de imagen. C ea e a d de da de a chi de i age

Usaremos dos mtodos diferentes para respaldar los datos contenidos en el archivo de imagen, el primer es copiando el archivo de imagen completo el comando cp, la imagen la guardaremos en el directorio / n / a k p v s : mtbcu/m/
#c /e/trg//mgsf2eapecmds.m /n/akpvsf2eapecmds-dt +d%-Y.m p xnsoae0iae/s.xml.o/ikig mtbcu/m/s.xml.o-ik`ae %-m%`ig

La copia creada es una copia exacta del archivo original en el momento en que se apago la maquina virtual, en caso de desastre simplemente restaure el archivo. El segundo mtodo es montanto el archivo de imagen en un directorio temporal y respaldar su contenido con tar, primero creamos el directorio temporal:
#mdr- /n/m/m/s.xml.o-ik ki p mttpvsf2eapecmds

Montamos el Snapshot:
#mut/e/trg//mgsf2eapecmds.m /n/m/m/s.xml.o-ik on xnsoae0iae/s.xml.o/ikig mttpvsf2eapecmds

Ahora respaldamos los datos del directorio / n / m / m / s . x m l . o - i kusando el comando tar: mttpvsf2eapecmds
#tr-cf/n/akpvsf2eapecmds-dt +d%-Y.a.z /n/m/m/s.xml.o-ik a jv mtbcu/m/s.xml.o-ik`ae %-m%`trb2 mttpvsf2eapecmds

En caso de desastre y tenga que restaurar el disco, monte el archivo original en un punto de montaje temporal, elimine su contenido y extraiga el contenido del archivo tar. C ea a a i a i a

Ahora que hemos creado el snapshot es seguro iniciar/crear la maquina virtual usando el comando m:
# mcet f2eapecmcg rae s. ml.o.f

Despus de unos segundos verifique que la maquina este corriendo:


# mls f2eapecm it s. ml.o Nm ae f2eapecm s. ml.o I D 6 MmVPs e CU 52 1 1 Sae tt --b-Tm() ies 02 .

C C

e a e

a a

i a i a

i i

a e ba ada e a chi a e ba ada e LVM

a da

En esta seccin veremos el procedimiento para respaldar una maquina virtual con discos duros virtuales basada en vol menes lgicos LVM, el respaldo de los datos lo haremos usando snapshots LVM para reducir el tiempo que permanece abajo la maquina virtual ya que es ms rpido que copiar un archivo de imagen completo. En este ejercicio respaldaremos la maquina virtual fs3.e ample.com, las operaciones que realizaremos son: Verificaciones previas del hardware de la maquina virtual. Apagar la maquina virtual. Crear snapshot del vol men lgico del disco raz. Crear la maquina virtual. Crear respaldo de datos del snapshot. Eliminar el snapshot. En las siguientes secciones veremos los procedimientos uno por uno. Ve ificaci e e ia de ha d a e de a a i a i a

Para agilizar el procedimiento del respaldo es aconsejable realizar las siguientes operaciones: Verificar cuales son los vol mens lgicos asignados a la maquina virtual. Verificar el espacio disponible del Volume Group para crear el snapshot. Verificar que hay espacio disponible en medio de respaldo. Primero debemos de identificar el o los volumens lgicos asignado a la maquina virtual, en el archivo de configuracin / t / e / s . a p e c m c gveamos la directiva d s : ec nf3e ml.o.f ik
ds ik =[ 'h:d /Ge0/s. apecmds, d2 ' p /e VXn2f3e ml.o-ik a, , 'h:d /Ge0/s. apecmsa, d1 ' p /e VXn2f3e ml.o- p a, , ]

La informacin referente a los discos que nos es relevante es: Nombre del Volume Group: /de /VGXen02 Vol men Lgico para la raz: /de /VGXen02/fs3.e ample.com-disk Vol men Lgico para datos: /de /VGXen02/fs3.e ample.com-s ap Nota El vol men lgico para el disco swap no lo respaldaremos ya que no contiene datos. Usando el comando l displa veamos la informacin del vol men lgico para el disco raz:

#ldsly/e/Ge0/s.xml.o-ik vipa dvVXn2f3eapecmds --Lgclvlm -- oia oue L Nm V ae /e/Ge0/s.xml.o-ik dvVXn2f3eapecmds V Nm G ae VXn2 Ge0 L UI V UD drd-uqV1-FfCa-0H0kd y3w9h-az9S-BhHo-v4r L WieAcs V rt ces ra/rt edwie L Sau V tts aalbe vial #oe pn 0 L S e V i 40 G .0 B CretL urn E 12 04 Sget emns 1 Alcto loain ihrt nei Ra aedscos ed ha etr 0 Bokdvc lc eie 223 5:

El campo LV Si e nos indica que el tamao del volumen lgico de 4.00 GB. Ussando el comando vgdisplay verifiquemos el espacio disponible para asignacin en el Volume Group /de /VGXen02:
#vdslyVXn2 gipa Ge0 --Vlm gop-- oue ru V Nm G ae Sse I ytm D Fra omt Mtdt Aes eaaa ra Mtdt Sqec N eaaa eune o V Acs G ces V Sau G tts MXL A V CrL u V Oe L pn V MxP a V CrP u V AtP c V V S e G i P Sz E ie TtlP oa E AlcP /Sz lo E ie Fe P /S e re E i V UI G UD

VXn2 Ge0 lm v2 1 3 ra/rt edwie rszbe eial 0 2 0 0 1 1 7.0G 45 B 40 M .0 B 103 97 15 /41 G 06 .2 B 107/7.8G 81 03 B FCF-L2WG-Kd64-cWwNb CGTdM-N4UD-Mid9-0HM

Veamos que el campo Free PE / Si e nos muestra que hay 70.38 GB de espacio disponible, lo cual es suficiente para crear el snapshot. Apagar la maquina virtual Ahora que confirmamos que hay espacio suficiente para crear el snapshot en el Volume Group / e / G e 0 , apagaremos la maquina dvVXn2 virtual fs3.example.com:
#x sudw f3eal.o m hton s.xpecm

Esperar unos segundos y verificar que ya no este corriendo:


#x ls m it ge f3 rp s

Una vez que haya verificado que la maquina virtual no esta en ejecucin procesa con la creacin del snapshot del vol men lgico /e/Ge0/s.xml.o-ik dvVXn2f3eapecmds. Crear snapshot del vol men lgico del disco raz Use el comando l create para crear el snapshot del vol men lgico / e / G e 0 / s . x m l . o - i k el nombre del snapshot dvVXn2f3eapecmds, ser / e / G e 0 / s . x m l . o - i k s a : dvVXn2f3eapecmds-np
#lcet -sz 4 -saso -nm /e/Ge0/s.xml.o-iksa /e/Ge0/s.xml.o-ik vrae -ie G -npht -ae dvVXn2f3eapecmds-np dvVXn2f3eapecmds Lgclvlm "dvVXn2f3eapecmds"cetd oia oue /e/Ge0/s.xml.o-ik rae

Usando el comando l s listamos los vol mens lgicos y confirmamos que se creo el snapshot:
#ls v L V V G At tr Lie Oii Sz rgn Sa% Mv LgCp% np oe o oy f3eapecmds s.xml.o-ik VXn2oia Ge0 w-- 40G .0 f3eapecmds-npVXn2sia s.xml.o-iksa Ge0 w-- 40Gf3eapecmds .0 s.xml.o-ik 00 .0

f3eapecm a . ml.o- p

VXn2-ia 180M Ge0 -- 2.0

En el listado anterior podemos ver que el LV fs3.example.com-disck-snap usa como origen al LV fs3.example.com-disk. C ea a a i a i a

Ahora que hemos creado el snapshot es seguro iniciar/crear la maquina virtual usando el comando m:
# mce ef3eapecmcg a . ml.o.f

Despus de unos segundos verifique que la maquina este corriendo:


# ml i f3eapecm . ml.o Nm ae f3eapecm . ml.o I D 6 MmVP e CU 52 1 1 Sae --b-Tm() ie 02 .

Ahora que tenemos una copia consistente de el vol men lgico sigamos con el respaldo. C ea e a d de da de a h

Usaremos dos mtodos diferentes para respaldar los datos contenidos en el snapshot, el primer es creando un archivo de imagen del snapshot / e / G e 0 / 3 e a p e c m d k n pusando el comando dd, la imagen la guardaremos en el directorio d VXn2f . ml.o-i - a /n/akp m/ m bc / :
#d i=d /Ge0/ 3eapecmd k npo=m /akp m/ 3eapecmd k`ae+d%-Y.m d f/e VXn2f . ml.o-i - a f/n bc / f . ml.o-i -d %-m%`ig

La imagen creada es una copia exacta del vol men lgico original en el momento en que se apago la maquina virtual, en caso de desastre puede restaurar el LV usando dd en la forma inversa. El segundo mtodo es montanto el snapshot en un directorio temporal y respaldar su contenido con tar, primero creamos el directorio temporal:
#md - /n/m/m/ 3eapecmd k ki p m p f . ml.o-i

Montamos el Snapshot:
#m n /e/Ge0/ 3eapecmd k np/n/m/m/ 3eapecmd k o d VXn2f . ml.o-i - a m p f . ml.o-i

Ahora respaldamos los datos del directorio / n / m / m / 3 e a p e c m d kusando el comando tar: m p f . ml.o-i
# a -cf/n/akp m/ 3eapecmd k`ae+d%-Y.a. 2/n/m/m/ 3eapecmd k j m bc / f . ml.o-i -d %-m%` b m p f . ml.o-i

En caso de desastre y tenga que restaurar el disco, monte el vol men lgico original en un punto de montaje temporal, elimine su contenido y extraiga el contenido del archivo tar. Ei i a e a h

Para evitar problemas de rendimiento al estar usando el volumen original, y ya que el respaldo del snapshot ya fue realizado, eliminaremos el volumen snapshot, pero antes debemos desmontarlo:
# m n /n/m/m/ 3eapecmd k o m p f . ml.o-i

Ahora si elimine el snapshot:


#l eoe/e/Ge0/ 3eapecmd k np m d VXn2f . ml.o-i - a D o el o al a n o eoea ielgcl o m " 3eapecmd k np?[/] m c oia l e f . ml.o-i - a" n: Lgcl o m " 3eapecmd k np oia l e f . ml.o-i - a" ce fl c l eoe m d

Verificamos que se haya eliminado los volumens snapshot:


#l L V V G A Lie Oii Sa% M eLgCp% S gn np o o o f3eapecmd kVXn2-ia . ml.o-i Ge0 -o 40G .0 f3eapecm a VXn2-ia 180M . ml.o- p Ge0 -o 2.0

Y por ltimo verificamos que el espacio asignado a los snapshots se haya liberado:

# gi a VX 0 d Ge 2 --V eg -V N e G a S e I D F a M aaaAe e d a M aaaS ec N e d e e V Ac G ce V Sa G MXL A V C L V Oe L V M P a V C P V A P c V V S e G i P S e E i T a P E A cP /S e E i Fe P /S e re E i V UI G UD

VX 0 Ge 2 2 1 6 ed ie a/ eia e b 0 2 2 0 1 1 7.0G 45 B 40 M .0 B 103 97 15 /41 G 06 .2 B 107/7.8G 81 03 B FCF-L2WG-Kd64-cW 0HM CGTdM-N4UD-Mid9- Nb

Como restaurar maquinas virtuales basada en LVM Como clonar una maquina virtual basada en LVM Como convertir una maquina virtual de archivos a LVM

Captulo 6. Resoluci n de problemas


Tabla de con enido Resoluci n de problemas relacionados al reloj de las maquinas virtuales Resoluci n de problemas relacionados a la red de las maquinas virtuales Recursos adicionales Sitios web Pginas de manual En esta secci n se describen problemas comunes y su resoluci n.

Resoluci n de problemas relacionados al reloj de las maquinas virtuales Resoluci n de problemas relacionados a la red de las maquinas virtuales Recursos adicionales
Si desea obtener ms informaci n sobre los programas y pginas de manual relacionadas se aconseja que acceda a los siguientes recursos adicionales.

Sitios web
En las paginas listadas a continuaci n encontrar mayor informaci n sobre los programas utilizados en este capitulo.

Pginas de manual
Para conocer ms sobre el uso y configuraci n de los programas utilizados en el capitulo, se recomienda leer los manuales relacionados y el contenido de los archivos de configuraci n.

Apndice A. Historial de Revisiones


Historial de re isiones Revisi n 0.01 Documento Inicial. 2009-03-30 Jorge Medina

Revisi n 0.02 Re estructuraci n de la TOC Revisi n 0.10 Revisi n 0.20

2009-03-31 2009-03-32 2009-05-15

Jorge Medina Jorge Medina Jorge Medina

Se agrego una lista inicial de tecnicas de virtualizacion. Se re acomodaron las secciones y se agrego informacion para crear VM HVM con windows 2003, como instalar drivers GPLPV, screenshots de como agregar un nuevo disco en HVM Windows Revisi n 0.30 Se actualizaron las entradas para grub Se documentaron los servicios que iniciarn en automtico Se documento pruebas iniciales de xm list Revisi n 0.40 2009-08-24 Jorge Medina Se agregaron las secciones para la administraci n de maquinas virtuales con xmSe agregaron las secciones para administracion de recursos: memoria, cpus, discos, red Se agregaron las secciones para administracion de recursos: memoria, cpus, discos, red Revisi n 0.50 Se agreg informaci n de requerimientos Se agreg informaci n de revisi n inicial de la configuraci n Se agreg tema con informaci n para configuraciones de red con bridges Diagramas de configuraciones de red en bridge Revisi n 0.60 Se extendio la introduccion Se cambiaron algunos titulos de secciones Nuevo contenido para controlar el estado de las VMs Nuevo contenido para controlar los recursos de las VMs Pequeas correcciones ortograficas Revisi n 0.70 2010-06-27 Jorge Medina Se agregaron requerimientos de hardware y sistema Mas informacion detallada para instalar xen en ubuntu hardy Mas informacion para verificar el entorno de xen Se agrego informacion para crear discos duros virtuales Revisi n 0.75 2010-06-27 Jorge Medina Mas informaci n de requisitos de recursos para vms Se agrego como crear vm debian con debootstrap Se agrego como crear vm centos con imagen stacklet Se agrego info de configuracion de pygrub con centos Revisi n 0.80 2010-06-28 Jorge Medina 2010-06-27 2009-08-26 Jorge Medina 2009-08-23 Jorge Medina

Mas infor en requerimientos de hardware y software Se agrego informacion para instalar xen en centos5.x Se re organizo la seccion de configuracioin de red Informacion para instalar xen-tools para automatizar la creacion de VMs Usando xen-tools y debootstrap para crear VMs Debian/Ubuntu Usando xen-tools y rinse para crear VMs CentOS/Fedora Revisi n 0.82 2010-06-29 Jorge Medina Introducci n para lac configuraci n de los medios de almacena miento local para VMs Ejemplos para crear discos duros virtuales basados en archivos de imagen Ejemplos para crear discos duros virtuales basados en particiones linux nativas Ejemplos parar crear discos duros virtuales basados en volumenes logicos LVM Pequeos cambios en secci n de configuraci n de red Informaci n ampliada de requisitos de la creaci n de VMs

Informaci n extendida sobre los archivos de configuraci n de las VMs en Xen y descripci n de los parametros mas usados - Ejemplo de PV DomU Linux Mas informaci n para la creaci n de VMs PV DomU linux con bootstrap Mas informaci n para la creaci n de VMs PV DomU linux con bootstrap Mas informaci n para la creaci n de VMs PV DomU linux con bootstrap, xen-tools y rinse Mas infor sobre instalaci n de drivers GPLPV para windows Mas referencias de sitios y manuales Revisi n 0.83 2010-07-19 Jorge Medina Se agrego secci n para compilar xen 3.4.x en ubuntu server Se agregaron recursos adicionales relacionados con la instalaci n Se agregaron mas dependencias para instalar xen-tools Se agrego opcion para clocksource=jiffies en xen-tools Revisi n 0.84 2010-07-26 Jorge Medina Actualizaciones en la configuracion de xen-tools con debootstrap y rinse con algunas correcciones Ms parmetros para archivos de configuraci n para VMs Se quitaron paquetes repetidos de la lista de dependencias para compilar Xen Introducci n para instalar xen 3/4 en CentOS 5 desde gitco.de Correcciones generales y se agregaron ms sitios de referenca Ejemplos de instalaci n de paquetes rpm adicionales con rinse Revisi n 0.85 2010-09-15 Jorge Medina Nueva secci n con requerimientos de sistema: hardware y software. Correcciones en la compilaci n de xen 3.4.x. Correcciones en la secci n de almacenamiento. Correcciones en la secci n de configuraciones de red, agregue ejemplos para crear bridge dummy y se revisaron y corrigieron los diagramas. Agregue referencias a pginas de manual y archivos de configuraci n usados en el capitulo. Pequeas correcciones en ligas a wiki de xen. Correcciones y mayor explicaci n para instalar un kernel xenlinux. Mas opciones para revisar el funcionamiento de xen. Se corrigieron algunas ligas a otras secciones externas. Mas ejemplos de subcomandos de xm. Se quito id del recursos adicionales para evitar conflictos. Revisi n 0.86 2010-10-21 Jorge Medina Se agreg informaci n para compilar kernel XenLinux 2.6.18-8 con Xen 3.4.3. Se agreg recomendaci n para actualizar la imagen initrd XenLinux 2.6.18-8. Correcci n en titulos de secciones. Se actualizaron los ejemplos con kernel e initrd XenLinux 2.6.18-8 Se actualiz la introducci n al almacenamiento virtual en Xen. Revisi n 0.87 2010-10-21 Jorge Medina Varias correcciones menores en textos y ejemplos. Ms informaci n sobre los parmetros en los archivos de configuraci n de DomU. Ms ejemplos de archivos de configuraci n de PVM Linux y pygrub Ms informaci n para configurar la consola serial en los PVM Linux Ms opciones de configuracion globales para xen-tools. Revisi n 0.88 2010-12-22 Jorge Medina Actualizados los pasos para la instalaci n de xen-tools 4.2 desde las fuentes. Se amplio la informaci n sobre la configuraci n de xen-tools. Algunas correcciones simples en los ejemplos de creacion de vms con xen-tools.

Apndice B. Licencia de Documentaci n Libre de GNU

Versi n 1.2, Noviembre 2002


Tabla de con enido PREMBULO APLICABILIDAD Y DEFINICIONES COPIA LITERAL COPIADO EN CANTIDAD MODIFICACIONES COMBINACI N DE DOCUMENTOS COLECCIONES DE DOCUMENTOS AGREGACI N CON TRABAJOS INDEPENDIENTES TRADUCCI N TERMINACI N REVISIONES FUTURAS DE ESTA LICENCIA ADENDA: Cmo usar esta Licencia en sus documentos This is an unofficial translation of the GNU Free Documentation License into Spanish. It was not published by the Free Software Foundation, and does not legally state the distribution terms for documentation that uses the GNU FDL -- only the original English text of the GNU FDL does that. However, we hope that this translation will help Spanish speakers understand the GNU FDL better. sta es una traduccin no oficial de la GNU Free Document License a Espaol (Castellano). No ha sido publicada por la Free Software Foundation y no establece legalmente los trminos de distribucin para trabajos que usen la GFDL (slo el texto de la versin original en Ingls de la GFDL lo hace). Sin embargo, esperamos que esta traduccin ayude los hispanohablantes a entender mejor la GFDL. La versin original de la GFDL esta disponible en la Free Software Foundation. Esta traduccin est basada en una de la versin 1.1 de Igor Tmara y Pablo Reyes. Sin embargo la responsabilidad de su interpretacin es de Joaqun Seoane. Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. Se permite la copia y distribucin de copias literales de este documento de licencia, pero no se permiten cambios[1].

PRE MBULO
El propsito de esta Licencia es permitir que un manual, libro de texto, u otro documento escrito sea libre en el sentido de libertad: asegurar a todo el mundo la libertad efectiva de copiarlo y redistribuirlo, con o sin modificaciones, de manera comercial o no. En segundo trmino, esta Licencia proporciona al autor y al editor[2] una manera de obtener reconocimiento por su trabajo, sin que se le considere responsable de las modificaciones realizadas por otros. Esta Licencia es de tipo copyleft, lo que significa que los trabajos derivados del documento deben a su vez ser libres en el mismo sentido. Complementa la Licencia Pblica General de GNU, que es una licencia tipo copyleft diseada para el software libre. Hemos diseado esta Licencia para usarla en manuales de software libre, ya que el software libre necesita documentacin libre: un programa libre debe venir con manuales que ofrezcan la mismas libertades que el software. Pero esta licencia no se limita a manuales de software; puede usarse para cualquier texto, sin tener en cuenta su temtica o si se publica como libro impreso o no. Recomendamos esta licencia principalmente para trabajos cuyo fin sea instructivo o de referencia.

APLICABILIDAD Y DEFINICIONES
Esta Licencia se aplica a cualquier manual u otro trabajo, en cualquier soporte, que contenga una nota del propietario de los derechos de autor que indique que puede ser distribuido bajo los trminos de esta Licencia. Tal nota garantiza en cualquier lugar del mundo, sin pago de derechos y sin lmite de tiempo, el uso de dicho trabajo segn las condiciones aqu estipuladas. En adelante la palabra Documento se referir a cualquiera de dichos manuales o trabajos. Cualquier persona es un licenciatario y ser referido como Usted. Usted acepta la licencia si copia. modifica o distribuye el trabajo de cualquier modo que requiera permiso segn la ley de propiedad intelectual. Una Versi n Modificada del Documento significa cualquier trabajo que contenga el Documento o una porcin del mismo, ya sea una copia literal o con modificaciones y/o traducciones a otro idioma. Una Secci n Secundaria es un apndice con ttulo o una seccin preliminar del Documento que trata exclusivamente de la relacin entre los autores o editores y el tema general del Documento (o temas relacionados) pero que no contiene nada que entre directamente en dicho tema general (por ejemplo, si el Documento es en parte un texto de matemticas, una Seccin Secundaria puede no explicar nada de matemticas). La relacin puede ser una conexin histrica con el tema o temas relacionados, o una opinin legal, comercial, filosfica, tica

o poltica acerca de ellos. Las Secciones Invariantes son ciertas Secciones Secundarias cuyos ttulos son designados como Secciones Invariantes en la nota que indica que el documento es liberado bajo esta Licencia. Si una seccin no entra en la definicin de Secundaria, no puede designarse como Invariante. El documento puede no tener Secciones Invariantes. Si el Documento no identifica las Secciones Invariantes, es que no las tiene. Los Textos de Cubierta son ciertos pasajes cortos de texto que se listan como Textos de Cubierta Delantera o Textos de Cubierta Trasera en la nota que indica que el documento es liberado bajo esta Licencia. Un Texto de Cubierta Delantera puede tener como mucho 5 palabras, y uno de Cubierta Trasera puede tener hasta 25 palabras. Una copia Transparente del Documento, significa una copia para lectura en mquina, representada en un formato cuya especificacin est disponible al p blico en general, apto para que los contenidos puedan ser vistos y editados directamente con editores de texto genricos o (para imgenes compuestas por puntos) con programas genricos de manipulacin de imgenes o (para dibujos) con alg n editor de dibujos ampliamente disponible, y que sea adecuado como entrada para formateadores de texto o para su traduccin automtica a formatos adecuados para formateadores de texto. Una copia hecha en un formato definido como Transparente, pero cuyo marcaje o ausencia de l haya sido diseado para impedir o dificultar modificaciones posteriores por parte de los lectores no es Transparente. Un formato de imagen no es Transparente si se usa para una cantidad de texto sustancial. Una copia que no es Transparente se denomina Opaca. Como ejemplos de formatos adecuados para copias Transparentes estn ASCII puro sin marcaje, formato de entrada de Texinfo, formato de entrada de LaTeX, SGML o XML usando una DTD disponible p blicamente, y HTML, PostScript o PDF simples, que sigan los estndares y diseados para que los modifiquen personas. Ejemplos de formatos de imagen transparentes son PNG, XCF y JPG. Los formatos Opacos incluyen formatos propietarios que pueden ser ledos y editados nicamente en procesadores de palabras propietarios, SGML o XML para los cules las DTD y/o herramientas de procesamiento no estn ampliamente disponibles, y HTML, PostScript o PDF generados por algunos procesadores de palabras slo como salida. La Portada significa, en un libro impreso, la pgina de ttulo, ms las pginas siguientes que sean necesarias para mantener legiblemente el material que esta Licencia requiere en la portada. Para trabajos en formatos que no tienen pgina de portada como tal, Portada significa el texto cercano a la aparicin ms prominente del ttulo del trabajo, precediendo el comienzo del cuerpo del texto. Una seccin Titulada XYZ significa una parte del Documento cuyo ttulo es precisamente XYZ o contiene XYZ entre parntesis, a continuacin de texto que traduce XYZ a otro idioma (aqu XYZ se refiere a nombres de seccin especficos mencionados ms abajo, como Agradecimientos, Dedicatorias , Aprobaciones o Historia. Conservar el T tulo de tal seccin cuando se modifica el Documento significa que permanece una seccin Titulada XYZ seg n esta definicin[3] . El Documento puede incluir Limitaciones de Garanta cercanas a la nota donde se declara que al Documento se le aplica esta Licencia. Se considera que estas Limitaciones de Garanta estn incluidas, por referencia, en la Licencia, pero slo en cuanto a limitaciones de garanta: cualquier otra implicacin que estas Limitaciones de Garanta puedan tener es nula y no tiene efecto en el significado de esta Licencia.

[3] En sentido

estricto esta licencia parece exigir que los ttulos sean exactamente Acknowledgements, Dedications, Endorsements e History, en ingls.

COPIA LI ERAL
Usted puede copiar y distribuir el Documento en cualquier soporte, sea en forma comercial o no, siempre y cuando esta Licencia, las notas de copyright y la nota que indica que esta Licencia se aplica al Documento se reproduzcan en todas las copias y que usted no aada ninguna otra condicin a las expuestas en esta Licencia. Usted no puede usar medidas tcnicas para obstruir o controlar la lectura o copia posterior de las copias que usted haga o distribuya. Sin embargo, usted puede aceptar compensacin a cambio de las copias. Si distribuye un n mero suficientemente grande de copias tambin deber seguir las condiciones de la seccin 3. Usted tambin puede prestar copias, bajo las mismas condiciones establecidas anteriormente, y puede exhibir copias p blicamente.

COPIADO EN CAN IDAD


Si publica copias impresas del Documento (o copias en soportes que tengan normalmente cubiertas impresas) que sobrepasen las 100, y la nota de licencia del Documento exige Textos de Cubierta, debe incluir las copias con cubiertas que lleven en forma clara y legible todos esos Textos de Cubierta: Textos de Cubierta Delantera en la cubierta delantera y Textos de Cubierta Trasera en la cubierta trasera. Ambas cubiertas deben identificarlo a Usted clara y legiblemente como editor de tales copias. La cubierta debe mostrar el ttulo completo con todas las palabras igualmente prominentes y visibles. Adems puede aadir otro material en las cubiertas. Las copias con cambios limitados a las cubiertas, siempre que conserven el ttulo del Documento y satisfagan estas condiciones, pueden considerarse como copias literales. Si los textos requeridos para la cubierta son muy voluminosos para que ajusten legiblemente, debe colocar los primeros (tantos como sea

razonable colocar) en la verdadera cubierta y situar el resto en pginas adyacentes. Si Usted publica o distribuye copias Opacas del Documento cuya cantidad exceda las 100, debe incluir una copia Transparente, que pueda ser leda por una mquina, con cada copia Opaca, o bien mostrar, en cada copia Opaca, una direccin de red donde cualquier usuario de la misma tenga acceso por medio de protocolos p blicos y estandarizados a una copia Transparente del Documento completa, sin material adicional. Si usted hace uso de la ltima opcin, deber tomar las medidas necesarias, cuando comience la distribucin de las copias Opacas en cantidad, para asegurar que esta copia Transparente permanecer accesible en el sitio establecido por lo menos un ao despus de la ltima vez que distribuya una copia Opaca de esa edicin al p blico (directamente o a travs de sus agentes o distribuidores). Se solicita, aunque no es requisito, que se ponga en contacto con los autores del Documento antes de redistribuir gran n mero de copias, para darles la oportunidad de que le proporcionen una versin actualizada del Documento.

MODIFICACIONE
Puede copiar y distribuir una Versin Modificada del Documento bajo las condiciones de las secciones 2 y 3 anteriores, siempre que usted libere la Versin Modificada bajo esta misma Licencia, con la Versin Modificada haciendo el rol del Documento, por lo tanto dando licencia de distribucin y modificacin de la Versin Modificada a quienquiera posea una copia de la misma. Adems, debe hacer lo siguiente en la Versin Modificada: A. Usar en la Portada (y en las cubiertas, si hay alguna) un ttulo distinto al del Documento y de sus versiones anteriores (que deberan, si hay alguna, estar listadas en la seccin de Historia del Documento). Puede usar el mismo ttulo de versiones anteriores al original siempre y cuando quien las public originalmente otorgue permiso. B. Listar en la Portada, como autores, una o ms personas o entidades responsables de la autora de las modificaciones de la Versin Modificada, junto con por lo menos cinco de los autores principales del Documento (todos sus autores principales, si hay menos de cinco), a menos que le eximan de tal requisito. C. Mostrar en la Portada como editor el nombre del editor de la Versin Modificada. D. Conservar todas las notas de copyright del Documento. E. Aadir una nota de copyright apropiada a sus modificaciones, adyacente a las otras notas de copyright. F. Incluir, inmediatamente despus de las notas de copyright, una nota de licencia dando el permiso para usar la Versin Modificada bajo los trminos de esta Licencia, como se muestra en la Adenda al final de este documento. G. Conservar en esa nota de licencia el listado completo de las Secciones Invariantes y de los Textos de Cubierta que sean requeridos en la nota de Licencia del Documento original. H. Incluir una copia sin modificacin de esta Licencia. I. Conservar la seccin Titulada Hi o ia, conservar su Ttulo y aadirle un elemento que declare al menos el ttulo, el ao, los nuevos autores y el editor de la Versin Modificada, tal como figuran en la Portada. Si no hay una seccin Titulada Hi o ia en el Documento, crear una estableciendo el ttulo, el ao, los autores y el editor del Documento, tal como figuran en su Portada, aadiendo adems un elemento describiendo la Versin Modificada, como se estableci en la oracin anterior. J. Conservar la direccin en red, si la hay, dada en el Documento para el acceso p blico a una copia Transparente del mismo, as como las otras direcciones de red dadas en el Documento para versiones anteriores en las que estuviese basado. Pueden ubicarse en la seccin Hi o ia. Se puede omitir la ubicacin en red de un trabajo que haya sido publicado por lo menos cuatro aos antes que el Documento mismo, o si el editor original de dicha versin da permiso. K. En cualquier seccin Titulada Ag adecimien o o Dedica o ia , Conservar el Ttulo de la seccin y conservar en ella toda la sustancia y el tono de los agradecimientos y/o dedicatorias incluidas por cada contribuyente. L. Conservar todas las Secciones Invariantes del Documento, sin alterar su texto ni sus ttulos. N meros de seccin o el equivalente no son considerados parte de los ttulos de la seccin. M. Borrar cualquier seccin titulada Ap obacione . Tales secciones no pueden estar incluidas en las Versiones Modificadas. N. No cambiar el ttulo de ninguna seccin existente a Ap obacione ni a uno que entre en conflicto con el de alguna Seccin Invariante. O. Conservar todas las Limitaciones de Garanta. Si la Versin Modificada incluye secciones o apndices nuevos que califiquen como Secciones Secundarias y contienen material no copiado del Documento, puede opcionalmente designar algunas o todas esas secciones como invariantes. Para hacerlo, aada sus ttulos a la lista de Secciones Invariantes en la nota de licencia de la Versin Modificada. Tales ttulos deben ser distintos de cualquier otro ttulo de seccin. Puede aadir una seccin titulada Ap obacione , siempre que contenga nicamente aprobaciones de su Versin Modificada por otras fuentes --por ejemplo, observaciones de peritos o que el texto ha sido aprobado por una organizacin como la definicin oficial de un estndar. Puede aadir un pasaje de hasta cinco palabras como Texto de Cubierta Delantera y un pasaje de hasta 25 palabras como Texto de Cubierta Trasera en la Versin Modificada. Una entidad solo puede aadir (o hacer que se aada) un pasaje al Texto de Cubierta Delantera y uno al de Cubierta Trasera. Si el Documento ya incluye un textos de cubiertas aadidos previamente por usted o por la misma entidad que usted representa, usted no puede aadir otro; pero puede reemplazar el anterior, con permiso explcito del editor que agreg el texto anterior.

Con esta Licencia ni los autores ni los editores del Documento dan permiso para usar sus nombres para publicidad ni para asegurar o implicar aprobacin de cualquier Versin Modificada.

COMBINACI N DE DOCUMENTOS
Usted puede combinar el Documento con otros documentos liberados bajo esta Licencia, bajo los trminos definidos en la seccin 4 anterior para versiones modificadas, siempre que incluya en la combinacin todas las Secciones Invariantes de todos los documentos originales, sin modificar, listadas todas como Secciones Invariantes del trabajo combinado en su nota de licencia. As mismo debe incluir la Limitacin de Garanta. El trabajo combinado necesita contener solamente una copia de esta Licencia, y puede reemplazar varias Secciones Invariantes idnticas por una sola copia. Si hay varias Secciones Invariantes con el mismo nombre pero con contenidos diferentes, haga el ttulo de cada una de estas secciones nico aadindole al final del mismo, entre parntesis, el nombre del autor o editor original de esa seccin, si es conocido, o si no, un n mero nico. Haga el mismo ajuste a los ttulos de seccin en la lista de Secciones Invariantes de la nota de licencia del trabajo combinado. En la combinacin, debe combinar cualquier seccin Titulada Hi o ia de los documentos originales, formando una seccin Titulada Hi o ia; de la misma forma combine cualquier seccin Titulada Ag adecimien o , y cualquier seccin Titulada Dedica o ia . Debe borrar todas las secciones tituladas Ap obacione .

COLECCIONES DE DOCUMENTOS
Puede hacer una coleccin que conste del Documento y de otros documentos liberados bajo esta Licencia, y reemplazar las copias individuales de esta Licencia en todos los documentos por una sola copia que est incluida en la coleccin, siempre que siga las reglas de esta Licencia para cada copia literal de cada uno de los documentos en cualquiera de los dems aspectos. Puede extraer un solo documento de una de tales colecciones y distribuirlo individualmente bajo esta Licencia, siempre que inserte una copia de esta Licencia en el documento extrado, y siga esta Licencia en todos los dems aspectos relativos a la copia literal de dicho documento.

AGREGACI N CON TRABAJOS INDEPENDIENTES


Una recopilacin que conste del Documento o sus derivados y de otros documentos o trabajos separados e independientes, en cualquier soporte de almacenamiento o distribucin, se denomina un ag egado si el copyright resultante de la compilacin no se usa para limitar los derechos de los usuarios de la misma ms all de lo que los de los trabajos individuales permiten. Cuando el Documento se incluye en un agregado, esta Licencia no se aplica a otros trabajos del agregado que no sean en s mismos derivados del Documento. Si el requisito de la seccin 3 sobre el Texto de Cubierta es aplicable a estas copias del Documento y el Documento es menor que la mitad del agregado entero, los Textos de Cubierta del Documento pueden colocarse en cubiertas que enmarquen solamente el Documento dentro del agregado, o el equivalente electrnico de las cubiertas si el documento est en forma electrnica. En caso contrario deben aparecer en cubiertas impresas enmarcando todo el agregado.

TRADUCCI N
La Traduccin es considerada como un tipo de modificacin, por lo que usted puede distribuir traducciones del Documento bajo los trminos de la seccin 4. El reemplazo las Secciones Invariantes con traducciones requiere permiso especial de los dueos de derecho de autor, pero usted puede aadir traducciones de algunas o todas las Secciones Invariantes a las versiones originales de las mismas. Puede incluir una traduccin de esta Licencia, de todas las notas de licencia del documento, as como de las Limitaciones de Garanta, siempre que incluya tambin la versin en Ingls de esta Licencia y las versiones originales de las notas de licencia y Limitaciones de Garanta. En caso de desacuerdo entre la traduccin y la versin original en Ingls de esta Licencia, la nota de licencia o la limitacin de garanta, la versin original en Ingls prevalecer. Si una seccin del Documento est Titulada Ag adecimien o , Dedica o ia o Hi o ia el requisito (seccin 4) de Conservar su Ttulo (Seccin 1) requerir, tpicamente, cambiar su ttulo.

TERMINACI N
Usted no puede copiar, modificar, sublicenciar o distribuir el Documento salvo por lo permitido expresamente por esta Licencia. Cualquier otro intento de copia, modificacin, sublicenciamiento o distribucin del Documento es nulo, y dar por terminados automticamente sus derechos bajo esa Licencia. Sin embargo, los terceros que hayan recibido copias, o derechos, de usted bajo esta Licencia no vern terminadas sus licencias, siempre que permanezcan en total conformidad con ella.

REVISIONES FUTURAS DE ESTA LICENCIA


De vez en cuando la Free Software Foundation puede publicar versiones nuevas y revisadas de la Licencia de Documentacin Libre GNU. Tales versiones nuevas sern similares en espritu a la presente versin, pero pueden diferir en detalles para solucionar nuevos problemas o intereses. Vea http://www.gnu.org/copyleft/. Cada versin de la Licencia tiene un nmero de versin que la distingue. Si el Documento especifica que se aplica una versin numerada en particular de esta licencia o cualquier versi n posterior, usted tiene la opcin de seguir los trminos y condiciones de la versin especificada o cualquiera posterior que haya sido publicada (no como borrador) por la Free Software Foundation. Si el Documento no especifica un nmero de versin de esta Licencia, puede escoger cualquier versin que haya sido publicada (no como borrador) por la Free Software Foundation.

ADENDA: C mo usar esta Licencia en sus documentos


Para usar esta licencia en un documento que usted haya escrito, incluya una copia de la Licencia en el documento y ponga el siguiente copyright y nota de licencia justo despus de la pgina de ttulo: Copyright (c) AO SU NOMBRE. Se concede permiso para copiar, distribuir y/o modificar este documento bajo los trminos de la Licencia de Documentacin Libre de GNU, Versin 1.2 o cualquier otra versin posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera. Una copia de la licencia est incluida en la seccin titulada GNU Free Documentation License. Si tiene Secciones Invariantes, Textos de Cubierta Delantera y Textos de Cubierta Trasera, reemplace la frase sin ... Trasera por esto: siendo las Secciones Invariantes LISTE SUS T TULOS, siendo los Textos de Cubierta Delantera LISTAR, y siendo sus Textos de Cubierta Trasera LISTAR. Si tiene Secciones Invariantes sin Textos de Cubierta o cualquier otra combinacin de los tres, mezcle ambas alternativas para adaptarse a la situacin. Si su documento contiene ejemplos de cdigo de programa no triviales, recomendamos liberar estos ejemplos en paralelo bajo la licencia de software libre que usted elija, como la Licencia Pblica General de GNU (GNU General Public License), para permitir su uso en software libre.

[1] sta es la traduccin del Copyright de la Licencia, [2] La licencia original dice publisher,

no es el Copyright de esta traduccin no autorizada.

que es, estrictamente, quien publica, diferente de editor, que es ms bien quien prepara un texto para publicar. En castellano editor se usa para ambas cosas.

Apndice C. GNU Free Documentation License


Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.

0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference.

1. APPLICABILITY AND DEFINITIONS

L L .T " ". Y " / " D . (T , .) T , D D D .S "D

, ", , ,

, , .A D . ' ( , S . D ) S , , , I B , -C T B -C , T S , , , , , , .

A "M A "S

V S

"I

S D I . T "

" .T D

S L

S .I I S , F .I -C

, D T 5 ,

I S

"C D .

L " , ( , ) D

.AF

-C -

25

A "T

( , .A .A T DTD, "T " T T "O PDF ". ,L T X ASCII ,T HTML, P S PNG, XCF JPG. O , SGML XML DTD / PDF , .F ' XYZ , , "T , D . (H XYZ ", "H ".) T "P XYZ" L D , L . . XYZ T . L D : .T " XYZ , .A

) ,

T E XML E T L A "A D T D D W "T P " HTML, P , S

, SGML . ,

. , P , "

"E

XYZ" ", "D W ", "E "E D

2. VERBATIM COP ING


Y , L .H Y , , 3. , . .Y .I D L , D , , L ,

3. COP ING IN QUANTIT


I D ( ' C T , ) D , , , 100, C T :

-C

T .T

, .C ,

-C

.B , . , ( 100, O T , ) . , . O D , ) .Y D

I , I T .I , O I , T ( , D , O O , D .

4. MODIFICA ION
Y M A. U , B. L V C. D. E. F. S P A I T , . T D , L G. P H. I I. P M , J. P , . , D . K. F L. P M. D N. D O. P I I Y Y C T M ) V M D S , F .O .I -C D T , F -C T 25 B B -C -C T , T , ( V , M E V "E ' ", .T M E I E W D "A S . "E E . S .T S , . V . ". S "E " M I V S . . D " "D , ", P / .S T , . , D T .T D , D "H , " .Y V D , I L E "H . ", P T P T .I , E T P , "H " D M , , , V , , , A S . . M . C T D ' . V M V , . P , V M T P ( , , D ( , V , H . M ), ) D ). Y M V L D , M V .I , D , 2 D 3 , M V ( : ,

, . T () () M D V L .

5. COMBINING DOC MEN


Y , I T I , I "H E , "; "E E ". S L I , I S E "A "H " ", E "D , ". Y S , , , . E .M D I , I S S W D L , , . . 4 ,

6. COLLEC ION OF DOC MEN


Y L . Y L , , L L , . D , L , L

7. AGG EGA ION


A , ' I C T , D D ' C D "

I H INDEPENDEN
" .W 3 T .O D

O K
, , D D , D . D , . L

8.
T I I

AN LA ION
, S S D , , D 1) E "A . W D .I I , . ", "D ", "H ", ( 4) P T S .Y E D , L , L 4. R

L I (

9. E MINA ION
Y , . , , , , , , D L D , L L .A .H ,

10. F

E E I ION OF HI LICEN E

The F ee Sof a e Fo nda ion ma p bli h ne , e i ed e ion of he GNU F ee Doc men a ion Licen e f om ime o ime. S ch ne e ion ill be imila in pi i o he p e en e ion, b ma diffe in de ail o add e ne p oblem o conce n . See h p:// .gn .o g/cop lef /. Each e ion of he Licen e i gi en a di ing i hing e ion n mbe . If he Doc men pecifie ha a pa ic la n mbe ed e ion of hi Licen e "o an la e e ion" applie o i , o ha e he op ion of follo ing he e m and condi ion ei he of ha pecified e ion o of an la e e ion ha ha been p bli hed (no a a d af ) b he F ee Sof a e Fo nda ion. If he Doc men doe no pecif a e ion n mbe of hi Licen e, o ma choo e an e ion e e p bli hed (no a a d af ) b he F ee Sof a e Fo nda ion.

ADDENDUM: How to use this License for our documents


To e hi Licen e in a doc men o ha e licen e no ice j af e he i le page: Cop igh (C) YEAR YOUR NAME. Pe mi ion i g an ed o cop , di ib e and/o modif hi doc men nde he e m of he GNU F ee Doc men a ion Licen e, Ve ion 1.2 o an la e e ion p bli hed b he F ee Sof a e Fo nda ion; i h no In a ian Sec ion , no F on Co e Te , and no Back-Co e Te . A cop of he licen e i incl ded in he ec ion en i led "GNU F ee Doc men a ion Licen e". If o ha e In a ian Sec ion , F on -Co e Te and Back-Co e Te , eplace he " i h...Te ." line i h hi : i en, incl de a cop of he Licen e in he doc men and p he follo ing cop igh and

i h he In a ian Sec ion being LIST THEIR TITLES, i h he F on -Co e Te Te being LIST. If o ha e In a ian Sec ion i ho Co e Te

being LIST, and i h he Back-Co e o al e na i e o i he i a ion. choice of

, o ome o he combina ion of he h ee, me ge ho e

If o doc men con ain non i ial e ample of p og am code, e ecommend elea ing he e e ample in pa allel nde o f ee of a e licen e, ch a he GNU Gene al P blic Licen e, o pe mi hei e in f ee of a e.

Você também pode gostar