530 likes | 788 Views
Instalación y configuración de clusters. Ejemplo Sala IBM Adrián Pousa apousa@lidi.info.unlp.edu.ar. Consideraciones generales. Hardware. Sistema operativo. Lenguajes de programación. Herramientas para programación distribuida (Requerimientos de algunas herramientas).
E N D
Instalación y configuración de clusters Ejemplo Sala IBM Adrián Pousa apousa@lidi.info.unlp.edu.ar
Consideraciones generales • Hardware. • Sistema operativo. • Lenguajes de programación. • Herramientas para programación distribuida (Requerimientos de algunas herramientas). • Herramientas de squeduling y monitoreo. • Otros aspectos: • Creación de usuarios. • Directorios compartidos. • Servicios de red (dns, dhcp, firewall,NTP).
Consideraciones generales Hardware • Homogéneo • Misma arquitectura. • Mismas características de componentes. • Facilidades: clonar, compartir configuraciones y archivos. • Heterogéneo • Arquitectura (i386, x86_64, sparc, ppc etc.). • Distintas características de componentes. • Necesidad de recompilar archivos.
Consideraciones generales Sistema operativo • Windows (poco usado) • Entorno grafico “pesado”. • Unix/Linux (mas usados) • Se pueden utilizar instalaciones básicas. • Heterogeneidad en distribuciones (linux).
Consideraciones generales Lenguajes de programación • C (Gcc - gnu, Icc - intel) • Fortran • JAVA (Gcj – gnu, Sun) De acuerdo a las herramientas a utilizar: • Mpi: C, Fortran. • Pvm: C, Fortran. • Rmi: Java.
Consideraciones generales Herramientas de programación • Librerías para programación distribuida: • MPI • PVM (Requerimientos de rsh/ssh sin contraseña) • Java: • RMI • Sockets (Requerimientos JDK, JRE) • Librerías matemáticas. • Blas (Basic Linear Algebra Subprogram) • Lapack (Linear Algebra Packcage) • MKL (Math Kernel Library - Intel)
Consideraciones generales Squeduling y monitoreo • Las herramientas de squeduling son utiles para gestionar las ejecuciones de varios usuarios (Torque – Maui, SGE, Condor). • Monitoreo del estado del cluster (Ganglia).
Consideraciones generales Usuarios • En algunos casos un mismo usuario debe existir en cada equipo: • Mismo grupo (nombre y gid). • Mismo nombre. • Mismo uid. • Alternativas: • Crear en cada equipo (manual o automático). • Centralizar (NIS, NIS+, LDAP).
Consideraciones generales Directorios compartidos • NFS • Compartir configuraciones. • Compartir aplicaciones. • Compartir archivos varios: • fuentes. • homes. • binarios. • Etc.
Consideraciones generales Servicios de red • Útil configurar DNS para evitar modificar archivos de hosts. • FIREWALL: Si el cluster va a tener acceso desde/hacia el exterior (laboratorio remoto). • Direcciones de red, estáticas o dinámicas (DHCP). • NTP.
Consideraciones generales Soluciones • Configurar todas las herramientas suele ser costoso, opciones: • Distribuciones de configuración automática (facilita la tarea pero muchas veces no se sabe como esta configurado, problema si se quiere hacer algún cambio). • Configurar cada herramienta manualmente (complejo pero se tiene mayor control).
Consideraciones generales Herramientas automáticas • Rocks cluster (www.rocksclusters.org) • Versión 5 basada en Centos. • Frontend y varios nodos. • Frontend con servicios: DNS, DHCP, MySQL, NTP, HTTP. • Instalación de nodos rápida (reinstalación). • Concepto de roles.
Consideraciones generales Herramientas automáticas • Rocks cluster roles • Area 51: utilidades para analizar la integridad de archivos y el kernel en el cluster. • Bio: Bioinformática. • Ganglia: Monitoreo del cluster. • HPC: Herramientas para paralelizar. • Sun Grid Engine (SGE): scheduler y colas. • Xen: Virtualizacion.
Consideraciones generales Herramientas automáticas • Otras: • OpenSCE (www.opensce.org) • Oscar (oscar.openclustergroup.org) • Warewulf (warewulf-cluster.org) • xCAT (IBM)(www.xcat.org) • Clustermatic(www.clustermatic.org) • Clubmask(clubmask.sourceforge.net) • Score(www.pccluster.org)
Sala IBM • Hardware 100% homogéneo. • Equipos que se utilizan de escritorio. • Uso de alumnos e investigadores. • MPI – Lenguaje C. • Algunos casos JAVA (RMI - Sockets). • Blas. • Laboratorio remoto. • Acceso desde y hacia el exterior. • Configuración manual, mayor control.
Sala IBMHardware y Sistema operativo • Hardware 100% homogéneo. • Sistema operativo Fedora 8. • Dos particiones: • Investigación. • Cátedras. • Configuración: • Servidor. • Clientes: un solo equipo y luego clonar.
Sala IBMLenguajes de programación • C (Gcc 4.1 y librerias provistas por Fedora). • JAVA (JDK 1.6 de www.sun.com).
Sala IBMHerramientas • MPI: • Lam MPI versión 7.1.4: www.lam-mpi.org. • Requiere acceso rsh entre todos los equipos. • Se puede hacer vía ssh (copiar clave publica). • Instalación y variables de ambiente. • JAVA(rmi) • Librerías matemáticas: • Blas
Sala IBMHerramientas • MPI: • RSH: • Instalar rsh-server. • En el home de cada usuario crear el archivo .rhosts con los hosts que se les permite el acceso. (permiso de lectura/escritura solo para el propietario) • Fedora: • Habilitar los servicios rsh, rlogin y rexec en xinetd.
Sala IBMHerramientas • MPI: • SSH sin contraseña: • Crear la variable de ambiente: export LAM_RSH=“SSH” Luego: Suponer que el usuario UA de la maquina MA quiere acceder por SSH sin contraseña a la maquina MB como usuario UB.
Sala IBMHerramientas • MPI: • SSH sin contraseña: • En la maquina MA ingresar como usuario UA y ejecutar: ua@ma# ssh-keygen –t rsa Pide una contraseña hay que dejarla en blanco, luego deja dos archivos en <ua home>/.ssh: • id_rsa (clave privada) • id_rsa.pub (clave publica)
Sala IBMHerramientas • MPI: • SSH sin contraseña: • Copiar el archivo id_rsa.pub a la maquina MB. • En la maquina MB, agregar el contenido del archivo id_rsa.pub al archivo: <ub home>/.ssh/authorized_keys (solo permiso de lectura para el propietario ) Probar desde MA como usuario UA hacia MB con el usuario UB y no debería pedir contraseña: ua@ma# ssh ub@mb
Sala IBMHerramientas • MPI: • Instalación y variables de ambiente: • Por defecto (no prefix). • Personalizada (fácil de cambiar versiones): • Configurar PATH para ubicar los binarios: • General. • Local a cada usuario.
Sala IBMHerramientas • JAVA: • Fedora GCJ (gnu java). • Instalación de Sun JDK 1.6. • Configurar la variable JAVA_HOME para que tome JAVA de Sun.
Sala IBMHerramientas • Blas: Instalación de rpm reubicándolos para centralizarlo y no instalarlo en cada equipo: blas-3.1.1-2.fc8.i386.rpmblas-devel-3.1.1-2.fc8.i386.rpm
Sala IBM Usuarios • Autenticación centralizada. • Anteriormente NIS. • Actualmente LDAP (Lightweight Directory Access Protocol ). • OpenLDAP.
Sala IBM Usuarios • LDAP (Lightweight Directory Access Protocol ) • Protocolo que permite el acceso a un servicio de directorio (aplicaciones que almacenan y organizan información, optimizado para lecturas). • Almacena información de usuarios y grupos permitiendo autenticación. • Es posible almacenar otra información: • Datos de contacto del usuario. • Ubicación de diversos recursos de la red. • Permisos. • Certificados. • Roles. • Etc…
Sala IBM Usuarios • LDAP – Modelo de información • El directorio consiste en una o mas entradas que pueden tener atributos, por ejemplo: Dn: uid=Juan, ou=People, cd=info, cd=UNLP Mail: juan@hotmail.com Tel: 4432345 • Cada entrada tiene un nombre distinguido único DN. • Pueden almacenarse varias entradas para ser guardadas en el directorio en un archivo .ldif.
Sala IBM Usuarios • LDAP – Modelo de nombres • Se organiza en forma de árbol. • Cada nodo puede tener información a diferencia de otras estructuras que tienen solo en hojas.
Sala IBM Usuarios • LDAP – Modelo de nombres • Algunas entradas comunes: Raíz People Group Hosts
Sala IBM Usuarios • LDAP (OpenLDAP) • Configuración: • Servidor. • Clientes. Otras alternativas a OpenLDAP: • Sun Java system Directory Server. • Fedora Directory Server.
Sala IBM Usuarios • LDAP (OpenLDAP) - Servidor: • Instalación via yum fedora. • Configurar el archivo slapd.conf. • Agregar el sufijo: suffix “dc=server,dc=unlp,dc=edu,dc=ar” • Agregar el manager: rootdn “cn=Manager,<sufijo>” o bien rootdn “uid=root,<sufijo>” • Establecer la contraseña: rootpw password
Sala IBM Usuarios • LDAP (OpenLDAP) – Servidor. • Configurar el archivo lap.conf. • Agregar entradas: HOST <nombre de host> BASE <sufijo> • Agregar al directorio la raiz mediante un archivo ldif. dn: dc=server,<sufijo> objectclass: dcobject objectClass: organization o: server dc: server root# ldapadd -x -D 'uid=root,dc=server,<sufijo>' -W –f raiz.ldif
Sala IBM Usuarios • LDAP (OpenLDAP) – Clientes. • PAM (Pluggable Authentication Module) mecanismo que proporciona una interfaz entre las aplicaciones de usuario y diferentes métodos de autenticación. • Archivo nsswitch.conf, indica que mecanismo utilizar y en que orden. Ejemplo: Passwd files ldap Group files ldap Hosts dns files ldap En fedora automaticamente desde la grafica.
Sala IBM Usuarios • LDAP (OpenLDAP) – Clientes. • En fedora automáticamente desde la grafica indicando servidor y base. • Manual: • Configurar el archivo lap.conf. • Agregar entradas: HOST <nombre de servidor> BASE <sufijo> (base de busqueda) • Configurar PAM, archivos individuales, algo complejo.
Sala IBM Usuarios • LDAP Ventajas: No replicar en altas masivas de usuarios. Autenticación de aplicaciones, servidores etc. No solo autenticación (DNS, Roles etc). Desventajas: Debe existir un servidor de replica sino al caer el servidor cae el sistema. Interfaces de administración (phpldapadmin).
Sala IBM Directorios compartidos • NFS(Network File System) Es un protocolo utilizado para sistemas de archivos distribuidos en un entorno de red de computadoras de área local. Transparencia: distintos equipos conectados a una misma red accedan a archivos remotos como si fueran locales.
Sala IBM Directorios compartidos • NFS(Network File System) Varios directorios compartidos en el servidor para: • No instalar aplicaciones en todos los equipos. • No hacer configuraciones en todos los equipos. • Compartir archivos. • Evita la transferencia de archivos (caso MPI). • Transparencia. Ej: Home directory de usuarios.
Sala IBM Directorios compartidos • NFS(Network File System) Aplicaciones: • MPI. • JAVA. • ECLIPSE. • BLAS. • Otras que permitan acceso de este tipo.
Sala IBM Directorios compartidos • NFS(Network File System) Home directory: • Transparencia. • Disponibilidad de archivos. • Configuraciones de variables de ambiente locales, ssh, aplicaciones. Desventaja de no poder loguearse en la grafica con el mismo usuario en dos equipos simultáneamente.
Sala IBM Directorios compartidos • NFS(Network File System) Directorio compartido general: Para compartir archivos entre los usuarios del sistema o aplicaciones.
Sala IBM Directorios compartidos • NFS(Network File System) • Configuración en el servidor: Archivo /etc/exports, las entradas tienen la forma: /dir/subdir 192.168.0.0/255.255.255.0(rw) • Configuración en el cliente: Archivo /etc/fstab, las entradas son: 192.168.0.2:/home /mnt/nfs nfs rw,hard,intr 0 0
Sala IBM Directorios compartidos • NFS(Network File System) • Ventajas: • Facilita la administración. • Transparencia. • Desventajas: • Caída del servidor • Overhead en la red en algunos casos.
Sala IBM Laboratorio remoto • Abstraer al usuario del cluster. • Aplicación que permite la ejecución vía web sobre el cluster. • Dar mayor disponibilidad del cluster solucionando problemas de acceso: • Alumnos e investigadores. • SSH limitado por seguridad. • Lograr mejor interacción( aprovechar RIA - AJAX).
Sala IBM Laboratorio remoto Request Servidor Web Web Browser JSP Response Contenedor de aplicaciones Struts Framework Aplicación JAVA BD Ambiente MPI Sistema Operativo Hardware Cluster 46
Sala IBM Laboratorio remoto • Ambiente de trabajo (Sistema de archivos). • Editar, compilar y ejecutar archivos. • Varios modos de ejecución: • Sincrónico. • Asincrónico. • Interactivo. • Otras acciones: • ABM de equipos y clusters. • ABM usuarios. • Permisos de acceso. Por el momento solo en test.
Sala IBM Laboratorio remoto • Ventajas: • Acceso al cluster como recurso compartido (ejecución controlada, detener corridas). • Mayor interacción (aprovechando RIA - AJAX) • Desventaja: • El uso del cluster como escritorio. • Problemas ante caída de un equipo.
Sala IBM Servicios de red • Por el momento sin DNS posibilidad de configurarlo mas adelante, resolución de nombres por LDAP. • Firewall (iptables) salida a Internet, acceso remoto. • Direcciones de red estáticas. • NTP.