oVirt en Fedora

oVirt es una plataforma de virtualización open source por la cual podemos administrar por medio de una aplicación web nuestra infraestructura, actualmente en su comunidad oVirt podemos encontrar muchísima información acerca del estado del proyecto, ademas también Red Hat esta detrás de este proyecto dado que su producto de virtualización RHEV proviene de oVirt.

 

Comenzemos con un breve resumen:

 

Podríamos decir que es la versión open source que compite con VMware VSphere a nivel de soluciones de virtualización en datacenters. OVirt utiliza libvirt lo cual permite manejar diferentes maquinas virtuales corriendo en diferentes backed, incluyendo KVM,Xen y VirtualBox[2], sin embargo el foco principal de oVirt es KVM.
OVirt tiene una aplicación de administración muy sofisticada muy útil para los administradores de sistemas, pero también posee una interfaz de consola de texto muy similar a la de virsh por la cual podemos realizar las mismas tareas que hacemos por la web. Esta interface de administración nos da un panel central de configuración en la cual podemos manejar todo el storage,red , recursos de las vm, sistema de reportes, manejo de roles de administración para determinados usuarios en donde se le aplica que perfil usa para que pueda hacer determinadas tareas de administración u solo un uso básico, y por supuesto todo lo referente a la virtualización de nuestra infraestructura.

oVirt puede manejar múltiples hosts, estos host servers diferentes del nodo que se instala el producto ovirt-manager se comunican por medio de  https con xml-rpc por medio de un agente instalado en el servidor – VDSMd (Virtual Desktops and Servers Manager daemon), este ultimo se comunica con libvirt para tener el control de las maquinas virtuales. Por medio de VDSMd también configura la parte de networking ( Vlans, MTU , múltiples gateways, y soporte para OpenStack Neutron,entre otras).

OVirt esta escrito en Java, con JBoss como servidor de aplicaciones y GWT como framework grafico. VSDMd esta escrito en python.

Arquitectura:

Partiendo del modelo anterior una vista rápida y estandar de oVirt consta de tres partes primeramente:

ovirt-engine el cual es usado para deployar, monitorear, mover,parar y crear imágenes de VM, configurar storate, redes, etc.
Uno o moas hosts (nodes), en donde correrán las maquinas virtuales (VM)
Uno o mas nodos Storage, en donde estarán las imágenes ISo que corresponden a cada VM

También se necesita un servicio de autenticación para manejar todo el sistema de administración de usuarios para ovirt-engine, para eso se puede usar Active Directory, LDAP, IPA.
Los nodos son sistemas GNU/Linux con VDSM y libvirt instalados, también con otros paquetes extras para poder habilitar la virtualizacion de networking y otros servicios del sistema. Fedora 17 fue la primera versión que soporto oVirt para instalar ovirt-engine o la iso personalizada llamada oVirt-node que contiene básicamente lo justo y necesario para la virtualización del sistema como nodo.
Los nodos de Storage pueden ser block o file storages, también pueden ser locales o remotos, accedidos por NFS también. Otro feature importante es el uso de Gluster para storage compartidos, también tenemos iscis, FCoE. Los nodos de storage son agrupados en pools de storage para poder brindar alta disponibilidad y redundancia, para mas información podemos ver VDSM Storage Terminology, que básicamente resume el concepto de lo que son los Storage Pool, Storage Domain, Image, Volume/Snapshot.

 

 

Sus componentes principales son:

1. Engine (ovirt-engine) – Maneja los host oVirt, y permite que los administradores creen y deployen nuevas VMs.
2. Admin Portal – Aplicación web que permite realizar diversas tareas avanzadas de administración.
3. User Portal – Una aplicación web mas simple para determinados casos de administración mas básicos.
4. REST API – Una API que permite realizar diversas tareas de virtualización, se puede usar desde la linea de comandos o por medio del SDK de python
5. CLI/SDK – La interface CLI y SDK permiten un método de comunicación hacia el engine por medio de scritps.
6. Database – La base de datos Postgres es usada por el engine para poder proveer de persistencia para cada configuración que ovirt realiza con cada componente..
7. Host agent (VDSM) – El engine oVirt se comunica con VSDSM para pedirle realizar determinadas acciones sobre las VMs
8. Guest Agent – El agente que corre dentro de cada vm provee informacion acerca de los recursos a oVirt engine. La comunicación se realiza a través de una conexión serial virtualizada.
9. AD/IPA – Servicios de Directorio. Engine los utiliza para recibir informacion correspondientes de los usuarios y grupos asi puede determinar los mecanismos de permisos.
10. DWH (Data Warehouse) – El compontente data warehouse realiza diversas tareas ETL en la data extraida de la base usando Talend , y asi inserta esta en el historial de la base.
11. Reports Engine – Gneracion de reportes basado en la informacion historica de la DB, de diversos tipo como el uso de recursos,etc, los reportes que usa son Jasper
12. SPICE client – El memto de accceso de os usuarios a las VMs.

 

 

Versiones de oVirt y features:

 

oVirt actualmente en Fedora se encuentra en la versión 3.2 para Fedora 20[3] pero en el proyecto ya tenemos la versión 3.3 como estable[4]. Son muchísimas las características que posee ovirt[5,6], pero podríamos mencionar algunas mas importantes.

 

Alta Disponibilidad : Reiniciar los Guests VMs de un host con errores automáticamente a otro host

 

Migracion en caliente de VMs: Mover las VM que esta corriendo en otro host sin donwtime.

 

Migracion en caliente de Storage: Poder mover una VMs también con su disco de un storage domain a otro.

Scheduler de Sistema: Balanceo continuo de los recursos de las VM según políticas o uso del host.

Power Saver: Concentrar las maquinas virtuales en la menor cantidad de servidores durante las horas no pico

Administrador de Mantenimiento: No hay tiempo de inactividad en las máquinas virtuales durante las ventanas de mantenimiento programadas cuando por ejemplo se hace parcheo del Hypervisor.

Administrador de Imagenes: CreaciÓn de VM basadas en plantillas, thin provisioning y snapshosts. Posibilidad de hacer en caliente

Monitoreo y reportes: Para cada item del sistema – VM guest, hosts, networking, storage,etc

OVF Importar/Exportar: Importar y exportar VM y plantillas usando OVF files.

V2V: Convertir Vms desde Vmware y RHEL/Xen a oVirt

Storage: Soporte para iSCSI, FCoE, NFS, y Gluster para storage compartidos.

Instalacion:

 

Ahora que ya vimos un pantallazo general del producto vamos a ver un poco los requerimientos de instalación y los pasos a seguir para una instalación básica y también algunas capturas de las pantallas mas comunes.

Vamos a ver una serie de 7 pasos para instalar tanto el oVirt-engine y el ovirt-node[9] en el mismo equipo, lo cual no es lo mas recomendado pero para probarlo sirve , dado que lo ideal es instalarlo todo por separado, en un nodo el ovirt-engine y en otro utilizar la iso de ovirt-node o instalar vdsm y otros paquetes para transformar esa distro en un nodo ovirt. Esta el camino mas difícil que es buildear desde las fuentes el oVirt-engine[10] y el oVirt-node[11]

 

Requerimientos de Hardware
4 GB Memoria
20 GB disk space
Opcional
Network storage
Software
Fedora 19 or Red Hat Enterprise Linux 6.4 (o similar)
Navegadores recomendados
Mozilla Firefox 17 or later
Internet Explorer 9 or later

 

Los siguientes pasos están para Fedora 19, pero se utiliza el repo de ovirt porque la versión 3.3 no esta disponible para Fedora, recien en Fedora 20 esta la 3.2.

Fedora 19 
0. Agregar el repositorio oficial de oVirt para Fedora.
sudo yum localinstall http://ovirt.org/releases/ovirt-release-fedora.noarch.rpm
Esto agregara el repositorio de oVirt a tu equipo permitiendo tener los ultimos paquets de oVirt
También esto habilitara el repositorio virt-preview en tu equipo dándote acceso a las versiones ultimas de libvirt y KVM

1. Instalar oVirt Engine.
sudo yum install -y ovirt-engine
2. Opcionalmente se puede instalar el paquete All-In-One plugin si se desea tener el host de VMs dentro del Engine Host
sudo yum install -y ovirt-engine-setup-plugin-allinone
3. Set up oVirt Engine.
sudo engine-setup
4. Seguir los pasos que van saliendo en pantalla para configurar e instalar el engine.
5. Una vez terminada satisfactoriamente la instalación de oVirt Engine, tendrá en pantalla las instrucciones para poder acceder al panel de administración web de oVirt
6. ¿Eso fue todo?, querían algo mas complicado ??, ya se encuentra todo instalado.
7. En el caso que instalamos solo el oVirt-node, hay que seguir otros pasos para instalar los oVirt Host[12]

 

 

 

Acceso: Ovirt

 

 

 

Fuente: ITrestauración

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *