Interfaces para a xestión do hipervisor Xen: Toolstacks

De Manuais Informática - IES San Clemente.
Ir a la navegación Ir a la búsqueda

Interfaces de xestión: toolstack

Imaxe obtida de http://wiki.xen.org

Imaxe obtida de http://wiki.xen.org


  • Xen prové varios interfaces para poder ser xestionado. Estes interfaces reciben o nome de toolstacks.
  • Observar que o toolstack execútase no dominio controlador dom0, e é a través do cal o usuario vai poder interactuar co virtualizador, para configuralo, crear, borrar modificar MVs, etc.
  • Existen múltiples interfaces (toolstacks) desenvolvidos pola comunidade e por empresas.

Situación de partida

Sv 2013 toolstack 01.jpeg

Imaxe obtida de Stefano Stabellini: http://www.slideshare.net/xen_com_mgr/xen-summit-amd2010v3

  • Inicialmente cada toolstack (xend, xapi, libvirt, etc) desenvolvía todo canto precisaba para realizar as operacións de baixo nivel. Iso implicaba código repetido, ineficiencia, buracos de seguridade, esforzos mal gastados, etc.
  • xend era o toolstack creado inicialmente e que viña por defecto co hipervisor. Este toolstack (interface) era difícil de entender, de manexar, de modificar e de estender para que fora usado por outras utilidades.

Situación actual

Sv 2013 toolstack 02.jpeg

Imaxe obtida de Stefano Stabellini: http://www.slideshare.net/xen_com_mgr/xen-summit-amd2010v3

  • Na versión 4.1 de xen, ano 2011, (Para ver as versións recentes do hipervisor: http://wiki.xen.org/wiki/Xen_Release_Features) introdúcese unha nova libraría: Libxenlight (libxl)
    • Está escrita en C e é unha libraría moi pequena que actúa a baixo nivel (como se pode ver na imaxe).
    • É fácil de entender, de modificar e de extender para que poida ser compartida como base para todos os toolstacks que se desenvolvan para Xen.
    • Foi creada para proporcionar unha API simple e robusta para todos os toolstacks, deste xeito estes non teñen que estar implentando canda un deles as funcionalidades que son comúns.
  • Como se pode ver na imaxe esta libraría oculta outras varias e comúns a todo toolstack.

Variedade de toolstacks

ToolStacks.png

A continuación vanse mencionar algúns toolstacks (ou interfaces) e a consola (CLI) asociada para xestionalo.

Xend / xm

  • Xend: foi o primeiro toolstack e vén incluído como parte de Xen. Dende a versión 4.1 de Xen está obsoleto e será retirado das futuras versións.
  • xm: é a CLI asociado a Xend.
  • Exemplo para crear unha MV:
         xm create /dev/null ramdisk=initrd.img \
            kernel=/boot/vmlinuz-2.6.12.6-xenU \
            name=MaquinaVirtual vif= vcpus=1 \
            memory=64 root=/dev/ram0

xl

  • Neste caso o toolstack e o CLI son unha mesma cousa.
  • Trátase un CLI lixeiro.
  • Foi introducido na versión de Xen 4.1 (2011) usando a libraría libxenlight.
  • xl vén integrado en Xen dende a versión 4.1
  • Na versión de Xen 4.2 (2012) é CLI por defecto.
  • Foi creado para substituír para ser compatible co CLI xm de xend.
  • Con xl non se pode crear unha MV. Para iso o toolstack que se instala sobre libxenlight debe implementalo usando as funcionalidades que lle proporciona esa mesma libraría.

libvirt / VIRSH

  • libvirt: é unha API de virtualización usada para xestionar varias tecnoloxías de virtualización.
  • libxenlight dispón dun interface para interactuar con libvirt.
  • Virsh: é o CLI para este toolstack.
  • Este toolstack instálase sobre libxenlight.
  • Para crear unha MV:
 virt-install \
            --connect qemu:///system \
            --virt-type kvm \
            --name MyNewVM \
            --ram 512 \
            --disk path=/var/lib/libvirt/images/MyNewVM.img,size=8 \
            --vnc \
            --cdrom /var/lib/libvirt/images/Fedora-14-x86_64-Live-KDE.iso \
            --network network=default,mac=52:54:00:9c:94:3b \
            --os-variant fedora14

XAPI / xe

  • XAPI (Xen management API): é o toolstack desenvolvido por Citrix para Xenserver e que tamén está implementado en XCP.
  • Está desenvolvida en código aberto.
  • Permite configurar e controlar MV en modo remoto.
  • Engade funcionalidades adicionais comparando con outros interfaces:
    • Xestiona múltiples hosts.
    • Permite realizar snapshots en vivo, migracións de MVs.
    • Xestionar pools de servidores: migracións, recuperación ante desastres.
    • Almacenamento flexible e de rede.
    • Seguimento de eventos: noticiacións, progresos.
    • Control en tempo real de distintos parámetros de rendemento.
    • Actualizacións e amplicación de funcionalidades.
  • xe: é o CLI para interactuar co hipervisor a través deste toolstack.
  • Exemplo para crear unha MV:
    xe vm-install template=Debian\ Etch\ 4.0 new-name-label=ExampleVM

Resumo e usuarios dos toolstacks

  • A continuación realizase un resumo dos interfaces anteriores.


  • Comparativa toolstack/ Command Line Interface (CLI)
Toolstack xl XAPI libvirt xend
Ferramenta CLI xl xe virsh xm


  • Comparativa características dos toolstacks:
Características xl xapi libvirt
Construída para Xen X
Operacións básicas con MVs X X X
Xestión de dominios (MVs) X X
Migración en quente X X X
PCI Passthrough X X X
Pools de servidores X
Xestión avanzada e flexible do almacenamento X
Monitorización de rendemento X
Instalar Plugins no Host X


  • A modo de resumo final tráese de novo a seguinte imaxe:

ToolStacks.png

Imaxe obtida de: http://wiki.xen.org/wiki/Choice_of_Toolstacks

xsconsole / Xencenter

  • Dentro dos produtos comercias que fan uso de XAPI atopamos 2 que veñen con Xenserver ou XCP:
  • xsconsole
    • É unha consola por menús que permite administrar o servidor.
    • Está instalada no propio host virtualizado con Xenserver ou XCP.
    • Permítese acceder a ela remotamente a través de SSH.

Sv 2013 instxcp 33.jpeg


  • XenCenter
    • É un interface gráfico XenCenter que se instala nun equipo Windows distinto ao que está instalado o hipervisor.
    • Serve para xestionar completamente servidores con Xenserver ou XCP.

Sv 2013 xcp xencenter 15.jpeg


  • Estas dúas ferramentas serán usadas ao longo do curso.




-- Antonio de Andrés Lema e Carlos Carrión Álvarez (Maio-2013, Rev1: Feb 2014 - Rev2: Nov 1014)