Bcfg2 (pronunciado "bee-config") es una herramienta de administración de configuración desarrollada en la División de Matemáticas e Informática del Laboratorio Nacional Argonne . Bcfg2 ayuda en el ciclo de vida de la gestión de la infraestructura: análisis de la configuración, implementación de servicios y auditoría de la configuración. Incluye herramientas para visualizar información de configuración, así como herramientas de informes que ayudan a los administradores a comprender los patrones de configuración en sus entornos.
Desarrollador (es) | Narayan Desai y col. |
---|---|
Lanzamiento estable | 1.3.6 [1] / 11 de junio de 2015 |
Versión de vista previa | 1.4.0pre2 / 13 de noviembre de 2015 |
Escrito en | Pitón |
Sistema operativo | Multiplataforma |
Plataforma | Unix , Linux |
Tipo | Gestión de la configuración , administración del sistema , gestión de la red |
Licencia | BSD 2 cláusula [2] |
Sitio web | bcfg2 |
Bcfg2 se diferencia de las herramientas de gestión de configuración similares debido a su capacidad de auditoría. Uno de los objetivos de diseño establecidos para Bcfg2 es determinar si se han realizado cambios interactivos (directos) en una máquina e informar sobre estos cambios adicionales. Opcionalmente, el cliente puede eliminar cualquier configuración adicional. [3]
Descripción general
Bcfg2 está escrito en Python y permite al administrador del sistema administrar la configuración de una gran cantidad de computadoras usando un modelo de configuración central. Bcfg2 opera utilizando un modelo simple de configuración del sistema, modelando elementos intuitivos como paquetes, servicios y archivos de configuración (así como las dependencias entre ellos). Este modelo de configuración del sistema se utiliza para verificación y validación, lo que permite una auditoría sólida de los sistemas implementados. La especificación de configuración de Bcfg2 se escribe utilizando un modelo XML declarativo . [4] La especificación completa se puede validar utilizando validadores de esquemas XML ampliamente disponibles junto con los esquemas personalizados incluidos en Bcfg2.
Diseñado para ser multiplataforma , Bcfg2 funciona en la mayoría de los sistemas operativos similares a Unix. [5]
Arquitectura
Bcfg2 se basa en una arquitectura cliente-servidor. El cliente es responsable de interpretar (pero no procesar) la configuración servida por el servidor. Esta configuración es literal, por lo que no se requiere ningún procesamiento del lado del cliente de la configuración. Una vez finalizado el proceso de configuración, el cliente carga un conjunto de estadísticas en el servidor.
El cliente Bcfg2
El cliente Bcfg2 realiza todas las operaciones de configuración o reconfiguración del cliente. Presenta una especificación de configuración declarativa, proporcionada por el servidor Bcfg2, en un conjunto de operaciones de configuración que intentarán cambiar el estado del cliente al descrito por la especificación de configuración.
Se pretende que el funcionamiento del cliente Bcfg2 sea lo más sencillo posible. Conceptualmente, el único propósito del cliente es conciliar las diferencias entre el estado actual del cliente y el estado descrito en la especificación recibida del servidor Bcfg2.
El servidor Bcfg2
El servidor Bcfg2 es responsable de tomar una descripción de la red y convertirla en una serie de especificaciones de configuración para clientes particulares. También gestiona los datos analizados y realiza un seguimiento de las estadísticas de los clientes.
Operación del servidor
El servidor Bcfg2 toma información de dos fuentes cuando genera especificaciones de configuración del cliente. El primero es un conjunto de metadatos que describe a los clientes como miembros de un sistema de clasificación basado en aspectos. Es decir, los clientes se definen en términos de aspectos de su comportamiento abstracto . El otro es un repositorio de sistema de archivos que contiene asignaciones de metadatos a la configuración literal . Estos se combinan para formar las especificaciones de configuración literal para los clientes.
Un ejemplo de entradas de configuración abstractas:
< Nombre de paquete = "openssh-server" /> < Nombre de ruta = "/ etc / motd" />
Un ejemplo de entradas de configuración literal:
name = "openssh-server" version = "auto" type = "deb" /> name = "/ etc / motd" > Hola desde Bcfg2
Ver también
Referencias
- ^ solj (29 de enero de 2013). "Descarga de lanzamientos de Bcfg2" . Bcfg2 . Consultado el 26 de febrero de 2014 .
- ^ Bcfg2. "bcfg2 / LICENCIA en el maestro · Bcfg2 / bcfg2 · GitHub" . Github.com . Consultado el 26 de febrero de 2014 .
- ^ "Objetivos de la arquitectura Bcfg2" . Bcfg2 . Consultado el 16 de diciembre de 2014 .
- ^ "Bcfg2 | Sysconfigtools" . Archivado desde el original el 28 de marzo de 2012 . Consultado el 30 de julio de 2011 .
- ^ Desai, Narayan. "¿Qué sistemas operativos admite Bcfg2?" . Equipo de desarrollo de Bcfg2 . Consultado el 26 de febrero de 2013 .
Otras lecturas
- Narayan Desai; Cory Lueninghoener (10 de noviembre de 2008). Gestión de la configuración con Bcfg2 (Temas cortos de USENIX sobre administración de sistemas, # 19) [Paperback] . Asociación USENIX. ISBN 978-1-931-97164-5.