Interfaces para a xestión do hipervisor Xen: Toolstacks
Interfaces de xestión: toolstack
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
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
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
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
- Para consultar o funcionamento de xm: http://xenbits.xen.org/docs/4.2-testing/man/xm.1.html
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.
- No seguinte enlace amplíase a información sobre xl:http://wiki.xen.org/wiki/XL
- No seguinte enlace pódese ver unha comparación entre xl e xend: http://wiki.xen.org/wiki/XL_vs_Xend_Feature_Comparison
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
- Para afondar máis sobre este toolstack o seu CLI: http://libvirt.org/
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
- Este interface será usado máis adiante e ao longo do curso.
- Para afondar máis sobre o uso de xe: http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/reference.html#cli
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 |
- Táboas obtidas de: http://wiki.xen.org/wiki/Choice_of_Toolstacks
- A continuación indícanse os proxectos e produtos que fan uso de:
- Toolstack por defecto (xl / Xen):
- Proxectos de código aberto: http://xen.org/community/vendors/XenProjectsPage.html
- Produtos comerciais: http://xen.org/community/vendors/XenProductsPage.html
- Toolstack XAPI:
- Proxectos de código aberto: http://xen.org/community/vendors/XCPProjectsPage.html
- Produtos comerciais: http://xen.org/community/vendors/XCPProductsPage.html
- Toolstack por defecto (xl / Xen):
- A modo de resumo final tráese de novo a seguinte imaxe:
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.
- 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.
- 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)