Introdución e características da virtualización con Xen, XenServer e Xen Cloud Platform (XCP). XenCenter

De Manuais Informática - IES San Clemente.
Revisión del 12:25 7 nov 2016 de Carrion (discusión | contribuciones)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Introdución á virtualización tipo I

Como xa se mencionou na parte I do curso os hipervisors de tipo I están en contacto directo co hardware do equipo físico, co cal, instálanse directamente sobre o ordenador. Ese ordenador, salvo distintas formas de instalar un hipervisor de tipo I, estaría adicado única é exclusivamente a virtualizar.

  • As seguintes imaxes lembran como a plataforma de virtualización está en contacto directo co hardware do ordenador físico e coas máquinas virtuais. Observar como cada máquina virtual simula un hardware, no cal se instala un S.O. e no cal se instalan as aplicacións do mesmo xeito que nun ordenador físico.

Introdución a Xen

  • Xen é un hipervisor de tipo I, escrito en código aberto, con licencia GNU GPL http://es.wikipedia.org/wiki/GPL. Permite illar os equipos invitados do hardware dunha maneira moi eficiente, segura e independente entre as MVs, permitindo correr distintos tipos de sistemas operativos sobre o mesmo hardware.
  • Un pouco de historia:
    • En 2003 a Universidade de Cambridge publica o hipervisor tipo I chamado Xen. Páxina orixinal do proxecto: http://www.cl.cam.ac.uk/research/srg/netos/xen/.
    • En 2004 fúndase a empresa XenSource para promocionar, dirixir e coordinar o uso de Xen xunto con outras empresas entidades e universidades como: Citrix System, IBM, Intel, Sun, HP, Red Hat, a NASA, etc.
    • En 2007 Citrix Systems (http://es.wikipedia.org/wiki/Citrix_Systems) adquire Xensource.
      • Citrix usa o hipervisor Xen para crear as súas ferramentas pechadas de virtualización. Por exemplo, as solucións privadas até xuño de 2014: XenServer Free, XenServer Advanced Edition, etc.
      • O hipervisor Xen segue sendo libre e é liderado e coordinado polo Xen Advisory Board, composto por: Citrix, Fujitsu, HP, IBM, Intel, Novell, Oracle, e VA Linux Systems Japan.
      • A marca Xen pertence a Citrix pero cede o seu uso a calquera que faga uso do hipervisor Xen. Todo isto pode crear confusión porque hai produtos libres que usan o hipervisor Xen (por exemplo XCP) e produtos propietarios de Citrix que tamén usan Xen (XenApp, XenDesktop, ...).
    • En 2009 Citrix anunciaba que liberaba parte do código de XenServer co nome de Xen Cloud Platform (XCP). http://www.xenproject.org/downloads/xen-cloud-platform-archives.html
    • En 2010 créase o logo do proxecto http://xen.org.


IMPORTANTE

  • Esa liberación foi realizada uns días despois de rematar a primera edición deste curso, no que se traballou coa solucción XCP.
    • Por iso ao longo do seguinte material pode ser que haxa imaxes nas que se faga referencia a XCP no canto de XenServer, pero en calquera caso actuarase con XenServer da mesma forma que con XCP.


History.png

  • No momento en que Citrix adquiriu Xensource moveu o proxecto ao sitio: http://xen.org.
  • Na actualidade o proxecto Xen é xestionado dende: http://xenproject.org.
  • En xuño de 2013 crea o sitio http://xenserver.org/
    • Os tres sitios están operativos e aínda que os 2 primeiros son xestionados pola comunidade estes están hospedados en Citrix.

Dominios/aneles de protección

  • Os procesadores ofrecen mecanismos polos que protexer os accesos aos distintos recursos hardware (CPU, Memoria, periféricos, tarxetas de rede, almacenamento, etc). Para iso ofrecen distintos niveis de acceso a eses recursos.
  • Eses niveis coñécense co nome de dominios ou aneis de protección.
  • Segundo o tipo de CPU poden existir distintos niveis de protección. Os sistemas baseados nos procesadores x86 teñen 4 niveis de protección.
  • O Anel/dominio 0 é o máis privilexiado, tendo acceso a tódolos recursos. É onde se executa o núcleo do sistema operativo. Este anel tamén se coñece co nome de modo privilexido
  • O Anel/dominio 3 é o menos privilexiado, é onde se executan as aplicacións de usuario e o seu uso dos recursos, por exemplo un navegador web para acceder á tarxeta de rede non o fai directamente senón que a través dos mecanismos provistos polos niveis inferiores.
  • Os Aneis/dominios 1 e 2 estaban pensados para a execución dos drivers dos dispositivos, pero ao final non se usaron polos sistemas operativos para manter a compatibilidade con outros tipos de procesadores que só dispoñían de dous niveis.
  • Existen portas (Figura 2) polas que intereactuan os distintos aneles ou dominios, pero estas están fortemente controladas para evitar que un programa mal intencionado poida producir unha violación do sistema ou dun recurso ao que desexa acceder sen autorización. Imaxinar un programa mal intencionado que desexa acceder ao recurso hardware da cámara web.
  • Quen desexe afondar máis sobre o tema: http://es.wikipedia.org/wiki/Anillo_(seguridad_informática)

Arquitectura Xen

  • En Xen as MVs virtuais ou invitados coñécense co nome de dominios.
  • Xen fai uso dos aneis de protección, en concreto usará:
    • Anel 0: para o hipervisor Xen.
    • Anel 1: para as máquinas virtuais, invitados ou dominios.
    • Anel 3: para as aplicacións de usuario de cada dominio (MV), como sucede nun sistema sen virtualizar.
  • As seguintes imaxes amosan a arquitectura de Xen. A continuación descríbense os seus compoñentes:
  • Hipervisor Xen: é unha capa moi lixeira de software que se executa no anel 0, por tanto ten tódolos privilexios no acceso aos recursos. Encárgase da xestión da CPU e das interrupcións. Ao acenderse o ordenador é o primeiro que se executa. O hipervisor por se mesmo non xestiona as operacións de entrada e saída ao almacenamento nin aos interfaces de rede.
  • Dominio 0 (dom0) / Dominio controlador: é un dominio (MV) especial coas seguintes funcionalidades (observar cada unha delas nas imaxes de enriba):
    • Ten privilexios para acceder ao hardware directamente.
    • Manexar os accesos nas operacións de entrada/saída dos dispositivos. Verase a continuación.
    • Interactuar cos demais dominios (MVs) creados polo usuario. Verase a continuación.
    • Ofrecer un interface ao exterior para poder controlar o servidor Xen. A través deste dominio vanse crear/monidificar/eliminar/manexar os demais dominios (MVs ou invitados) creados polo usuario chamados domU. Estas operacións faranse a través destes interfaces. Verase nesta parte IV.
    • Esta MV especial é a primeira MV que se acende despois do hipervisor, sen esta MV (dom0) o hipervisor sería inservible.
  • Dominios de invitado (domU) / Máquinas Virtuais: ao igual que en VirtualBox son contornos virtualizados cada un co seu sistema operativo e aplicacións. Existen dous tipos de virtualización: Paravirtualización e Virtualización Completa, estes veranse na parte VII e seguintes do curso.
    • As MVs están totalmente illadas do HW:
      • O hipervisor ofrécelle a intermediación coa CPU e a Memoria RAM
      • dom0 actúa de intermediario nas operacións de entrada/saída, tanto para o almacenamento como para a rede.
    • Estas MVs denomínase dominios non privilexiados ou dominios de Usuario (domU) en contraposición aos privilexios que ten dom0.
  • Consola e Toolstack: o dominio 0 (dom0) dispón de ferramentas polas cales permite aos usuarios xestionar a creación, borrado e configuración das máquinas virtuais. Esta interface pode ser accedida por unha consola de comandos, un interface gráfico (como XenCenter, que se verá nesta parte IV ou interface web: https://xen-orchestra.com).
  • Na Parte VII afondarase máis sobre a arquitectura de Xen ao ver os tipos de virtualización que soporta Xen así como as extensións para a virtualización dos procesadores de Intel e AMD.

Xestión dos dispositivos de almacenamento e rede en Xen

Tanto na segunda imaxe anterior como nas seguintes pódese observar como dom0 ofrece uns drivers virtuais (backend) ás demais MVs creadas polo usuario (domU). Deste xeito, toda MV de usuario vai ter que usar uns drivers xenéricos (frontend) e non hai que preocuparse polo driver do dispositivo real, iso xa o fai dom0.

  • Drivers en dom0, esta MV especial instala os drivers reais para acceder aos dispositivos de almacenamento e de rede reais dos que dispón o ordenador físico.
  • dom0 crea backends que enlazan cos drivers reais e ademais exporta un driver virtual e xenérico para que poida ser usado polas demais MVs a través dos frontends.
  • Frontend en domU: é o driver xenérico que executa cada MV para acceder a un dispositivo.
  • Os Backends ofrecen a cada Frontend a imaxe de que ese dispositivo xenérico só é usado por esa MV.
  • Resumindo: os Backends entenden os detalles do dispositivo físico real e empaqueta as peticións de cada Frontend de forma axeitada para que poida ser reeenviada ao hardware real.
  • Esta forma de traballar permite que se poidan migrar as MVs duns hosts (equipo físico) a outros sen preocuparse polos dispositivos de almacenamento e rede reais, pois cada MV terá acceso aos discos e á rede a través dun driver xenérico que interactuará co Backend do dom0 do host concreto para acceder ao hardware real.
  • Interfaces de rede: xestionados a través do par: netback / netfront
  • Dispositivos de disco: xestionados a través do par: blockback / blockfront

Implementacións que usan Xen

  • Como xa se pode intuír o hypervisor Xen vai poder ser usado por varios Sistemas Operativos. Para poder executar o Dominio0 precísase que o kernel do sistema operativo sexa Xen-enabled kernel.
  • As distribucións linux baseadas nos recentes núcleos de linux xa son Xen-enabled kernel e xeralmente dispoñen de paquetes que conteñen o hipervisor Xen e as Utilidades Xen para a xestión de MVs.
  • Tanto algunhas distribucións linux, como BSD ou Solaris dispoñen do dominio dom0 integrado no kernel. No seguinte enlace pódense consultar esas distribucións: http://wiki.xen.org/wiki/Dom0_Kernels_for_Xen

XenServer

  • XenServer é a solución comercial de virtualización de Citrix que fai uso do hipervisor Xen.
  • XenServer instálase nun ordenador sen que este poida conter ningún outro sistema.
  • Dispón dun interface gráfico de xestión, chamada XenCenter. Esta hai que instalala nun sistema Windows.
  • XenServer, até xuño de 2013, dispoñía de catro edicións:
    • XenServer Free: versión gratuíta pero que hai que licenciar (de modo gratuíto) cada ano para que funcione. Dispón do mínimo para poder crear, borrar e xestionar MVs a través da consola ou XenCenter. Esta edición permitía a migración manual en quente dunha MV hospedada nun host a outro.
    • XenServer Advanced: era a versión de pago e as licencias xestiónanse a través dunha MV creada a propósito. Ademais das funcionalidades da edición Free a migración de MVs en quente é automática cando cae un host dun pool.
    • XenServer Datacenter: e XenServer Platinum: eran versións de pago que engaden novas funcionalidades á anterior edición.
    • Dende xuño de 2013 XenServer liberou o código:
  • XenServer está baseado en RedHat.

Xen Cloud Platform (XCP)

  • Como xa se indicou, Xen Cloud Platform (en diante XCP) era a única solución libre de chave en man que ofrece servizos de virtualización e de Cloud Computing.
  • XCP é un subconxunto de funcionalidades das que proviñan as edicións de XenServer. A seguinte táboa, extraída de http://wiki.xen.org/wiki/XCP/XenServer_Feature_Matrix, amosa as funcionalidades que presentaba cada edición. Por agora, poida que moitas delas non se saiba para que serven, ou o que son, pero ao longo do curso tratarase de dar resposta á maioría delas. Aconséllase comezar a familiarizarse con esta terminoloxía:
  • IMPORTANTE: Antes de continuar, indicar que dende xuño de 2013, o Proxecto Xen non sacara ningunha versión máis de XCP. A última versión que hai de XCP e totalmente operativa é a 1.6


Features Xen Cloud Platform XenServer Free XenServer Advanced XenServer Enterprise XenServer Platinum
Custo/Licencias Free/Open Source (Multiple Licencias 1) Free/Citrix EULA (Licencia) De pago/Citrix EULA (Licencia)
Hipervisor XenServer X X X X X
IntelliCache X X X X
Arquitectura de administración distribuída flexible X X X X X
Reversión e instantánea (Snapshot) de disco de MV X X X X X
Consola gráfica de administración XenCenter X X X X X
Ferramentas de conversión X X X X X
Migración en quente (vivo) con XenMotion® X X X X X
Pools de servidores heteroxéneos X X X X
Control Dinámico da Memoria X X X X
Xeración de informes e alertas de rendemento. X X X X
Conmutación virtual distribuída. X X X
Alta Dispoñibilidade (HA) X X X
Recuperación e protección automática da MV X X 3 X 3 X
Administración de enerxía do host X X X
Reversión e instantánea da memoria en quente (vivo). X X X
Administración baseada en roles. X X X
Balance dinámico de carga X X
Servizos de aprovisionamento (Virtuais) X X
StorageLink X X
Consola de xestión web con administrador delegado X 2 X X
Recuperación X X
Servizos de aprovisionamento físicos X

Características de XenServer até xuño de 2013 collidas do sitio Edicións XenServer

Dende xuño de 2013 XenServer é libre e ten tódalas funcionalidades indicadas, salvo: Recuperación e protección automática da MV (Bakcups de MVs)


[1] LGPL, GPL, Q Public License v1
[2] Funciona correctamente usando a solución de Citrix.


  • Tamén se amosan as características da versión XenServer Free.
  • Unha das funcionalidades desexadas Alta dispoñibilidade / High availability (HA) non está presente na versión 1.6 de XCP, pero si na versión liberada en xuño de 2013 de XenServer. Esta funcionalidade permite que cando se ten un conxunto de servidores (pool) físicos virtualizados con Xen e un deles cae, polas razóns que sexan, as MVs que estaba executando pasan automaticamente a ser executadas en calquera dos outros hosts do conxunto de servidores (pool) sen intervención do usuario.
  • A funcionalidade Control dinámico da memoria está presente en XCP, esta permite que se poida establecer un mínimo e un máximo de memoria para cada MV, de modo que se estivera consumida toda a RAM do host e se inicia unha nova MV o sistema reducirá a RAM de cada MV que se está executando para poder obter memoria para a nova MV que se está a lanzar.



  • Finalmente, XCP pode ser obtido a través de:
    • Imaxe ISO: está baseado en CentOS.
    • Paquetes XCP-Xapi: son paquetes linux que actualmente están dispoñibles para as distribucións de Ubuntu e Debian.

Características de Xen

  • Soporta dous tipos de virtualización tipo I: paravirtualización (PV) e virtualización completa (HVM). Veranse na parte VII.
  • Soporta en arquitectura X86-64:
    • CPUs por host: 4095 (160 en XenServer)
    • RAM por host: 5 TB (1 TB en XenServer)
    • Tarxetas de rede: 16
    • Máximo CPUs para unha Máquina Virtual: 512 (PV) e 256 (HVM)
    • Máxima RAM para unha Máquina Virtual: 512 GB (PV) e 1TB (HVM)
  • Xestión avanzada da rede, verase nas partes V e VI.
  • Prové ferramentas de administración: a través de consola e gráficas.
  • Xestión dinámica da memoria: memory ballooning ao igual que en VirtualBox. Verase na parte VII.
  • XenMotion: permite mover unha MV dun host a outro en quente (vivo) a través dun almacenamento compartido. Verase na parte IX do curso.
  • Storage XenMotion: ofrece a posibilidade de mover o disco virtual dunha MV dun dispositivo de almacenamento a outro, incluso sen apagar a MV. Ou movela dun Host a outro.
  • etc, etc.

Requisitos para instalar Xen

  • CPU: 64bits, a ser posible multicore.
    • Virtualización por hardware (Intel VT / AMD-V): activalo na BIOS para poder instalar MVs baseadas en Windows. (Afondarase sobre isto na parte VII)
  • RAM: Mínimo 2 GiB. Xen consume uns 800 MiB - 1GiB, o demais quedará para asignar ás MVs.
  • Disco duros: Aconsellable como mínimo uns 20 GiB. Recoméndase moito máis.
    • Xen precisa uns 8 GiB para si mesmo. Xen crea 2 particións de 4GiB para o dominio controlador (dom0). O resto do espazo quedará para usar asignar as MVs.
      • A cada MV Linux asínaselle uns 8 GiB mínimo.
      • A cada MV Windows asínaselle como mínimo 24 GiB.
    • Visto isto o disco para o curso debera ter como mínimo uns 80 - 100 GiB.
    • Verase como engadir discos externos, vía NFS e iSCSI.
  • Tarxeta de rede: unha con velocidade de 100Mib/s ou máis rápida. Para ter redundancia é aconsellable ter máis de unha tarxeta de rede.

Produtos usados no material do curso

  • O material do curso foi elaborado na primeira edición con XCP principalmente e con XenServer naquelas funcionalidades ou características nas que era distinto, neste caso o texto estará en cor verde .
  • Nesta edición (Out 2016) vaise traballar coa versión liberada de XenServer:
    • Descargar a versión XenServer para a realización do curso. Se alguén o desexa e ten a posibilidade de instalar XCP para testear a funcionalidade de realización de backups de MVs.





  • Non se mencionan en que versións do Hipervisor, Distribución Linux, kernel, etc están baseadas as versións do material porque no momento de realizar os apuntes son unhas e no futuro serán outras.
  • As versións actuais de XCP son: http://wiki.xenproject.org/wiki/Xen_/_XCP_/_XCP_on_Linux_Overview.
  • Na parte VII afondarase máis sobre isto.

XenCenter

  • É unha interface gráfica que se debe instalar nun equipo Windows e que serve para administrar un servidor con XenServer ou XCP.

XenCenter.jpeg Sv 2013 vds 06.jpg

Documentación e bibliografía

A continuación amósanse enlaces de interese que se usaron para a realización do material







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