Corosync
Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de
versiunea revizuită pe 21 august 2018; verificările necesită
7 modificări .
Corosync ( Corosync Cluster Engine ) este un proiect open source care implementează un sistem de comunicare de grup pentru clustere de failover . Este o dezvoltare a proiectului OpenAIS și publicată sub o licență BSD modificată .
Caracteristici
Proiectul oferă patru seturi de API-uri C :
- Closed Process Group ( CPG) este un model de interacțiune care implementează sincronizarea virtuală , care asigură că procesele de pe nodurile cluster primesc aceleași mesaje în aceeași ordine.
- „Simple Availability Manager” ( Manager de disponibilitate simplă în limba engleză - SAM), care monitorizează starea aplicațiilor și le permite să fie repornite după o eroare.
- „ Baza de date de configurare ” ( Baza de date de configurare în engleză - confdb) în RAM, care vă permite să obțineți configurația și statisticile Corosync, să modificați configurația și să primiți notificări cu privire la modificările acestuia.
- „ Cvorum ” ( cvorum în engleză ) - un sistem care notifică aplicațiilor dacă a fost atins sau nu un cvorum (numărul minim necesar de noduri de cluster active).
Software-ul este proiectat să funcționeze în rețelele UDP/IP și InfiniBand .
Arhitectură
Software-ul este creat ca fișiere binare executabile folosind un model client-server de interacțiune între biblioteci și instrumente de service. Modulele, numite instrumente de service, sunt încărcate în Corosync și utilizează serviciile furnizate de API-ul intern al Corosync.
Servicii furnizate de API-ul intern Corosync:
- Implementarea protocolului Totem Single Ring Ordering and Membership [3] , care oferă un model extins de sincronizare virtuală [4] a mesajelor.
- Coroipc este un sistem de comunicare interprocese cu memorie partajată de înaltă performanță . [5]
- O bază de date de obiecte implementată prin stocare în memorie ( de exemplu , bază de date în memorie ) .
- Sisteme de rutare a mesajelor de rețea și interprocese prin instrumente de service.
Istorie
Proiectul a fost anunțat în iulie 2008 la Linux Symposium din Ottawa [1] . Codul sursă al proiectului OpenAIS a fost refactorizat astfel încât componentele de infrastructură să fie plasate în Corosync, în timp ce API-ul SA Forum a rămas în OpenAIS.
A doua versiune a corosync (2012) a schimbat sistemul de cvorum, care a devenit o parte integrantă a demonului [6] și a dezactivat suportul pentru suplimente de la terți. Corosync 2 este disponibil cu Fedora 17 și RHEL 7 [7] .
Note
- ↑ 1 2 Dake, S.; Caulfield, C.; Beekhof, A. The Corosync Cluster Engine (nedefinit) // Proceedings of the Linux Symposium. - 2008. - iulie. - S. 85-99 . Arhivat din original pe 24 septembrie 2016.
- ↑ Lansări . Preluat la 23 septembrie 2016. Arhivat din original la 15 septembrie 2020. (nedefinit)
- ↑ Amir, Y.; Moser, L.E.; Melliar-Smith, PM; Agarwal, D.A.; Ciarfella, P. The Totem Single Ring Ordering and Membership Protocol // Tranzacții ACM pe sisteme informatice : jurnal. - 1995. - noiembrie ( vol. 13 , nr. 4 ). - P. 311-342 . - doi : 10.1145/210223.210224 . Arhivat din original pe 29 aprilie 2022.
- ↑ Moser, L.E.; Amir, Y.; Melliar-Smith, PM; Agarwal, DA Extended Virtual Synchrony (nedefinită) // Proceedings of the IEEE International Conference on Distributed Computing Systems. - 1994. - S. 56-65 .
- ↑ Dake, S. The Corosync High Performance Shared Memory IPC Reusable C Library // Proceedings of the Linux Symposium: journal. - 2009. - iulie. - P. 61-68 . Arhivat din original pe 3 martie 2016.
- ↑ Christine Caulfield, Noi caracteristici de cvorum în Corosync 2 Arhivat 2 ianuarie 2017 la Wayback Machine - 2012-2016
- ↑ Linux Cluster next generation Arhivat la 1 ianuarie 2017 la Wayback Machine , LVEE, 2013
Link -uri
Software pentru calcul distribuit și paralel |
---|
Standarde, biblioteci |
- OpenMPI
- Lista bibliotecilor C++ cu mai multe fire
|
---|
Software de monitorizare |
|
---|
Software de control |
|
---|