Conceptos y Arquitectura - UAMhepexp.ft.uam.es/quattor/tutorials/uam-feb2004/quattor.pdf · de...

Post on 22-Apr-2020

1 views 0 download

Transcript of Conceptos y Arquitectura - UAMhepexp.ft.uam.es/quattor/tutorials/uam-feb2004/quattor.pdf · de...

Conceptos y Arquitectura

Rafael A. García Leivaangel.leiva@uam.esDepartamento 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