Download Instalación y configuración de clusters
Document related concepts
no text concepts found
Transcript
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 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 IBM Hardware 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 IBM Lenguajes de programación C (Gcc 4.1 y librerias provistas por Fedora). JAVA (JDK 1.6 de www.sun.com). Sala IBM Herramientas 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 IBM Herramientas 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 IBM Herramientas 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 IBM Herramientas 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 IBM Herramientas 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 IBM Herramientas 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 IBM Herramientas JAVA: Fedora GCJ (gnu java). Instalación de Sun JDK 1.6. Configurar la variable JAVA_HOME para que tome JAVA de Sun. Sala IBM Herramientas Blas: Instalación de rpm reubicándolos para centralizarlo y no instalarlo en cada equipo: blas-3.1.1-2.fc8.i386.rpm blas-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 Web Browser JSP Response Servidor Web Contenedor de aplicaciones Struts Framework Aplicación JAVA BD Ambiente MPI Sistema Operativo Hardware Cluster Cluster A Cluster B 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 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. Sala IBM Escalabilidad Agregado de otros equipos: Misma arquitectura. Mismo sistema operativo (versiones). Algunos problemas compilando en versiones anteriores. Sumar otro cluster Sala IBM Escalabilidad Agregado de otros equipos: Misma arquitectura. Mismo sistema operativo (versiones). Algunos problemas compilando en versiones anteriores. Sumar otro cluster Sala IBM