Archivo de la etiqueta: open source

Virtualizando gratuitamente con oVirt

OVirt-logo-

En esta entrada vamos a hablar de oVirt, que es y de que se compone.

Introducción

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, además también Red Hat esta detrás de este proyecto dado que su producto de virtualización RHEV proviene de oVirt. 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, sin embargo el foco principal de oVirt es KVM.

oVirt tiene una aplicación de administración muy completa y ú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 los elementos como son el almacenamiento, la red, recursos de las vm, sistema de reportes, aplicar perfiles a  usuarios para que puedan hacer determinadas tareas de administración, y por supuesto todo lo referente a la virtualización de nuestra infraestructura.

Ovirt 1

oVirt puede manejar multiples hosts, estos hosts que son distintos al que posee ovirt-manager se comunican por medio de https con xml-rpc a través de un agente instalado en el servidor – VDSMd (Virtual Desktops and Servers Manager daemon), este último 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, gateways, y soporte para OpenStack Neutron, etc…).

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

Arquitectura:

La arquitectura la podríamos definir de la siguiente manera:

Ovirt 2

Partiendo del modelo anterior a simple vista podemos indicar que  consta de tres partes, las cuales son:

  1. oVirt-engine el cual es usado para desplegar, monitorizar, mover, parar y crear imágenes de VM, así como configurar almacenamientos, redes, etc…
  2. Uno o más hosts (nodes), en donde se ejecutaran las maquinas virtuales (VM)
  3. Uno o más nodos Storage (almacenamiento), en donde estaran las imágenes ISO que corresponden a cada VM

Tambien se necesita un servicio de autenticación para manejar todo el sistema de administracion de usuarios para ovirt-engine, para eso se puede usar Active Directory, LDAP o IPA.

Los nodos son sistemas GNU/Linux con VDSM y libvirt instalados, también con otros paquetes extras para poder habilitar la virtualización 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 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, accediendo por NFS. También hay que destacar 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.

Podríamos desglosar un poco mas el modelo de arquitectura en la siguiente imagen:

Ovirt Architecture

Sus componentes principales son:

  1. Engine (ovirt-engine) – Maneja los host oVirt, y permite que los administradores creen y deployen nuevas
  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 información 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 información correspondientes de los usuarios y grupos así puede determinar los mecanimos de permisos.
  10. DWH (Data Warehouse) – El componente data warehouse realiza diversas tareas ETL en la data extraída de la base usando Talend , y así inserta esta en el historial de la base.
  11. Reports Engine Generación 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 – Para el de acceso de los usuarios a las VMs.

Otro gráfico con el cual podríamos intentar clarificar  un poco mas

Ovirt Engine-arch

Características:

  • Alta Disponibilidad : Reiniciar los Guests VMs de un host con errores automáticamente a otro host
  • Migración en caliente de VMs: Mover las VM que esta corriendo en otro host sin donwtime.
  • Migración 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 valle.
  • 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
  • Monitorización 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.

Instalación:

Ahora que ya tenemos 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 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 construir desde las fuentes el oVirt-engine y el oVirt-node

Requerimientos

  • Hardware4 GB Memoria y 20 GB de espacio en disco duro
  • OpcionalNetwork storage
  • SoftwareFedora 19 or Red Hat Enterprise Linux 6.4 (o similar)
  • Navegadores recomendados: Mozilla Firefox 17 o  Internet Explorer 9, o versiones posteriores

Los siguientes pasos se han realizado sobre Fedora 19, utilizando el repositorio de Ovirt al no encontrar la versión 3.3  disponible para Fedora.

  1. 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
  2. Instalar oVirt Engine.
    sudo yum install -y ovirt-engine
  3. 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
  4. Set up oVirt Engine.
    sudo engine-setup
  5. Seguir los pasos que van saliendo en pantalla para configurar e instalar el engine.
  6. 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.
  7. En el caso que instalamos solo el oVirt-node, hay que seguir otros pasos para instalar los oVirt Host

  Una pantalla de como quedaría nuestro portal recién instalado, en este caso hay un par de cosas de mas.

Ovirt-Admin-portal-label

Más información:

Anuncios

Deja un comentario

Archivado bajo oVirt, Virtualización

Implementar ITIL mediante herramientas OpenSource

Si estamos pensando en la implantación de procesos en nuestro organización, es muy recomendable seguir  las recomendaciones de ITIL, una de las primeras preguntas a la que nos podemos enfrentar es si ¿existen herramientas que me faciliten esta tarea? Indudablemente la respuesta es sí.

Ahora bien que escogemos ¿Open Source o de pago? por suerte contamos con ambas posibilidades, cada una posee sus pros y sus contras… no deseo decantarme por unas u otras ni a entrar en esta entrada en detalle de ninguna de ellas, la idea es simplemente facilitar un primer contacto sobre estas herramientas, mediante una breve descripción de ellas y también comentar que  por supuesto no están todas las que son, pues continuamente hay novedades.

  • CMDBuild es una herramienta open source que implementa las recomendaciones de ITIL y que se distribuye bajo licencia GPL (GPU Public License). Permitiéndonos gestionar el inventario, relacionar elementos del mismo, almacenar documentos (contratos, notas, manuales,…), programar tareas de mantenimiento para los técnicos, es multi-dioma.
  • GLPI también es Open Source, se centra principalmente en el inventario de activos IT (como son servidores, PCs, impresoras, software,…) y en la gestión de los mismos (problemas, incidencias, proveedores, presupuestos contratos…). La aplicación es multi-idioma y si deseamos catarla podemos hacerlo mediante una demo on-lineUna de las ventajas de esta aplicación es que se puede integrar con OCS Inventory, permitiendo la creación automática de inventarios de hardware, escaneo de red y distribución de paquetes de software.También disponemos de una  demo on-line.
  • GMF es una herramienta Open Source que implementa las recomendaciones de ITIL y que se distribuye bajo licencia GPL (GPU Public License). Incluye módulos de gestión de incidencias, gestión de inventario, gestión del cambio…En la web genos.org podéis encontrar más información sobre GMF, también hay una demo on line disponible en el siguiente enlace donde podréis ver la herramienta según distintos perfiles; importante destacar que para ver la demo on line necesitaréis que vuestro navegador sea IE o Firefox, no funciona con Chrome u otros.
  • iTOP ,es Open Source, permitiendonos la gestión del inventario, gestión de incidencias, gestión del cambio, gestión del servicio (SLAs, contratos con clientes y proveedores), así como la importación de datos a partir de ficheros CSV, cuadros de mando.Dispone de una demo on-line.
  • OneCMDB es una herramienta orientada a implementar ITIL en pequeña y mediana empresa. Nos permite realizar la gestión de activos así como sus relaciones. Dispone de una API que lo proporciona flexibilidad, creación automática de mapas de red, mecanismos de importación de datos, importación/exportación desde NAGIOS.En la web onecmdb.org podéis encontrar más información sobre OneCMDB, capturas de pantalla y un acceso a una demo on line… aunque si intentáis acceder veréis que no es posible.
  • OTRS es una herramienta open source que incluye Help Desk, una solución para la gestión de servicios de IT compatible con ITIL, aplicación para iPhone. Por otro lado el grupo OTRS ofrece consultoría global, desarrollos a medida y servicios de soporte. En la web de OTRS podéis encontrar más información, también hay una demo on line disponible en el siguiente enlace donde podréis ver la herramienta según el perfil que acceda, realmente interesante. Destacar, según comentan en su web, que se integra fácilmente con SAP.
  • Spiceworks es una herramienta open source de gestión, monitorización y resolución de problemas, creación automática de mapas de red, helpdesk (gestión de incidencias), inventario automático de hardware y software (gestión de licencias…), gestión de compras TI,… Puedes acceder a la web de SpiceWorks para descargarla, no os sorprendáis al ver que tiene publicidad incrustada, por algo son gratuitas y el programador tiene que comer.

Si deseáis más información podéis visitar  el siguiente enlace de areaTIC.net

1 comentario

Archivado bajo Gestión de proyectos

Monitorizar servicios con herramientas Open

Definitivamente las herramientas de monitorización nos facilitan la vida a los administradores de IT, directamente nos permiten conocer el uso de nuestros recursos en el momento, el estado de las aplicaciones o servicios, ver el estado actual del hardware y del software entre otros. Indirectamente nos permite proyectar la adquisición de nuevos equipos o ampliaciones, para prevenir futuros problemas e incluso solventar problemas actuales.

Las herramientas de monitorización cumplen con objetivos generales como son:

  • Alertar sobre problemas actuales e inminentes.
  • Tener una visión centralizada de los equipos, servicios, software, hardware y versiones.
  • Tener un  histórico del uso de los recursos.
  • Mostrar gráficos, reports e informes que nos ayudaran  a analizar los datos obtenidos.

Esto nos permitirá realizar tareas como:

  • Prevenir posible problemas futuros relacionados con la falta de recursos por aumentos de carga o de uso.
  • Resolver problemas mediante avisos y alertas antes que el problema afecte al servicio y a los usuarios.
  • En caso de necesitar efectuar adquisiciones de software o hardware, podremos respaldar  nuestra petición mediante un análisis del histórico.
  • Realizar mejoras y optimizaciones en el uso de los recursos.
  • Prevenir fallos de seguridad.
  • Reforzar los puntos débiles de la infraestructura, ya sea hardware, software o servicios.

En esta entrada vamos a ver tres herramientas de monitorización que cubren diferentes funcionalidades y nos permiten tener una visión integral de nuestra infraestructura.

Munin

Esta herramienta permite tener una recopilación gráfica de como ha evolucionado el uso de los recursos durante en el tiempo.

Características

  • Cuenta con un interfaz web que muestra la evolución histórica del uso de recursos durante el tiempo.
  • Munin monitoriza el uso de los recursos de cada máquina, recursos como son el disco, la red, el uso de CPU, RAM, Carga (load).
  • También es capaz de monitorizar indicadores de algunas aplicaciones como tamaño de cola de postfix, procesos de apache, consultas de mysql entre otras.
  • Genera gráficos por día, semana, mes y año de cada uno de los indicadores.
  • Muestra el mínimo, máximo, media y valor actual de los indicadores en cada periodo de tiempo.
  • Es posible configurar umbrales de alerta para estado de advertencia y crítico.
  • El servidor corre sobre Linux, mientras el agente corre tanto sobre Linux y como sobre Windows, este ultimo con algunas limitaciones.

Beneficios

  • Permite determinar con anticipación cuando un recurso estará sobre utilizado o será insuficiente. Por ejemplo permite anticipar la compra de discos duros antes que estos estén llenos.
  • Permite monitorizar errores o generar mejoras. Por ejemplo permite detectar errores de red que pueden ser causados por la alta carga del servidor.
  • Permite medir cuantitativamente el crecimiento del uso de los recursos, de esta manera es posible sustentar la compra de hardware o medir el crecimiento.

Nagios

El principal objetivo de esta herramienta es comprobar el estado de aplicaciones mediante escaneo de puertos, ejecución de comandos o la ejecución de cualquier prueba que pueda determinar si un servicio está corriendo correctamente, por ejemplo peticiones http o consultas sql.

Características

  • Para establecer un sensor se siguen los siguientes pasos:
    • Determinar el servidor que va a ser monitorizado.
    • Determinar el tipo de sensor (HTTP, TCP, SMTP, SQL, etc).
    • Establecer los umbrales de alerta y crítico. (Por ejemplo tiempo de respuesta mayor a X segundos o más de Y correos en la cola de correo).
    • Establecer el tipo de alerta (normalmente correo) y el contacto (persona o servicio al que llega la alerta).
  • La herramienta cuenta con un interfaz web que muestra el estado de los diferentes servidores y servicios.
  • Los posibles estados que muestra  son desconocido, correcto, advertencia y crítico.
  • Permite establecer diferentes niveles de alerta o escalado, para que diferentes niveles de alerta puedan llegar a diferentes contactos.
  • Es posible establecer diferentes alertas según periodos de tiempo (horas laborales, días laborales, fines de semana, madrugada, etc)
  • Permite establecer modelos (templates) de tipos de servidores (servidores remotos o locales, servidores o desktops, servidores o equipos de red) o tipos de servicios (servicios críticos o no críticos, servicios locales o remotos, etc) según este modelo es posible establecer diferentes frecuencias de muestreo, contactos de alertas, umbral de falla, etc.
  • Una de las características a resaltar de Nagios es la facilidad para crear nuevos sensores y otros comandos, siendo posible crear un sensor virtualmente para cualquier tipo de servicio. Además es posible crear un comando personalizado para el envío de alertas utilizando algún medio alternativo como son VoIP o mensajería instantánea entre otros.
  • La monitorización puede ser de 3 tipos:
    • Activa, el servidor inicia la prueba, por ejemplo el servidor solicita una página http.
    • Remota, el servidor inicia la prueba, pero esta se ejecuta un agente remoto. Por ejemplo ejecutar un comando remoto para saber cuantos procesos se están ejecutando en otro servidor.
    • Pasiva: el servidor nagios recibe el estado de otro servidor, en este caso no inicia la prueba y no tiene control de la frecuencia de ejecución.
  • Permite programar los tiempos de inoperatividad con anticipación para evitar el envío innecesario de alertas.

Beneficios

  • Permite un control exhaustivo del estado de los servicios de los diferentes servidores de manera centralizada.
  • Permite realizar pruebas sobre una infinidad de servicios.
  • Permite ejecutar alertas según el tipo de evento.
  • Permite detectar los problemas antes que causen daños mayores.

OCSInventory

Este sencillo programa es muy útil al permitir tener un inventario centralizado de software y hardware.

Características

  • Interfaz web que muestra el listado de servidores y PCs. El listado puede ser ordenado por cualquier columna y es posible agregar o quitar columnas según la necesidad.
  • La interfaz web muestra el detalle de cada servidor incluyendo:
    • Hardware: CPU, RAM, red, placa madre, video, sonido, entre otros.
    • Software: Sistema operativo, programas instalados.
    • Versión de BIOS
    • Detalles de red o redes activas
  • Cuenta con una funcionalidad de búsqueda que permite filtrar datos como programas instalados, memoria RAM, redes, entre otros.
  • Permite agrupar los servidores por diferentes criterios (similar a la búsqueda).
  • El agente debe ser instalado y configurado en cada servidor u ordenador a ser inventariada.
  • El agente se encuentra disponible para Windows y Linux.

Beneficios

  • Permite tener una vista centralizada de los servidores y ordenadores personales.
  • Facilita la tarea de mantenimiento y renovación de hardware.
  • Facilita la detección de software no autorizado.
  • Facilita la prevención de ataques de seguridad, al mostrar las versiones de los programas instalados en cada ordenador.

¿Cuál usar?

En un ambiente de producción, el uso de todas estas herramientas es casi necesario. Son herramientas que se complementan pudiendose integrar entre sí. Por ejemplo, Munin y Nagios se pueden integrar para que el primero reporte al segundo en forma relativamente sencilla. La fortaleza del Munin es poder contar con informes de uso de los recursos en el tiempo, mientras que la de Nagios es la de reportar alertas no sólo respecto a los recursos si no a la disponibilidad de servicios.

Deja un comentario

Archivado bajo Sistemas