Virtualización con Xen

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Virtualización con Xen - Presentation Transcript

    1. Xen
    2. Índice
      • Breve introducción a Xen
        • Sistemas de virtualización.
        • Ventajas y desventajas.
        • Ámbitos de aplicación.
      • Componentes de Xen, arquitectura
      • Requisitos hardware
      • Instalación: modo sencillo
        • Instalación de paquetes
        • Administración vía consola
        • Configuración
        • Ejemplos
      • Instalación: modo hacker
        • Uso del kernel original de XenSource
        • Distintos kernels
    3. Introducción a Xen
      • Monitor de máquinas virtuales (hypervisor)
        • Varios SO distintos en el mismo hardware
        • Abstracción de recursos físicos
        • Interface uniforme para el hardware -> portabilidad
      • Funciona en hardware 'barato' *
        • Para sacarle todo el partido -> extensiones de Intel y AMD.
      • Rápido, escalable
      • Característivas avanzadas
        • PCI passtrough
        • Live migration
      • Es Software Libre!!
    4. Sistemas de Virtualización
      • Xen soporta las siguientes formas de virtualización:
        • Full Virtualization:
          • Parecido a la emulación.
          • Los SO se quedan sin modificar.
          • Solo funcionan sobre la misma arquitectura que el hardware real.
          • Necesarias las extensiones Intel VT o AMD V.
            • Simplifica instrucciones x86.
            • Traducción de instrucciones binarias 'al vuelo'.
        • Paravirtualización:
          • El sistema operativo huésped ha de estar modificado.
          • La comunicación con el hardware se realiza a través del hypervisor.
          • Dificultades con SO cerrados.
          • Ventajas: rendimiento, escalabilidad.
    5. Ventajas y desventajas
      • Full Virtualization:
        • No hay que modificar el sistema operativo huésped
        • Muchas instrucciones se ejecutan directamente en el hardware.
      • Paravirtualización:
        • Mejor rendimiento.
        • Las modificaciones en el kernel huésped ayudan a una ejecución más eficiente.
      • A la hora de elegir el sistema hay que tener en cuenta que cuando mayor sea el aislamiento entre máquinas virtuales menor será el rendimiento.
      • Xen en un entorno paravirtualizado obtiene un perfecto equilibrio entre rendimiento y aislamiento.
    6. Ámbitos de aplicación
      • Mantener varios sistemas paralelamente
        • Desarrollo + producción
      • Tener entornos de ejecución aislados
      • Aunar servidores para ahorrar costes y espacio
      • Pruebas de servicios
      • Just 4 fun!!
    7. Componentes de Xen, arquitectura
    8. Componentes de Xen, arquitectura (2)
      • Sistema servidor (dom0)
        • Kernel modificado para que se comunique con el hypervisor (oficial: 2.6.18 de XenSource).
        • Hypervisor y utilidades de Xen instaladas.
        • Hardware real.
      • Sistema huésped (domU)
        • Kernel modificado para interactuar con el hypervisor (dom0). Soporte en el mainline del kernel desde la versión 2.6.23
        • Resto del sistema operativo y aplicaciones sin modificar.
        • Posibilidad de acceso exclusivo a hardware real: pci passthrough.
    9. Componentes de Xen, arquitectura (3)
      • Arquitectura de red
    10. Componentes de Xen, arquitectura (4)
      • Modalidades de funcionamiento:
        • Modo bridge
          • NIC virtual en el domU
          • Bridge Ethernet con la interfaz real del dom0
          • El domU aparece como un host más de la red
        • Modo routing
          • NIC virtual en el domU
          • 2 redes diferentes: la red real y la virtual.
          • Routing IP entre ambas redes
        • Modo NAT
          • NIC virtual en el domU
          • Segmento de red virtual NO accesible desde el exterior
          • Routing entre el segmento de red virtual oculto mediante NAT.
      • Cada guest puede tener hasta 3 VIFs, + las 'reales'.
    11. Requisitos hardware
      • Se recomienda la arquitectura x86, es donde mejor funciona.
      • Para poder trabajar con HVM, necesario procesador con extensiones de virtualización:
        • Intel-VT
          • cat /proc/cpuinfo | grep vmx
        • AMD-V
          • cat /proc/cpuinfo | grep svm
      • Disco duro
        • Todos los guests accediendo al mismo tiempo
      • RAM
        • Los domU se la 'roban' al dom0
    12. Instalación: modo sencillo
      • Instalación de paquetes necesarios
        • apt-get install bridge-utils libc6-xen libxen3 linux-xen python-xen-3.2 xen-docs-3.2 xen-hypervisor-3.2 xen-tools xen-utils-3.2
        • Debería funcionar un simple apt-get install ubuntu-xen-desktop pero actualmente en Hardy esta roto (¿no era LTS?)
      • Reiniciar y arrancar con el nuevo Kernel.
      • Welcome to Xen!
    13. Administración vía consola
      • Comandos de administración:
        • Arrancar domU y acceder a su consola: xm create /etc/xen/farsa.cfg -c
        • Arrancar un domU y dejarlo en background: xm create /etc/xen/farsa.cfg
        • Conectarse a la consola de un domU: xm console farsa
        • Reiniciar domU: xm reboot farsa
        • Apagar domU: xm shutdown farsa
        • Apagar (malamente) domU: xm destroy farsa
        • Todas las opciones de xm: xm help
    14. Administración vía consola (2)
        • Estado del sistema: xentop
        • Mensajes de arranque de Xen: xm dmesg
        • Listado de guests arrancados: xm list
    15. Configuración (1)
      • Configuración general de Xen:
        • /etc/xen/xend-config.sxp # Configuración del tipo de red (network-script network-bridge) (vif-script vif-bridge) # Hardware para el dom0 (dom0-min-mem 256) (dom0-cpus 0) # Acceso VNC (vnc-listen '0.0.0.0') (vncpasswd '')
    16. Configuración (2)
      • Configuración de un domU (paravirt) [ejemplo]
        • /etc/xen/farsa.cfg kernel = '/boot/vmlinuz-2.6.24.3' ramdisk = '/boot/initrd.img-2.6.24.3' extra = 'console=hvc0 nomce' memory = '128' root = '/dev/xvda1 ro' disk = [ 'phy:/dev/sdb1,xvda1,w', 'file:/var/xen/swp.img,xvda2,w' ] name = 'lvmbase' vif = [ '' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart'
    17. Configuración (3)
      • Configuración de un domU (HVM) [ejemplo]
        • /etc/xen/farsa.hvm kernel = "/usr/lib/xen/boot/hvmloader" builder='hvm' memory = 128 name = "debian-hvm" vif = [ 'type=ioemu,bridge=xenbr0' ] disk = [ 'file:/var/xen/debian.img,hda,w', 'file:/var/xen/debian.iso,hdb:cdrom,r' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm' boot="dc" sdl=0 vnc=1 nographici=0 stdvga=0 serial='pty' localtime=1 keymap='es'
    18. Creación de un domU
      • Paravirtualización
        • Se puede hacer diréctamente con Debootstrap, pero xen-tools automatiza el proceso:
        • /etc/xen-tools/xen-tools.cfg dir = /var/xen-gests #donde se almacenan las máquinas virtuales debootstrap = 1 #indicamos que haremos deboot size = 2Gb #tamaño del disco memory = 128Mb #cuanta memoria queremos utilizar swap = 128Mb #tamaño de la swap fs = ext3 #tipo de sistema de ficheros dist = etch #distribución de GNU/Linux arch = i386 #arquitectura passwd = 1 #indicar si se pedirá contraseña mirror = http://ftp.es.debian.org/debian/ #mirror gateway = 192.168.1.100 #puerta de enlace netmask = 255.255.255.0 #mascara de subred kernel = /boot/vmlinuz-2.6.24.3 #el kernel que creamos
    19. Creación de un domU (2)
        • Para crear un nuevo domU con xen-tools: xen-create-image --hostname=base-domU –ip=192.168.1.25
      • Full Virtualization (HVM)
        • Para crear un domU basta con lanzar el domU y seguir con la instalación.
    20. Ejemplos
      • Arranque de domU paravirtualizado: Debian Etch 4.0
      • Arranque de domU paravirtualizado: FreeBSD 7
      • Inicio de instalación de Debian Etch (HVM)
      • Inicio de instalación de Windows XP (HVM)
    21. Instalación: modo 'hacker'
      • La instalación sencilla utilizaba el mismo Kernel para todo.
        • Poca flexibilidad.
        • Imposibilidad de realizar cambios en la configuración del Kerne.
      • En ocasiones puede ser necesario utilizar Kernels distintos para el dom0 y para los domU
      • Necesidad de realizar cambios en la configuración del Kernel.
      • Compilación de Xen y del Kernel desde las fuentes
    22. Instalación: modo 'hacker' (2)
      • Instalación de dependencias necesarias: apt-get install iproute bridge-utils python-twisted binutils zlib1g-dev python-dev transfig bzip2 screen ssh debootstrap libcurl3-dev libncurses5-dev x-dev build-essential gettext gawk mercurial yaird bcc libsdl1.2debian-all libsdl1.2-dev libx86-dev libvncserver-dev
      • Descarga del Xen Hypervisor y las utilidades Xen wget http://bits.xensource.com/oss-xen/release/3.2.1/xen-3.2.1.tar.gz
      • Descargamos el Kernel parcheado de XenSource hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
      • Instalamos el hypervisor y las herramientas Xen # tar zxvf xen-3.2.1.tar.gz # cd xen-3.2.1 # make xen # make install-xen # make tools # make install-tools
    23. Instalación: modo 'hacker' (3)
      • Compilamos el Kernel de Xen. No podemos usar make-kpkg porque actualmente (en Debian Etch) no esta soportada la arquitectura Xen en make.kpkg # cd linux-2.6.18-xen.hg # make menuconfig
      • Cuidado al habilitar las cosas, este es el Kernel del dom0!
      • Habilitar soporte para Xen dom0. # make # make modules # make modules_install # make install
    24. Instalación: modo 'hacker' (4)
      • Creamos en initrd y lo incluimos en el GRUB: # depmod 2.6.18.8 # mkinitrd.yaird -o /boot/initrd.img-2.6.18.8 2.6.18.8 # update-grub
      • Ejemplo de entrada generada en GRUB: title Xen 3.2.0 / Debian GNU/Linux, kernel 2.6.18.8 root (hd0,0) kernel /boot/xen-3.2.0.gz module /boot/vmlinuz-2.6.18.8 root=/dev/sda1 ro module /boot/initrd.img-2.6.18.8 savedefault
    25. Instalación: modo 'hacker' (5)
      • Para finalizar, automatizamos el arranque del demonio de control de Xen y el gestor automático de domUs. # update-rc.d xend defaults 20 21 # update-rc.d xendomains defaults 21 20
      • Para hacer que un domU arranque automáticamente al iniciar el sistema, basta con situar el fichero de configuración en /etc/xen/auto/ # ln -s /etc/xen/farsa.cfg /etc/xen/auto/farsa.cfg
    26. Instalación: modo 'hacker' (6)
      • Distintos Kernels:
        • Se compilan igual que el Kernel del dom0 (make, make modules, ...)
        • Habilitar Xen domU (Paravirtualization -> Xen Guest)
        • Seleccionar Kernel que queremos en el fichero de configuración.
    27. Acceso a los domU
      • Acceso sin X
        • xm console
        • SSH
      • Acceso con X
        • Tarjeta gráfica real, PCI passthrough
        • VNC
        • SDL
    28. Virtualización de Hardware
      • Virtualizar/paravirtualizar hardware es más sencillo que virtualizar la CPU
      • Xen utiliza el modelo de paravirtualización también para el resto del hardware
        • Interfaz más sencilla de comunicación.
        • Mayor independencia del hardware real (mejor a la hora de hacer migraciones).
      • Virtualización completa
        • Emulación
      • Paravirtualización
        • Drivers específicos
        • Mejora de rendimiento
    29. Virtualización de Hardware (2)
      • SIN virtualización!
        • Hardware real!
        • Ocultamos el dispositivo PCI al dom0 y de lo damos a un domU -> PCI passthrough En la configuración del GRUB (dom0): pciback.permisive pciback.hide=(02:03.0)(0000:02:03.1) En el fichero de configuración del domU: pci=['02:03.0', '02:03.1']
    30. Salvar, recuperar y migrar un domU
      • Salvar el estado de un domU
        • Como la función hibernar en los portátiles.
        • Facilita un arranque rápido.
        • xm save
      • Recuperar el estado de un domU
        • xm restore
      • Migración
        • Estática
          • Suspender -> Migrar -> Recuperar
        • Live
          • No se interrumpe el funcionamiento del domU.
        • xm migrate
    31. Salvar, recuperar y migrar un domU (2)
      • Live migration
        • Los 2 hosts con xend corriendo y configurado para escuchar peticiones de reubicación: /etc/xen/xend-config.sxp (xend-relocation-server yes) (xend-relocation-port 8002) (xend-relocation-address '') (xend-relocation-hosts-allow '')
        • Sistema de almacenamiento compartido entre ambos hosts.
        • Misma versión de Xen en ambos hosts.
        • Fichero de configuración para el domU en los 2 hosts.
    32. Administración mediante GUI: ConVirt
      • ConVirt, anteriormente XenMan, es una utilidad gráfica de administración de Xen.
        • http://xenman.sourceforge.net
      • Instalación de dependencias:
        • apt-get install python-glade2 python-gtk2 python-paramiko python-rpm python-vte yelp
        • No hay ni que compilar.
          • Descomprimir
          • ./ConVirt
    33. Administración mediante GUI: ConVirt (2)
    34. Tips & Tricks
      • Elegir un hardware super-compatible, no vamos a complicarnos desde el principio...
      • La RAM esta barata... :)
      • El rendimiento global es mejor con dispositivos físicos
        • LVM
      • Si no vamos a hacer nada raro no necesitamos Kernels distintos...
      • Para aprender, no es necesario complicarse
        • apt es tu amigo!!
    35. Referencias
      • Libro: Running Xen (Prentice Hall)
      • http://wiki.xensource.com/xenwiki/
      • http://jailtime.org/
      • http://del.icio.us/saghul/xen
    36. Licencia
      • Saúl Ibarra Corretgé - http://www.saghul.net
      • Reconocimiento - No comercial - Compartir igual: El material creado por un artista puede ser distribuido, copiado y exhibido por terceros si se muestra en los créditos. No se puede obtener ningún beneficio comercial y las obras derivadas tienen que estar bajo los mismos términos de licencia que el trabajo original.

    + Saúl IbarraSaúl Ibarra, 2 years ago

    custom

    2469 views, 0 favs, 4 embeds more stats

    Introducción a la virtualización con Xen.

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2469
      • 2307 on SlideShare
      • 162 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 99
    Most viewed embeds
    • 159 views on http://www.saghul.net
    • 1 views on http://feeds.feedburner.com
    • 1 views on http://www.clearspring.com
    • 1 views on http://static.slidesharecdn.com

    more

    All embeds
    • 159 views on http://www.saghul.net
    • 1 views on http://feeds.feedburner.com
    • 1 views on http://www.clearspring.com
    • 1 views on http://static.slidesharecdn.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?