Corosync Cluster Engine implementacija je otvorenog izvornog koda protokola Totem Single Ring Ordering and Membership. Izvorno je izveden od projekta OpenAIS i licenciran pod novom BSD licencom. Misija Corosync projekta je razviti, objaviti i podržati klaster otvorenog izvornog koda koji definira zajednica programera.
Projekt je službeno najavljen u srpnju 2008. godine putem konferencijskog rada na Linuxovom simpoziju u Ottawi. Izvorni kod OpenAIS-a refaktoriran je tako da su osnovne infrastrukturne komponente smještene u Corosync sustav, a API-ji definirani na tom forumu zadržani su u OpenAIS-u.[1]
U drugoj inačici Corosynca, objavljenoj 2012. godine, podsustav kvoruma je promijenjen i integriran u servis. Ova je inačica dostupna od Fedora Linuxa v.17 i Red Hat Enterprise Linuxa v.7.[2] Ova se inačica više ne razvija od 2022.godine.
U trećoj inačici Corosynca uveden je novi komunikacijski protokol (Kronosnet)[3] te druga poboljšanja koja su unaprijedila učinkovitost klastera:
povećavajući brzinu komunikacije
poboljšavajući pouzdanost
nudeći veću skalabilnost: odnosno sposobnost rada većeg broja čvorova u klasteru.
Corosync cluster engine softversko je rješenje dizajnirano za upravljanje i održavanje visoko dostupnih (high-availability) klasterskih sustava. Sustav pruža ključne značajke koje omogućavaju skupini računala da surađuje kao jedna koordinirana jedinica, poboljšavajući time dostupnost i otpornost sustava na kvarove odnosno ispade.
Nekoliko glavnih značajki Corosync cluster enginea:
Komunikacija u klasteru: Corosync omogućava komunikaciju između članova klastera, pružajući temelj za koordinaciju između čvorova klastera.
Dinamičko otkrivanje čvorova: Sustav omogućava automatsko otkrivanje i praćenje čvorova u klasteru, što olakšava upravljanje klasterom s promjenama u dostupnosti resursa.
Sinkronizacija podataka: Corosync pomaže u održavanju konzistentnosti podataka između čvorova klastera, što je ključno za osiguravanje integriteta podataka u visoko dostupnim okruženjima.
Postizanje konsenzusa (engl. quorum): klasteri često zahtijevaju da se čvorovi slažu oko donošenja važnih odluka, poput odabira glavnog čvora (mastera) ili odabira aktivnog čvora za određenu uslugu. Corosync pomaže u postizanju konsenzusa unutar klastera.
Održavanje visoke dostupnosti usluga: Corosync se često koristi u kombinaciji s alatima za upravljanje klasterom poput Pacemakera kako bi se osigurala visoka dostupnost aplikacija i usluga. To znači da u slučaju kvara na jednom čvoru, drugi čvorovi preuzimaju rad kako bi osigurali neprekidan rad sustava.
Pratitelj resursa: Corosync prati resurse unutar klastera i omogućava dinamičko preuzimanje i puštanje resursa na različitim čvorovima kako bi se postigla ravnoteža opterećenja i poboljšala dostupnost.
U konačnici, Corosync cluster engine igra ključnu ulogu u izgradnji i održavanju visokodostupnih klastera, pružajući infrastrukturu za koordinaciju i upravljanje resursima u distribuiranim sustavima.
Corosync Cluster Engine grupni je komunikacijski sustav s dodatnim značajkama za implementaciju visoke dostupnosti unutar aplikacija, korištenjem sučelja za programiranje aplikacija (API).
Usluge koje pruža interni API Corosync Service Enginea jesu:
Implementacija protokola Totem Single Ring Ordering and Membership,[4] koji pruža model proširene virtualne sinkronizacije za razmjenu poruka i članstvo u klasteru.[5]
Coroipc IPC sustav zajedničke memorije visokih performansi.[6]
Objektna baza podataka koja implementira model baze podataka u memoriji.
Sustavi za usmjeravanje IPC i Totem poruka na ispravne servise Corosync sustrava.
Corosync softver je dizajniran za rad na UDP/IP i InfiniBand mrežama.
↑Amir, Y.; Moser, L.E.; Melliar-Smith, P.M.; Agarwal, D.A.; Ciarfella, P. Studeni 1995. The Totem Single Ring Ordering and Membership Protocol. ACM Transactions on Computer Systems. 13 (4): 311–342. doi:10.1145/210223.210224. S2CID15165593
↑Moser, L.E.; Amir, Y.; Melliar-Smith, P.M.; Agarwal, D.A. Studeni 1995. Extended Virtual Synchrony. ACM Transactions on Computer Systems. 13 (4): 311–342. doi:10.1145/210223.210224. S2CID15165593 Also in Proceedings of DCS, pp. 56-65, 1994.