wiki:DocumentacionUsuario1.0.6/Introduccion
Last modified 2 years ago Last modified on 07/15/15 08:49:23

Introducción

El proyecto OpenGnSys (léase OpenGénesis) reúne el esfuerzo conjunto de varias Universidades Públicas españolas para construir una aplicación que permita una fácil gestión centralizada de ordenadores y servidores. Con ella se permite la distribución, instalación y despliegue de distintos sistemas operativos.

OpenGnSys nace debido a la necesidad de disponer de un conjunto de herramientas libres y abiertas que constituyan un sistema completo de gestión y clonación de equipos, versátil e intuitivo, que pueda ser utilizado tanto en la gestión de aulas de informática, como para reinstalar ordenadores y servidores.

La página web de OpenGnSys (www.opengnsys.es) dispone de todos los manuales del proyecto, el código completo de las distintas versiones, varios foros de discusión y ayuda, documentación de la API de programación, etc.

Características de OpenGnSys

La gestión principal de OpenGnSys está basada en una sencilla interfaz web que permite realizar las tareas comunes para gestionar la distribución de software en los distintos clientes. Sin embargo, la estructura de OpenGnSys es lo suficientemente versátil como para adaptarse a las necesidades de las diferentes arquitecturas de redes de ordenadores disponibles en empresas e instituciones.

Para un administrador con conocimientos avanzados, OpenGnSys permite incluir nuevas funcionalidades a partir de la API de funciones del motor de clonación y establece la forma de integrarlas en la consola de una manera sencilla, así como definir menús de inicio para los distintos clientes.

La forma de trabajo habitual es: partir de un equipo modelo donde tendremos instalado uno o más sistemas operativos con los programas y los datos necesarios, crear imágenes de sus sistemas de ficheros y luego replicarlas a todos los ordenadores de una organización o a un grupo de ellos. La siguiente imagen muestra un ejemplo de este modo de trabajo.

Las tareas específicas de configuración y modificación de datos en cada uno de los clientes pueden realizarse directamente desde OpenGnSys una vez terminado el proceso de volcado de la imagen, sin necesidad de arrancar el sistema operativo correspondiente, accediendo a la información almacenada en los discos. Esto supone una significativa ventaja sobre otros productos similares, incluso comerciales.

La distribución de imágenes y ficheros puede realizarse de forma flexible, por lo que se han implementado distintos protocolos de comunicaciones, como Unicast, Multicast y P2P; e incluso también puede disponerse de dicha información de forma off-line (sin necesidad de comunicación con el servidor) accediendo directamente a la caché de datos local de cada cliente o a un dispositivo externo de almacenamiento.

La restauración de equipos se realiza a nivel de sistema de archivos, y permite realizarla en particiones de disco menores al tamaño de la original, hasta el mínimo ocupado por los datos.

La restauración del sistema operativo original no solo supone hacer una copia exacta del modelo, sino que también pueden realizase tareas de configuración del equipo destino, tales como: cambio de nombre del equipo, detección del inventario de hardware y de software instalado, copia o borrado de ficheros y directorios, modificación del registro de Windows, inclusión en un dominio, etc.

Por definición, OpenGnSys es un proyecto de Software Libre. Como tal, todo el código está licenciado bajo GPLv3 o superior, mientras que la documentación asociada está disponible bajo licencia Creative Commons con Reconocimiento y Compartir Igual.

Arquitectura

La arquitectura de OpenGnSys es suficientemente flexible para adaptarse a las necesidades de los diferentes modelos de redes de ordenadores, tanto de empresas como de instituciones, pudiendo ser utilizado en distintos tipos de escenarios:

  • Gestión centralizada de Unidades TIC de Apoyo a Docencia e Investigación, tanto de laboratorios de docencia presencial, como de autoaprendizaje.
  • Mantenimiento del parque de ordenadores personales de los miembros de una Institución.
  • Despliegue y mantenimiento de los servidores de un Centro de Datos en particular.
  • Administración de repositorios de clonación de equipos para los servicios de soporte (helpdesk) o los puntos de información de una Institución.

Capas de servicios

OpenGnSys está constituido por un conjunto de módulos separados en distintas capas de servicios.

  • La capa inferior se encarga del acceso directo a los dispositivos del cliente y de las funciones del motor de clonación.
  • Una capa intermedia que está constituida por un conjunto de herramientas para realizar tareas complejas y personalización del entorno.
  • La capa de administración consta de la interfaz web y de la base de datos de gestión.

Módulos

El Proyecto OpenGnSys es un sistema modular que integra un conjunto de componentes interrelacionados entre sí y que puede ser adaptado a una diversidad de escenarios de trabajo posibles. Estos componentes están formados por servicios estándar (servidores de archivos, web, base de datos, DHCP, PXE,...) y por herramientas desarrolladas a medida para el proyecto, que en combinación ofrecen todas las prestaciones del sistema.

A continuación se describen los distintos componentes del Proyecto OpenGnSys.

OpenGnSys Server

Conjunto de Servicios básicos del sistema de clonación (DHCP, PXE, base de datos, etc.) necesarios para el proceso de arranque y configuración inicial de los clientes.

OpenGnSys Web Administrator

Consola web de gestión centralizada (páginas web, servicios web, etc.) con soporte para administración delegada, que permite el control de todos los componentes del sistema.

OpenGnSys Repository Manager

Gestor del repositorio de imágenes para cada una de las unidades administrativas definidas en el módulo OpenGnSys Administrator, incluyendo un servicio de ficheros complementarios (actualmente se utiliza Samba como servidor de archivos). Puede existir uno o varios módulos, dependiendo del modelo de la organización definido.

OpenGnSys Client

Agente ejecutor de órdenes en el cliente, que integra las siguientes funcionalidades:

  • Interfaz gráfica de selección de opciones predefinidas por el administrador.
  • Ejecución interactiva de funciones del motor de clonación, modo administrador.
  • Ejecución de las tareas enviadas desde el módulo OpenGnSys Administrator.

OpenGnSys Clonning Engine

Librerías de funciones del motor de clonación, instalación y arranque de sistemas operativos en el cliente.

OpenGnSys Installer

Programas de instalación, actualización y desinstalación del sistema, que incluye el generador de configuraciones, el generador de arranque de clientes, el generador de paquetes por componente, etc.

La siguiente figura muestra la relación entre los distintos módulos del proyecto.

Modelo de organización

Desde el punto de vista de una Organización (Universidad), OpenGnSys consta de una consola central de gestión, que se divide en un conjunto de Unidades Administrativas independientes, donde cada una de ellas puede tener asociados uno o varios repositorios de datos que dan servicios a uno o varios grupos de aulas de ordenadores.

Esta distribución permite aplicar una operación a cualquier ámbito desde la Unidad Organizativa (o Unidad de Administración) hasta un determinado cliente en particular. La siguiente figura describe un modelo personalizado para una determinada Organización.

Protocolos de comunicaciones

El proceso de clonación de un sistema de archivos en un número amplio de ordenadores supone un gran volumen de consumo de comunicaciones y, por lo tanto, un tiempo importante en el despliegue de los datos. OpenGnSys intenta mitigar estos impactos implantando varios métodos para realizar las funciones de transferencia de datos, utilizando 3 protocolos de comunicaciones diferentes.

Los protocolos desarrollados para las operaciones de clonación son los siguientes:

  • Unicast: se transmiten todos los datos independientemente a cada uno de los clientes afectados. El volumen de información enviada es igual al tamaño de la imagen multiplicado por el número de clientes. Éste es el método más sencillo y básico, pero el menos eficiente y se utiliza como protocolo de reenvío ante un fallo en transmisión de cualquiera de los otros métodos.
  • Multicast: se transmiten los datos simultáneamente a todos los clientes de la sesión, con lo que la imagen solo se envía una única vez. Este método es muy eficiente, pero no es compatible con algún tipo de hardware de comunicaciones. Deben indicarse parámetros específicos para la sesión, tales como dirección IP de Multicast, puerto de conexión y velocidad de la transmisión.
  • Bittorrent (P2P): el repositorio va transmitiendo trozos aleatorios de la imagen a cada uno de clientes que forman parte del enjambre, cuando un cliente recibe un trozo completo también lo retransmite al resto de equipos, hasta que todos terminan por completar la información. Este protocolo es muy eficiente, aunque consume un gran ancho de banda de la red, requiere que los datos se almacenen previamente en la caché local de cada cliente y es necesario especificar parámetros como el número máximo de clientes, si van a participar o no en la difusión y el tiempo que permanecerán transmitiendo tras recibir todos los datos. Los protocolos P2P pueden estar filtrados en algunas redes de comunicaciones.

El proceso de generación de una imagen del modelo y envío a su repositorio se realiza siempre mediante el protocolo Unicast, puesto que la comunicación solo involucra a un emisor (el cliente modelo) y un receptor (el repositorio de imágenes).

Se recomienda que el alumno evalúe los distintos protocolos de restauración en su entorno de operaciones, para comprobar cuáles de ellos son compatibles con su red de datos y cuál puede resultar más eficiente en cada caso.

El siguiente gráfico ilustra el funcionamiento de cada uno de los protocolos de clonación implementados en OpenGnSys.

Conceptos básicos de operación

El modo de trabajo con el sistema OpenGnSys requiere que los administradores del sistema tengan un conocimiento de algunos conceptos básicos de operación.

Incorporar nuevos ordenadores: Proceso para dar de alta nuevos equipos en el sistema, incluyendo primero sus datos en la configuración del servicio DHCP y posteriormente copiar o incluir esta información en la consola web de administración. Debe tenerse en cuenta que OpenGnSys solo utiliza datos DHCP estáticos.

Secuencia de inicio: Orden de preferencia de ejecución tras el encendido de un ordenador. Un cliente OpenGnSys debe configurarse para que el primer dispositivo de arranque sea la interfaz de red. Por motivos de seguridad y control, puede ser conveniente deshabilitar el inicio directo desde los dispositivos locales.

Cliente OpenGnSys: Equipo que está dado de alta en el sistema y que, al encenderse, OpenGnSys le ofrece sus datos de conexión (mediante DHCP) y su proceso de arranque por defecto (usando PXE).

Proceso de arranque: Secuencia de ejecución que permite cargar el sistema operativo del ordenador. OpenGnSys ofrece la posibilidad de elegir entre un sistema operativo ya instalado en la máquina o un pequeño sistema GNU/Linux propio utilizado para gestionar las operaciones de clonación del equipo. El proceso de arranque estándar de un cliente OpenGnSys termina ejecutando el OpenGnSys Browser.

OpenGnSys Browser: Navegador web que muestra al usuario el menú de selección de operaciones para un determinado cliente, el cual cuenta con 2 modos de operación: usuario (que solo dispone del menú y de la barra de estado) y administración (que además incluye una barra de direcciones, una consola de mensaje de salidas y una terminal de ejecución de comandos).

Menú: Conjunto de opciones que el administrador ofrece al usuario y que son mostradas por el Browser. Puede definirse un menú de inicio normal (que habitualmente incluye operaciones de arranque de sistemas operativos, restauración de sistemas de archivos y apagado del equipo) y un menú opcional de administración (que además puede contar con operaciones predefinidas de gestión del equipo, como la creación de imágenes).

Cliente modelo: Ordenador que debe tener instalado y bien configurado todo el software que debe ser clonado y que, para evitar problemas de post-configuración debe tener una arquitectura similar a los equipos receptores de la imagen generada. Sin embargo, no es necesario que este cliente mantenga la misma distribución y tamaño de particiones que el resto, aunque es recomendable.

Grupo de ordenadores: Conjunto de clientes que normalmente son iguales (comparten un mismo perfil de hardware) o que están ubicados en la misma sala, y que comparten una misma distribución de instalación y unos datos de post-configuración.

Imagen de sistema de archivos: Fichero que contiene una copia exacta de uno de los sistemas de archivos del cliente modelo. OpenGnSys puede mantener varios ficheros asociados a una imagen, tales como, suma de comprobación y datos de transmisión para el protocolo Bittorrent.

Post-configuración: Secuencia de órdenes que permite la personalización independiente para cada cliente, que se ejecuta tras el proceso de clonación de un sistema de archivos y que puede constar de operaciones de creación, borrado o edición de ficheros

Caché local: Repositorio de datos local del cliente que acelera el proceso de clonación evitando la necesidad de conexión con el repositorio remoto y que almacena los datos de las imágenes propias, sus datos de post-configuración y, opcionalmente, los ficheros del proceso de arranque del cliente. La caché local es un sistema de archivos que normalmente está formateado como Ext4 y que suele estar alojado en la 4ª partición del disco 1.

La interfaz web

OpenGnSys Web Administrator es una consola de gestión que permite manejar los clientes de una unidad organizativa, realizando un conjunto de operaciones sobre los mismos, tanto las predefinidas por el sistema, como aquellas personalizadas por los operadores.

Descripción general

Dicha consola web se divide en una serie de espacios principales:

  • Una barra superior con el menú principal de herramientas web.
  • Una zona izquierda con el árbol de objetos con los que operar.
  • Una zona principal derecha con los formularios de operación y de resultados.

La siguiente figura muestra un ejemplo de la consola de administración para una unidad organizativa por defecto.

Interfaz web: barra superior

Los objetos principales a los que se tiene acceso según las distintas herramientas de la barra de menú son:

  • Aulas: distribución jerárquica de la unidad organizativa basada en grupos de aulas, aulas, grupos de ordenadores y ordenadores.
  • Acciones: lista de comandos básicos y agrupación de procedimientos y tareas definidos por el administrador. Las acciones se ejecutan sobre los objetos del árbol de aulas.
  • Imágenes: lista con la definición de las imágenes de sistemas de ficheros.
  • Inventario de hardware: listas de tipos de componentes hardware definidos, de todos los dispositivos detectados y de los perfiles de hardware de los clientes
  • Inventario de software: listas de tipos de software definidos, de todos los programas instalados y de los perfiles de software de los clientes.

  • Repositorios OpenGnSys: repositorios de imágenes definidos para la unidad organizativa.
  • Menús: lista de menús de inicio que pueden ser asignados a los objetos del árbol de aulas.
  • Buscador de equipos: aplicación de búsqueda de ordenadores dentro del árbol de aulas.
  • Ayuda de la API: muestra información completa de la API de programación del motor de clonación.
  • Acerca de: muestra información sobre la versión actual instalada.
  • Salir: desconectarse de la consola web de administración.
  • Cambio unidad organizativa: muestra las unidades organizativas a las que tiene acceso el usuario y permite cambiar entre ellas.

Los menús de órdenes que se aplican sobre los objetos se activan con el botón derecho del ratón. El gráfico de la derecha muestra las opciones disponibles para un objeto de tipo aula.

En este tipo de menús se encuentran, entre otras, las siguientes tipos de operaciones principales:

  • Comandos: submenú de acciones básicas predefinidas que se ejecutan sobre elementos del árbol de aulas.
  • Sincronización: submenú de acciones para la gestión de imágenes básicas e incrementales.
  • Asistentes: submenú de comandos complejos que permiten cierta personalización a la hora de su ejecución.
  • Procedimientos: secuencias ordenadas de comandos con parámetros personalizados.
  • Tareas: comandos que se ejecutan sobre un determinado ámbito en particular y que pueden ser programados para ejecutarse en momentos determinados.
  • Colas de acciones: listas de acciones que están pendientes de ejecución en un ámbito determinado.

La siguiente ilustración muestra el menú contextual de un equipo.

Otros elementos importantes

NetBoot Avanzado

Herramienta que permite seleccionar el tipo de arranque de los clientes de una determinada aula, eligiendo entre los distintos métodos de inicio.

OpenGnSys define por defecto 5 métodos de inicio:

+ Arranque local del MBR del disco (por defecto).

+ Arranque local de la 1ª partición del disco.

+ Arranque local de la 2ª partición del disco.

+ Arranque en red con el Browser en modo usuario.

+ Arranque en red con el Browser en modo administrador.

Al realizar cualquier tipo de modificación en los datos de la propia aula o de cualquiera de los clientes asociados a ella, se regenerarán los archivos de arranque de los clientes sin necesidad de ejecutar la herramienta de NetBoot Avanzado. (nuevo en la versión 1.0.5)

Menús

Un menú es una página web modificada o una lista de ítems que se le presenta al Browser del cliente como página de inicio y que suele contar con una serie de opciones para el arranque de sistemas operativos instalados, la manipulación de datos locales o la ejecución de acciones predefinidas sobre dicho cliente.

Los menús que pueden definirse en la consola web de administración pueden clasificarse según la forma en que han sido generados.

Menú automático
Lista de ítems generada a partir de los procedimientos definidos.

Menú personalizado
Página web creada en HTML modificado que puede incluir URLs que incluyen comandos o scripts que se ejecutan sobre el cliente.

Asimismo, cada menú puede clasificarse según el tipo de acceso requerido.

Menú público
Página y lista de ítems que pueden ser ejecutados por cualquier usuario.

Menú privado
Página o lista de ítems que solo pueden ser ejecutados tras introducir la clave del usuario administrador.

Programación de tareas

La programación de ejecución de tareas permite gestionar fácilmente el lanzamiento de dichas tares sobre sus ámbitos de ejecución en determinados momentos.

Una programación puede constar por varios elementos cronológicos distintos, que permiten lanzar la tarea según las necesidades temporales, pudiendo indicar los días e incluso las horas, marcándolas sobre un calendario.