Conceptos y Arquitectura
Rafael A. García Leiva
[email protected]
Departamento de Física Teórica
Universidad 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
Arquitectura de quattor
Nodo
Cliente
CDB: Base de Datos de Configuraciones
HLD: Descripción de Alto Nivel
LLD: Descripción a Bajo Nivel
Acceso para Administradores
Base de Datos de
Configuraciones
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 de
Configuraciones
Host1
Host2
System
Hard.
Network
Users
CDB: Base de Datos de Configuraciones
# Tipo: CPU
define type cpu_t = {
vendor : string
model : string
speed : double
};
HLD: Descripción de Alto Nivel
# Estructuras
structure template cpu_intel_p3_800;
Lenguaje Pan
vendor = Intel;
model = Pentium III (Coppermine);
speed = 796.550 # Mhz
LLD: Descripción a Bajo Nivel
Base de Datos de
Configuraciones
Acceso para Administradores
# Cdigo de Validacin
# nos aseguramos de que tenemos 256MB de RAM por CPU
valid /hardware/memory/size =
self >= 256 * length(value(/hardware/cpus));
System
Hard.
Host1
Host2
# Funciones
define function increment = {
argv[0] = argv[0] + argv[1];
};
Network
Users
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 de
Configuraciones
Host1
Host1
Host2
System
Hard.
panc
cake
Network
Users
Host1
XML
Host2
XML
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 de
Configuraciones
Control de
Sesiones
SOAP
GUI
CLI
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Nodo Cliente
Gestión de la Configuración en los Clientes
Nodo Cliente
Configuration Cache Manager
Notificaciones (listend)
Cache de perfiles (y fetch)
Acceso con NVA-API
Otros: purge
Node Configuration Manager
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
Nodo Cliente
listend
cdp
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
Nodo Cliente
perfiles
listend
cdp
fetch
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
Nodo Cliente
NVA
API
perfiles
listend
cdp
fetch
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
Nodo Cliente
NVA
API
purge
perfiles
listend
cdp
fetch
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
Nodo Cliente
cdispd
NVA
API
purge
perfiles
listend
cdp
fetch
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
Nodo Cliente
cdispd
purge
ncd
NVA
API
perfiles
listend
cdp
fetch
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
Nodo Cliente
cdispd
purge
ncd
NVA
API
perfiles
listend
cdp
fetch
Gestión de la Configuración en los Clientes
Configuration Cache Manager
Node Configuration Manager
Configuration Dispatch Daemon
Node Configuration Deployer
Configuration Components
Nodo Cliente
cdispd
purge
perfiles
listend
NVA
API
ncd
auth
/etc/passwd
/etc/shadow
/etc/groups
cdp
fetch
Gestión de la Configuración en los Clientes
[...]
sub Configure {
my ($self,$config) = @_;
Nodo Cliente
# Acceso a la información de configuración
Configuration Cache Manager
my $arch=$config->getValue('/system/architecture’); # NVA-API
Node Configuration Manager
$self->Fail (“not supported") unless ($arch eq ‘i386’);
cdispd
# genera y/o actualiza el fichero de configuración local
Configuration Dispatch Daemon
purge
open (myconfig,’/etc/myconfig’); …
Node Configuration Deployer
Configuration Components
# informa a los servicios (SysV) afectados
perfiles
if ($changed) {
NVA
API
ncd
auth
system(‘/sbin/service myservice reload’); …
}
}
sub Unconfigure { ... }
listend
/etc/passwd
/etc/shadow
/etc/groups
cdp
fetch
Gestión de Paquetes Software
Repositorio Software
Soft. Package Management Agent
Equipo Cliente
Repositorio Software
Gestión de Paquetes Software
Repositorio Software
Plataformas
Áreas
Gestión de Réplicas
Soft. Package Management Agent
Equipo Cliente
http | ftp | nfs
RPMs
SWRep
Gestión de Paquetes Software
Repositorio Software
Soft. Package Management Agent
Componente spma
SPMA
Gestor de Paquetes: rmpt, pkg
NVA
API
ncd
spma.pm
target.cf
http | ftp | nfs
RPMs
SWRep
Gestión de Paquetes Software
Repositorio Software
Soft. Package Management Agent
Componente spma
SPMA
Gestor de Paquetes: rmpt, pkg
NVA
API
ncd
spma.pm
target.cf
SPMA
http | ftp | nfs
RPMs
SWRep
Gestión de Paquetes Software
Repositorio Software
Soft. Package Management Agent
Componente spma
SPMA
Gestor de Paquetes: rmpt, pkg
NVA
API
ncd
spma.pm
target.cf
SPMA
rpmt
http | ftp | nfs
RPMs
SWRep
Instalación Automática de Nodos
Automated Installation Infrastructure
Gestor de DHCP
Gestor de NBP (PXElinux)
Gestor del Instalador (KS)
Frontend
AII
Frontend
Gestor
DHCP
Gestor
NBP
Gestor
Instal.
P
C
H
D
x
u
n
i
l
E
X
P
t
r
a
t
S
k
c
i
K
RPMs
Módulos de Servicios
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
¿Algún Vonluntario?
Módulos de Servicios
Módulos de Servicios
Consultas SQL
Consultas LDAP
Réplicas XML
Subsistema de Sincronización
Subsistema de Sincronización
Configuration Distribution Protocol
Notification Cache Repository
Notification Client Handler
Notification Client Library
Notification Claent Daemon
Nodo Cliente
notif.
NCL
NCH
local actions
listend
cdp
Entorno Gráfico
Resumen
Quattor es una herramienta para
instalación, configuración y
mantenimiento del sistema operativo y del software de aplicación en los
equipos de una red.
la
Actualmente existen versiones de quattor para RedHat Linux y Solaris.
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 Grid.
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 NIKHEF,
IN2P3/LAL, etc.
Comentarios de: Quattor - Conceptos y Arquitectura (0)
No hay comentarios