OpenSSI es un sistema de agrupación de imágenes de un solo sistema de código abierto . Permite tratar una colección de computadoras como un sistema grande, lo que permite que las aplicaciones que se ejecutan en cualquier máquina accedan a los recursos de todas las máquinas del clúster. [2] [3]
![]() | |
Desarrollador (es) | Equipo OpenSSI [1] |
---|---|
Lanzamiento estable | 1.9.3 [1] / 1º de septiembre de 2007 |
Versión de vista previa | 1.9.6 [1] / 18 de febrero de 2010 |
Sistema operativo | Linux |
Tipo | Software de clúster |
Licencia | GPL v2 |
Sitio web | openssi ![]() |
OpenSSI se basa en el sistema operativo Linux y fue lanzado como un proyecto de código abierto por Compaq en 2001. [4] Es la etapa final de un largo proceso de desarrollo, que se remonta a LOCUS , desarrollado a principios de la década de 1980.
Descripción
OpenSSI permite que un grupo de computadoras individuales ( nodos ) se trate como un sistema grande. Los procesos que se ejecutan en cualquier nodo tienen acceso completo a los recursos de todos los nodos. Los procesos se pueden migrar de un nodo a otro automáticamente para equilibrar la utilización del sistema. Las conexiones de red entrantes se pueden dirigir al nodo menos cargado disponible.
OpenSSI está diseñado para utilizarse tanto en clústeres de alto rendimiento como de alta disponibilidad . Es posible crear un clúster OpenSSI sin un solo punto de falla , por ejemplo, el sistema de archivos se puede duplicar entre dos nodos, por lo que si un nodo falla, el proceso de acceso al archivo fallará al otro nodo. Alternativamente, el clúster se puede diseñar de tal manera que cada nodo tenga acceso directo al sistema de archivos.
Características
Espacio de proceso único
OpenSSI proporciona un único espacio de proceso: cada proceso es visible desde cada nodo y se puede administrar desde cualquier nodo utilizando los comandos normales de Linux (ps, kill, renice, etc.). El sistema de archivos virtual Linux / proc muestra todos los procesos en ejecución en todos los nodos.
La implementación del espacio de proceso único se logra utilizando la abstracción VPROC inventada por Locus para el sistema operativo OSF / 1 AD .
Migración
OpenSSI permite la migración de procesos en ejecución entre nodos. Cuando se migran los procesos en ejecución, continúan teniendo acceso a los archivos abiertos, los objetos IPC o las conexiones de red.
Los procesos se pueden migrar manualmente , ya sea mediante el proceso que llama a la llamada especial al sistema OpenSSI migrate (2) o escribiendo un número de nodo en un archivo especial en el directorio process / proc.
Los procesos también pueden, si el usuario lo desea, migrar automáticamente para equilibrar la carga en todo el clúster. OpenSSI utiliza un algoritmo desarrollado por el proyecto MOSIX para determinar la carga en cada nodo.
Raíz única
OpenSSI proporciona una única raíz para el clúster: desde cualquier nodo están disponibles los mismos archivos y directorios. OpenSSI utiliza varios mecanismos para proporcionar una única raíz: CFS (el sistema de archivos de clúster OpenSSI), sistemas de archivos de clúster SAN y montajes paralelos de sistemas de archivos de red.
OpenSSI utiliza la función de enlace simbólico dependiente del contexto (CDSL), inspirada en el sistema TruCluster de HP , para permitir el acceso a archivos específicos del nodo de una manera transparente para las aplicaciones que no son compatibles con clústeres . Una CDSL puede apuntar a diferentes archivos en cada nodo del clúster.
CFS
CFS, el sistema de archivos de clúster OpenSSI proporciona acceso transparente entre nodos a un sistema de archivos real subyacente en un nodo.
CFS se apila sobre el sistema de archivos real y coordina el acceso desde diferentes nodos mediante un mecanismo de token . Un nodo tiene acceso físico al sistema de archivos subyacente y realiza todas las operaciones de lectura y escritura. En cualquier momento, un nodo posee un token, que representa una parte del archivo subyacente, esto implica que esa parte del archivo está en la caché del nodo propietario. Si otro nodo intenta acceder a esa parte del archivo, el token es robado y el contenido de la caché se copia en el nodo de robo. La implementación de OpenSSI CFS es notablemente similar a la utilizada por HP TruCluster . [5]
CFS también se utiliza para coordinar el acceso a los segmentos de memoria compartida.
CFS se puede usar en un sistema tolerante a fallas usando subsistemas de disco compartido ( SCSI o SAN de dos puertos ) o usando DRBD . Si el nodo que actualmente está accediendo directamente al sistema de archivos falla, el montaje de CFS falla al otro nodo que está conectado directamente al disco y el clúster ahora accede al sistema de archivos a través de ese nodo.
Sistemas de archivos en clúster SAN
OpenSSI puede utilizar sistemas de archivos en clúster basados en SAN para su raíz, siempre que proporcionen una interfaz de sistema de archivos compatible con POSIX . Actualmente se han probado Lustre y GFS . [ cuando? ]
Con un sistema de archivos en clúster, cada nodo monta el sistema de archivos en paralelo y el acceso a los archivos va directamente del nodo al sistema de archivos.
NFS
OpenSSI monta sistemas de archivos NFS en paralelo en cada nodo. Cada nodo accede al servidor NFS directamente.
Espacio de E / S único
OpenSSI proporciona acceso de todo el clúster a todos los dispositivos de E / S del sistema, con algunas limitaciones: no es posible que un nodo monte un dispositivo de bloque desde otro nodo.
El administrador de dispositivos udev se usa para administrar el directorio / dev. Cada nodo ejecuta su propia copia de udev para crear los nodos de dispositivo apropiados en un subdirectorio de / dev, / dev / 1 para el nodo 1, / dev / 2 para el nodo 2 y así sucesivamente.
Espacio único de IPC
OpenSSI proporciona acceso internodo a todos los mecanismos de comunicación entre procesos estándar de Linux, memoria compartida , semáforos , colas de mensajes SYSV , canalizaciones y sockets de dominio Unix .
Para implementar la memoria compartida en todo el clúster (memoria compartida distribuida) , OpenSSI utiliza el sistema de token CFS . En cualquier momento, uno o más nodos puede leer un segmento de memoria, o un nodo puede escribirlo. Si un nodo sin acceso de escritura a un segmento intenta escribir, el segmento se marca como ilegible en todos los demás nodos y se puede escribir en el nodo actual. Si un nodo sin acceso de lectura intenta leer un segmento, el valor actual se copia de un nodo en el que era válido y, si se podía escribir, se marca como legible.
Dirección IP del clúster
OpenSSI utiliza LVS para proporcionar servicios IP con equilibrio de carga y tolerancia a fallos . Las conexiones de red entrantes son recibidas por un nodo director que las redirige al nodo servidor menos cargado. (Un nodo puede ser tanto un director como un servidor). En caso de falla del nodo director, otro nodo director se hace cargo y el sistema continúa aceptando conexiones entrantes.
Distribuciones
El software OpenSSI está disponible para varias distribuciones de Linux . El kernel de OpenSSI es independiente de la distribución, pero es necesario modificar varios sistemas de nivel de usuario de Linux específicos de la distribución , por ejemplo, el proceso de inicio y los scripts de inicio del sistema .
Actualmente, las distribuciones admitidas son: [ ¿cuándo? ]
- Fedora Core 3
- Debian Sarge
Se está trabajando para portar OpenSSI a Debian Etch y Lenny. [6]
Historia
Los orígenes de OpenSSI se remontan a principios de la década de 1980, cuando se desarrolló el sistema operativo distribuido LOCUS en UCLA . El equipo que desarrolló LOCUS pasó a formar Locus Computing Corporation y produjo varias versiones de la tecnología LOCUS con varios nombres, culminando con el desarrollo del producto UnixWare NonStop Clusters en Tandem Computers , que en ese momento había adquirido el equipo y los derechos de LOCUS. a la tecnología. NonStop Clusters para Unixware fue comercializado por SCO como un complemento para UnixWare. Cuando SCO dejó de vender NonStop Clusters, el antiguo equipo de Locus, que ahora trabajaba para Compaq (que había adquirido Tandem en el ínterin), transfirió el código de NonStop Clusters a Linux y lo lanzó como código abierto. El equipo de Compaq continuó desarrollando el sistema, ahora llamado OpenSSI, durante algún tiempo después de que HP adquiriera Compaq. Actualmente, OpenSSI está desarrollado por un equipo independiente. [ cuando? ]
Ver también
- Kerrighed
- OpenMosix
- LinuxPMI
- DIPC
Referencias
- ^ a b c Clústeres de OpenSSI (imagen de sistema único) para Linux , consultado el 7 de julio de 2008
- ^ Ferri, Richard; Watson, Brian J. (2003-08-01), Sys Admin Magazine> Server Management> Introducing the OpenSSI Project , consultado el 2008-07-06
- ^ Pfister, Gregory F. (1998), En busca de agrupaciones , Upper Saddle River, Nueva Jersey: Prentice Hall PTR, ISBN 978-0-13-899709-0, OCLC 38300954
- ^ Orlowski, Andrew (14 de noviembre de 2001), "La caballería de Compaq rescata grupos de Linux" , The Register , consultado el 6 de octubre de 2008
- ^ Fafrak, Scott; Lola, Jim A .; Nichols, Brad; Yates, Gregory (2003), Manual del servidor TruCluster , Digital Press, págs. 342–345, ISBN 1-55558-259-1
- ^ OpenSSI en Debian Etch, versión preliminar , consultado el 7 de octubre de 2008
enlaces externos
- Página de inicio de OpenSSI (enlace muerto)
- Página de resumen del proyecto de Sourceforge.net
- Proyecto de infraestructura de clúster
- Página de inicio de OpenSSI Webview
- Palomitas de maíz Linux