Conceptos y Arquitectura - UAMhepexp.ft.uam.es/quattor/tutorials/uam-feb2004/quattor.pdf · de...
Transcript of Conceptos y Arquitectura - UAMhepexp.ft.uam.es/quattor/tutorials/uam-feb2004/quattor.pdf · de...
Conceptos y Arquitectura
Rafael A. García [email protected] de Física TeóricaUniversidad Autónoma de Madrid
Contenido
Introducción
Criterios de Diseño
Base de Datos de Configuraciones
Caché de Configuraciones en Cliente
Gestión de la Configuración de los Clientes
Gestión de Paquetes Software
Instalaciones Automáticas
Módulos Servidores
Otros Subsistemas
Conclusiones
quattor is an administration toolkit for optimizing resources
Objetivo: proporcionar una herramienta potente, portable y modular, para la automatización de las tareas de instalación, configuración y mantenimiento de clusters y redes de ordenadores basadas en Unix y derivados (como Linux y Solaris)
Licencia: EU DataGrid Software License (Open Source)Página Oficial: http://www.quattor.org
Elementos de Diseño
Áltamente Modular No Intrusivo Reutilización de Software existente Uso de Estándares (HTTP, XML, etc.) Diseño Distribuido Librerías de Base
�� �
� �Nodo
Cliente
Arquitectura de quattor
� ��� �
��
�� �
� �
� � � � �
� ��� � �
CDB: Base de Datos de Configuraciones
HLD: Descripción de Alto Nivel
LLD: Descripción a Bajo Nivel
Acceso para Administradores
Base de Datos deConfiguraciones
CDB: Base de Datos de Configuraciones
HLD: Descripción de Alto Nivel
Lenguaje Pan
LLD: Descripción a Bajo Nivel
Acceso para Administradores
Base de Datos deConfiguraciones
Host1
Users
System
Network
Hard.
Host2
CDB: Base de Datos de Configuraciones
HLD: Descripción de Alto Nivel
Lenguaje Pan
LLD: Descripción a Bajo Nivel
Acceso para Administradores
Base de Datos deConfiguraciones
Host1
Users
System
Network
Hard.
Host2
# Tipo: CPUdefine type cpu_t = { “vendor” : string “model” : string “speed” : double};
# Estructurasstructure template cpu_intel_p3_800; “vendor” = “Intel”; “model” = “Pentium III (Coppermine)”; “speed” = 796.550 # Mhz
# Código de Validación# nos aseguramos de que tenemos 256MB de RAM por CPUvalid “/hardware/memory/size” = self >= 256 * length(value(“/hardware/cpus”));
# Funcionesdefine function increment = { argv[0] = argv[0] + argv[1];};
CDB: Base de Datos de Configuraciones
HLD: Descripción de Alto Nivel
LLD: Descripción a Bajo Nivel
Basado en XML
Acceso para Administradores
Base de Datos deConfiguraciones
Host1
Users
System
Network
Hard.
Host2Host1XML
Host1
Host2XML
panc cake
CDB: Base de Datos de Configuraciones
HLD: Descripción de Alto Nivel
LLD: Descripción a Bajo Nivel
Acceso para Administradores
Accesos Concurrentes
Transacciones
Control de Versiones
Base de Datos deConfiguraciones
�� �
SOAP
Control deSesiones
GUI
CLI
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager�� �
Nodo Cliente� �
Configuration Cache Manager
Notificaciones (listend)
Cache de perfiles (y fetch)
Acceso con NVA-API
Otros: purge
Node Configuration Manager
�� �� �
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Notificaciones (listend)
Cache de perfiles (y fetch)
Acceso con NVA-API
Otros: purge
Node Configuration Manager
�� �� �
listend
cdp
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Notificaciones (listend)
Cache de perfiles (y fetch)
Acceso con NVA-API
Otros: purge
Node Configuration Manager
�� �� �
listend
perfi les
cdp fetch
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Notificaciones (listend)
Cache de perfiles (y fetch)
Acceso con NVA-API
Otros: purge
Node Configuration Manager
�� �� �
listend
NVAAPI
perfi les
cdp fetch
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Notificaciones (listend)
Cache de perfiles (y fetch)
Acceso con NVA-API
Otros: purge
Node Configuration Manager
�� �� �
listend
purge
NVAAPI
perfi les
cdp fetch
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
�� �� �
listend
purge
NVAAPI
cdispd
perfi les
cdp fetch
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
�� �� �
listend
purge
NVAAPI
ncd
cdispd
perfi les
cdp fetch
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
�� �� �
listend
purge
NVAAPI
ncd
cdispd
perfi les
cdp fetch
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
�� �� �
listend
purge
NVAAPI
ncd
cdispd
perfi les
cdp fetch
/etc/passwd/etc/shadow/etc/groups
auth
Nodo Cliente
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
�� �� �
listend
purge
NVAAPI
ncd
cdispd
perfi les
cdp fetch
/etc/passwd/etc/shadow/etc/groups
auth
Nodo Cliente
Gestión de la Configuración en los Clientes[...]
sub Conf i gur e {
my ( $sel f , $conf i g) = @_;
# Acceso a l a i nf or mac i ón de conf i gur ac i ón
my $ar ch=$conf i g- >get Val ue( ' / sys t em/ ar chi t ec t ur e’ ) ; # NVA- API
$sel f - >Fai l ( “ not suppor t ed" ) unl ess ( $ar ch eq ‘ i 386’ ) ;
# gener a y / o ac t ual i za el f i cher o de conf i gur ac i ón l ocal
open ( myconf i g, ’ / et c / myconf i g’ ) ; …
# i nf or ma a l os ser v i c i os ( SysV) af ec t ados
i f ( $changed) {
sys t em( ‘ / sbi n/ ser v i ce myser v i ce r el oad’ ) ; …
}
}
sub Unconf i gur e { . . . }
Repositorio Software
Soft. Package Management Agent
Equipo Cliente
Gestión de Paquetes Software
Repositorio Software
Repositorio Software
Plataformas
Áreas
Gestión de Réplicas
Soft. Package Management Agent
Gestión de Paquetes Software
SWRepRPMs
http | ftp | nfs
Equipo Cliente
Repositorio Software
Soft. Package Management Agent
Componente spma
SPMA
Gestor de Paquetes: rmpt, pkg
��
�
NVAAPI
ncd
spma.pm
Gestión de Paquetes Software
target.cf
SWRepRPMs
http | ftp | nfs
Repositorio Software
Soft. Package Management Agent
Componente spma
SPMA
Gestor de Paquetes: rmpt, pkg
��
�
NVAAPI
ncd
Gestión de Paquetes Software
SPMAtarget.cf
SWRepRPMs
http | ftp | nfs
spma.pm
Repositorio Software
Soft. Package Management Agent
Componente spma
SPMA
Gestor de Paquetes: rmpt, pkg
��
�
NVAAPI
ncd
Gestión de Paquetes Software
SPMA
rpmt
target.cf
SWRepRPMs
http | ftp | nfs
spma.pm
Automated Installation Infrastructure
Gestor de DHCP
Gestor de NBP (PXElinux)
Gestor del Instalador (KS)
Frontend
GestorDHCP
Frontend
Instalación Automática de Nodos� �� � � � �
GestorNBP
GestorInstal.
PXElinux
DHCP
KickStart
AII �� �
RPMs
Módulos de Servicios
Consultas SQL
Consultas LDAP
Réplicas XML
Módulos de Servicios
� � � � �
� ���� �
Módulos de Servicios
Consultas SQL
Consultas LDAP
Réplicas XML
Módulos de Servicios
¿Algún Vonluntar io?
� ��� � �
� � ��� �
Módulos de Servicios
Consultas SQL
Consultas LDAP
Réplicas XML
Módulos de Servicios� � � �� � � �
� �
�� �
� � � �� � � �
� �
Subsistema de Sincronización
Configuration Distribution Protocol
Notification Cache Repository
Notification Client Handler
Notification Client Library
Notification Claent Daemon
Subsistema de Sincronización
�� �
listend
NCH
NCLnotif.
cdp
local actions
Nodo Cliente
Entorno Gráfico
Quattor es una her ramienta para la instalación, configuración y mantenimiento del sistema operativo y del software de aplicación en los equipos de una red.
Actualmente existen versiones de quattor para RedHat L inux y Solar is.
Quattor es una solución que puede escalar a miles de nodos, ofreciendo una reducción significativa de los costes asociados al las tareas de mantenimiento de grandes centros de computación; sobre todo en aquellas integradas en entronos Gr id.
Quattor incluye innovaciones con respecto a otras soluciones existentes.
Quattor se encuentra actualmente en producción en centros como el CERN (más de 2000 nodos) y la UAM. Otros centros interesados son NI KHEF, I N2P3/LAL , etc.
Resumen