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 07:47 5 may 2013 de Carrion (discusión | contribs.) (→‎Características de Xen)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
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. Este 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, 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 os actuais: Xenserver, 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 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 anuncia que liberará o código de XenServer co nome de Xen Cloud Platform (XCP).
    • En 2010 créase o logo do proxecto http://xen.org.


  • No momento en Citrix adquiriu Xensource moveu o proxecto ao sitio: http://xen.org.
  • Na actualidade o proxecto Xen é xestionado dende: http://xenproject.org.
    • Ambos os dous sitios están operativos e aínda que 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 é 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 que 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 hardaware 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 ás 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 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 V 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 privelexiados 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. Este interface pode ser accedido por unha consola de comandos, un interface gráfico (como Xencenter, que se verá nesta parte IV) ou interface web.
  • Na Parte V 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) as demais MVs (domu). Deste xeito, toda MV vai ter que usar uns drivers xenéricos (frontend) e non 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 a través do hardware.
  • Esta forma de traballar permite que se poidan migrar as MVs duns hosts 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 Dominio 0 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 dunha consola de xestión, chamada Xencenter. Esta hai que instalala nun sistema Windows.
  • Xenserver dispón 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 permite a migración manual en quente dunha MV hospedada nun host a outro.
    • Xenserver Advanced: 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: son versións de pago que engaden novas funcionalidades á anterior edición.
    • No seguinte enlace hai unha táboa comparativa dos prezos e das funcionalidades de cada edición: http://www.citrix.es/products/xenserver/features/editions.html

Xen Cloud Platform (XCP)

  • Como xa se indicou, Xen Cloud Platform (en diante XCP) é unha solución libre de chave en man que ofrece servizos de virtualización e de Cloud Computing.
  • XCP é un subconxunto de funcionalidades das que proven 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 presenta 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:


Features Xen Cloud Platform XenServer Free XenServer Advanced XenServer Enterprise XenServer Platinum
Custe/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 collidas do sitio Edicións XenServer


[1] LGPL, GPL, Q Public License v1
[2] Funciona correctamente usando a solución de Citrix.
[3] Recuperación e protección automática da MV está dispoñible soamente nas edicións Advanced e Enterprise a partir da versión 6.0 de Xenserver.


  • 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 actual de XCP. 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 V.
  • 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 V.
  • XenMotion: permite mover unha MV dun host a outro en quente (vivo) a través dun almacenamento compartido. Verase na parte VI do curso.
  • Storage XenMotion: ofrece a posibilidade de mover unha máquina virtual dun host a outro aínda que non compartan almacenamento.
  • 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 V)
  • RAM:Mínimo 2 GiB. Xen consume uns 800 MiB, o demais quedará para asignar ás MVs.
  • Disco duros: Aconsellable como mínimo uns 20 GB. Recoméndase moito máis.
    • Xen precisa uns 8 GiB para se 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.
    • Na parte VI verase como engadir discos externos, vía NFS e iSCSI.
  • Tarxeta de rede: unha con velocidade de 100Mb/s ou máis rápida. Para ter redundancia é asonsellable ter máis de unha tarxeta de rede, verase na parte V e VI.

Produtos usados no material do curso

  • O material do curso está elaborado con XCP principalmente e con Xenserver naquelas funcionalidades ou características na que sexa distinto, neste caso o texto estará en cor verde .
  • Descargar a versión XCP para a realización do curso. Se alguén o desexa e ten a posibilidade de instalar Xenserver Free para testear o seu funcionamento tamén o pode descargar.
  • Paradescargar XCP (versión 1.6, marzo 2013):http://www.xen.org/download/xcp/index.html
  • Para descargar Xenserver Free (versión 6.1, marzo 2013): http://www.citrix.es/products/xenserver/try.html
    • Poderíase descargar a versión Premium para probar tódalas funcionalidades, pero pasados 30 días habería que mercala ou deixaría de funcionar.
  • Non se mencionan en que versións do Hipervisor, Distribución Linux, kernel, etc están baseadas as versións porque no momento de realizar os apuntes son unhas e no futuro serán outras.
  • As versións actuais son: http://wiki.xenproject.org/wiki/Xen_/_XCP_/_XCP_on_Linux_Overview.
  • Na parte V afondarase máis sobre isto.

Documentación e bibliografía

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