El Cluster del motor Corosync es un código abierto aplicación de la Orden Totem anillo único y protocolo de adhesión . Originalmente se derivó del proyecto OpenAIS y se licencia bajo la nueva Licencia BSD . La misión del esfuerzo de Corosync es desarrollar, lanzar y respaldar un clúster de código abierto definido por la comunidad .
Desarrollador (es) | La comunidad de desarrollo de Corosync |
---|---|
Versión inicial | 2008 |
Lanzamiento estable | 2.4.5 / 31 de julio de 2019 [1] |
Versión de vista previa | 3.0.2 / 13 de junio de 2019 [2] |
Repositorio | ![]() |
Escrito en | C |
Sistema operativo | Multiplataforma |
Tipo | Sistema de comunicación grupal |
Licencia | Nueva licencia BSD |
Sitio web | corosync |
Características
El Cluster del motor Corosync es un sistema de comunicación de grupo con características adicionales para la implementación de alta disponibilidad dentro de las aplicaciones.
El proyecto proporciona cuatro características de API C :
- Un modelo de comunicación de grupo de proceso cerrado con garantías de sincronía virtual para la creación de máquinas de estado replicadas .
- Un administrador de disponibilidad simple que reinicia el proceso de solicitud cuando falla.
- Una base de datos en memoria de configuración y estadísticas que brinda la capacidad de configurar, recuperar y recibir notificaciones de cambios de información.
- Un sistema de quórum que notifica a las solicitudes cuando se alcanza o se pierde el quórum.
El software está diseñado para funcionar en redes UDP / IP e InfiniBand .
Arquitectura
El software está compuesto por un binario ejecutivo que utiliza un modelo de comunicación cliente-servidor entre bibliotecas y motores de servicio. Los módulos cargables, llamados motores de servicio, se cargan en Corosync Cluster Engine y utilizan los servicios proporcionados por la API interna de Corosync Service Engine.
Los servicios proporcionados por la API interna de Corosync Service Engine son:
- Una implementación del protocolo Totem Single Ring Ordering and Membership [3] que proporciona el modelo Extended Virtual Synchrony [4] para mensajería y membresía.
- El sistema IPC de memoria compartida de alto rendimiento de coroipc . [5]
- Una base de datos de objetos que implementa el modelo de base de datos en memoria .
- Sistemas para enrutar mensajes de IPC y Totem a los motores de servicio correctos.
Además, Corosync proporciona varios motores de servicio predeterminados que se utilizan a través de las API de C :
- cpg - Grupo de proceso cerrado
- sam - Administrador de disponibilidad simple
- confdb - Base de datos de configuración y estadísticas
- quórum: proporciona notificaciones de ganancia o pérdida de quórum
Historia
El proyecto se anunció formalmente en julio de 2008 a través de un documento de conferencia en el Simposio de Linux de Ottawa . [6] El código fuente de OpenAIS fue refactorizado de modo que los componentes de la infraestructura central se colocaron en Corosync y las API de SA Forum se mantuvieron en OpenAIS.
En la segunda versión de corosync, publicada en 2012, se cambió el subsistema de quórum y se integró en el demonio. [7] Esta versión está disponible desde Fedora 17 y RHEL7. [8]
Ver también
Referencias
- ^ "v2.4.5" . Github . Consultado el 30 de agosto de 2019 .
- ^ "v3.0.2" . Github . Consultado el 30 de agosto de 2019 .
- ^ Amir, Y .; Moser, LE; Melliar-Smith, PM; Agarwal, DA; Ciarfella, P. (noviembre de 1995). "El Protocolo de Membresía y Pedido de Anillo Único Totem". Transacciones ACM en sistemas informáticos . 13 (4): 311–342. doi : 10.1145 / 210223.210224 .
- ^ Moser, LE; Amir, Y .; Melliar-Smith, PM; Agarwal, DA (noviembre de 1995). "Sincronía virtual ampliada". Transacciones ACM en sistemas informáticos . 13 (4): 311–342. doi : 10.1145 / 210223.210224 .También en Proceedings of DCS , págs. 56-65, 1994.
- ^ Dake, S. (julio de 2009). "La biblioteca C reutilizable IPC de memoria compartida de alto rendimiento de Corosync" (PDF) . Actas del Simposio de Linux : 61–68.
- ^ Dake, S .; Caulfield, C .; Beekhof, A. (julio de 2008). "El motor de clúster de Corosync" (PDF) . Actas del Simposio de Linux : 85–99.
- ^ Christine Caulfield, Nuevas características del quórum en Corosync 2 - 2012-2016 (en inglés)
- ^ Linux Cluster de próxima generación , LVEE, 2013
enlaces externos
- Página web oficial
- "El Protocolo de Membresía y Pedido de Anillo Único Totem". CiteSeerX 10.1.1.37.767 . Cite journal requiere
|journal=
( ayuda ) - "Totem: un protocolo de entrega ordenada confiable para redes de área local interconectadas". CiteSeerX 10.1.1.52.4028 . Cite journal requiere
|journal=
( ayuda ) - "Modelo de Sincronía Virtual Extendida". CiteSeerX 10.1.1.55.8677 . Cite journal requiere
|journal=
( ayuda ) - Biblioteca C reutilizable IPC de memoria compartida de alto rendimiento Corosync