OpenSSI es un sistema de agrupación de imágenes de código abierto para un único sistema . Permite tratar un conjunto de ordenadores como un único 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 ]
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 tratar un clúster de ordenadores individuales ( nodos ) como un único sistema de gran tamaño. Los procesos que se ejecutan en cualquier nodo tienen acceso completo a los recursos de todos los nodos. Los procesos pueden migrarse automáticamente de un nodo a otro para equilibrar la utilización del sistema. Las conexiones de red entrantes pueden dirigirse al nodo con menor carga disponible.
OpenSSI está diseñado para clústeres de alto rendimiento y alta disponibilidad . Es posible crear un clúster OpenSSI sin un único punto de fallo ; por ejemplo, el sistema de archivos puede replicarse entre dos nodos, de modo que si uno falla, el proceso que accede al archivo se transferirá al otro nodo. Alternativamente, el clúster puede diseñarse de forma que cada nodo tenga acceso directo al sistema de archivos.
Características
Espacio de proceso único
OpenSSI proporciona un espacio de procesos único: cada proceso es visible desde todos los nodos y puede gestionarse desde cualquier nodo mediante los comandos habituales de Linux (ps, kill, renice, etc.). El sistema de archivos virtual /proc de Linux muestra todos los procesos en ejecución en todos los nodos.
La implementación del espacio de procesos ú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. Al migrar los procesos en ejecución, estos conservan el acceso a cualquier archivo abierto, objeto IPC o conexión de red.
Los procesos se pueden migrar manualmente , ya sea mediante la llamada al sistema especial OpenSSI migrate(2) del proceso o escribiendo un número de nodo en un archivo especial en el directorio /proc de los procesos.
Los procesos también pueden migrarse automáticamente, si el usuario lo desea, para equilibrar la carga en 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, los mismos archivos y directorios están disponibles. OpenSSI utiliza varios mecanismos para proporcionar esta raíz única: CFS (el sistema de archivos de clúster de 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 de cada nodo de forma transparente para las aplicaciones que no conocen el clúster . Un enlace CDSL puede apuntar a archivos diferentes en cada nodo del clúster.
SFC (Síndrome de SFC)
CFS, el sistema de archivos en clúster de OpenSSI, proporciona acceso transparente entre nodos a un sistema de archivos real subyacente en un nodo.
CFS se superpone al 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 dicha parte del archivo se encuentra 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 al nodo que lo roba. 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 segmentos de memoria compartida.
CFS se puede utilizar en un sistema tolerante a fallos mediante subsistemas de disco compartido ( SCSI o SAN de doble puerto ) o mediante DRBD . Si el nodo que accede directamente al sistema de archivos falla, el montaje de CFS se transfiere al otro nodo conectado directamente al disco y el clúster accede al sistema de archivos a través de ese nodo.
Sistemas de archivos en clúster SAN
OpenSSI puede usar 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 . También se han probado Lustre y Global File System .
En un sistema de archivos en clúster, cada nodo monta el sistema de archivos en paralelo y el acceso a los archivos se realiza directamente desde el nodo al sistema de archivos.
NFS
OpenSSI monta sistemas de archivos NFS en paralelo en cada nodo. Cada nodo accede directamente al servidor NFS.
Espacio de E/S único
OpenSSI proporciona acceso a todos los dispositivos de E/S del sistema a nivel de clúster, con algunas limitaciones: no es posible que un nodo monte un dispositivo de bloques de otro nodo.
El gestor de dispositivos udev se utiliza 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 IPC único
OpenSSI proporciona acceso entre nodos a todos los mecanismos estándar de comunicación entre procesos de Linux, memoria compartida , semáforos , colas de mensajes SYSV , tuberías y sockets de dominio Unix .
Para implementar la memoria compartida distribuida en clúster, OpenSSI utiliza el sistema de tokens CFS . En cualquier momento, un segmento de memoria puede ser legible por uno o más nodos, o escribible por un solo nodo. Si un nodo sin acceso de escritura a un segmento intenta escribir en él, el segmento se marca como ilegible para todos los demás nodos y escribible para el nodo actual. Si un nodo sin acceso de lectura intenta leer un segmento, el valor actual se copia de un nodo donde era válido y, si era escribible, se marca como legible.
Dirección IP del clúster
OpenSSI utiliza LVS para proporcionar servicios IP con balanceo de carga y tolerancia a fallos . Las conexiones de red entrantes son recibidas por un nodo director , que las redirige al nodo servidor con menor carga. (Un nodo puede funcionar como director y servidor). En caso de fallo del nodo director, otro nodo director toma el control y el sistema continúa aceptando conexiones entrantes.
Distribuciones
El software OpenSSI está disponible para diversas distribuciones de Linux . El núcleo de OpenSSI es independiente de la distribución, pero es necesario modificar algunos sistemas de nivel de usuario específicos de cada distribución, como el proceso init y los scripts de inicio del sistema .
En 2010, las distribuciones de Linux más recientes compatibles eran:
Desde 2008, se estaba trabajando en la adaptación de OpenSSI a las distribuciones 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 la UCLA . El grupo que creó LOCUS formó Locus Computing Corporation en 1982 y produjo versiones de la tecnología derivada de él bajo varios nombres. A mediados de la década de 1990, este trabajo culminó con el producto UnixWare NonStop Clusters en Tandem Computers , que en 1995 se hizo cargo del equipo de la antigua Locus CC y de los derechos de la tecnología. Compaq compró Tandem Computers en 1997. Santa Cruz Operation comercializó NonStop Clusters como un complemento para UnixWare. Cuando SCO Group dejó de vender el producto, los desarrolladores (incorporados tras la adquisición de Tandem y que ahora trabajaban en Compaq) adaptaron el código de NonStop Clusters a Linux y en 2001, ahora llamado OpenSSI , lo publicaron como software de código abierto. Los empleados continuaron con el desarrollo durante algún tiempo después de que Compaq fuera adquirida por Hewlett-Packard (lo que ocurrió en 2002). Durante la década siguiente, OpenSSI fue mejorado por colaboradores independientes.
Véase también
Referencias
- 1 2 3 Clústeres OpenSSI (Single System Image) para Linux , archivado del original el 26/12/2013 , recuperado el 01/07/2023(archivado)
- ↑ Ferri, Richard; Watson, Brian J. (1 de agosto de 2003), samag.com, Revista Sys Admin > Administración de servidores > Presentación del proyecto OpenSSI , archivado del original el 27 de octubre de 2004 , consultado el 6 de julio de 2008.(archivado)
- ↑ Pfister, Gregory F. (1998), En busca de clústeres , Upper Saddle River, NJ: Prentice Hall PTR, ISBN 978-0-13-899709-0, OCLC 38300954
- ↑ Orlowski, Andrew (14 de noviembre de 2001), "La caballería de Compaq rescata los clústeres Linux" , The Register , consultado el 6 de octubre de 2008.
- ↑ Fafrak, Scott; Lola, Jim A.; Nichols, Brad; Yates, Gregory (2003), TruCluster Server Handbook , Digital Press, pp. 342–345 , ISBN 1-55558-259-1
- ↑ OpenSSI en Debian Etch, versión preliminar , archivado del original el 26/04/2013 , recuperado el 01/07/2023.(archivado)
Enlaces externos
- Página principal de OpenSSI (archive.org)
- Página de resumen del proyecto en Sourceforge.net
- Proyecto de infraestructura de clúster
- Página principal de OpenSSI Webview
- Palomitas de maíz Linux
- computación en clúster
- Software de red basado en el protocolo de Internet
- Computación paralela
- Computación en clúster de alta disponibilidad
- Sistemas operativos distribuidos