Corosinc
La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la
versión revisada el 21 de agosto de 2018; las comprobaciones requieren
7 ediciones .
Corosync ( Corosync Cluster Engine ) es un proyecto de código abierto que implementa un sistema de comunicación grupal para clústeres de conmutación por error . Es un desarrollo del proyecto OpenAIS y se publica bajo una licencia BSD modificada .
Características
El proyecto proporciona cuatro conjuntos de C API :
- El grupo de procesos cerrados ( CPG) es un modelo de interacción que implementa la sincronización virtual , que garantiza que los procesos en los nodos del clúster reciban los mismos mensajes en el mismo orden.
- "Simple Availability Manager" ( en inglés Simple Availability Manager - SAM), que monitorea el estado de las aplicaciones y permite reiniciarlas luego de una falla.
- " Base de datos de configuración " ( Base de datos de configuración en inglés - confdb) en RAM, que le permite obtener la configuración y estadísticas de Corosync, cambiar la configuración y recibir notificaciones de sus cambios.
- " Quorum " ( Quórum en inglés ): un sistema que notifica a las aplicaciones si se ha alcanzado o no un quórum (el número mínimo requerido de nodos de clúster activos).
El software está diseñado para funcionar en redes UDP/IP e InfiniBand .
Arquitectura
El software se crea como archivos binarios ejecutables utilizando un modelo de interacción cliente-servidor entre bibliotecas y herramientas de servicio. Los módulos, denominados herramientas de servicio, se cargan en Corosync y utilizan los servicios proporcionados por la API interna de Corosync.
Servicios proporcionados por la API interna de Corosync:
- Implementación del protocolo Totem Single Ring Ordering and Membership [3] , que proporciona un modelo extendido de sincronización virtual [4] de mensajes.
- Coroipc es un sistema de comunicación entre procesos de memoria compartida de alto rendimiento . [5]
- Una base de datos de objetos implementada a través del almacenamiento en memoria ( ing. base de datos en memoria ).
- Sistemas de enrutamiento de mensajes de red e interprocesos a través de herramientas de servicio.
Historia
El proyecto fue anunciado en julio de 2008 en el Linux Symposium en Ottawa [1] . El código fuente del proyecto OpenAIS se refactorizó para que los componentes de la infraestructura se ubicaran en Corosync, mientras que la API de SA Forum permaneció en OpenAIS.
La segunda versión de corosync (2012) cambió el sistema de quórum, que se convirtió en una parte integral del daemon [6] , y deshabilitó la compatibilidad con complementos de terceros. Corosync 2 está disponible con Fedora 17 y RHEL 7 [7] .
Notas
- ↑ 1 2 Dake, S.; Caulfield, C.; Beekhof, A. The Corosync Cluster Engine (indefinido) // Actas del Simposio de Linux. - 2008. - julio. - S. 85-99 . Archivado desde el original el 24 de septiembre de 2016.
- ↑ Lanzamientos . Consultado el 23 de septiembre de 2016. Archivado desde el original el 15 de septiembre de 2020. (indefinido)
- ↑ Amir, Y.; Moser, LE; Melliar-Smith, PM; Agarwal, DA; Ciarfella, P. The Totem Single Ring Ordering and Membership Protocol // Transacciones ACM en sistemas informáticos : diario. - 1995. - noviembre ( vol. 13 , no. 4 ). - Pág. 311-342 . -doi : 10.1145/ 210223.210224 . Archivado desde el original el 29 de abril de 2022.
- ↑ Moser, LE; Emir, Y.; Melliar-Smith, PM; Agarwal, DA Extended Virtual Synchrony (indefinido) // Actas de la 14.ª Conferencia internacional de IEEE sobre sistemas informáticos distribuidos. - 1994. - S. 56-65 .
- ↑ Dake, S. The Corosync High Performance Shared Memory IPC Reusable C Library // Actas del Simposio de Linux: revista. - 2009. - Julio. - P. 61-68 . Archivado desde el original el 3 de marzo de 2016.
- ↑ Christine Caulfield, Nuevas funciones de quórum en Corosync 2 Archivado el 2 de enero de 2017 en Wayback Machine - 2012-2016
- ↑ Linux Cluster next generation . Archivado el 1 de enero de 2017 en Wayback Machine , LVEE, 2013.
Enlaces
Software para computación distribuida y paralela |
---|
Normas, bibliotecas |
- OpenMPI
- Lista de bibliotecas de C ++ multiproceso
|
---|
Software de monitoreo |
|
---|
Software de control |
|
---|