1. Glosar/

Primary Component (PC)

PC, partiție de quorum

Într-un cluster Galera, nu toate nodurile sunt echivalente în orice moment: doar cele care formează Primary Component au dreptul de a procesa scrieri. PC-ul este subsetul de noduri care a atins quorumul — adică majoritatea voturilor totale ale clusterului — și care poate astfel să opereze în siguranță. Nodurile excluse din PC intră în starea non-Primary și nu mai acceptă instrucțiuni DML.

Cum funcționează #

Galera folosește un protocol de membership bazat pe wsrep (Write-Set Replication). Fiecare nod schimbă heartbeat-uri și voturi cu celelalte. Când o partiție de rețea sau o cădere izolează un grup de noduri, fiecare grup calculează independent dacă deține mai mult de jumătate din voturile totale ale clusterului.

  • Grupul cu mai mult de jumătate din voturi devine (sau rămâne) Primary Component.
  • Grupul minoritar trece în starea non-Primary: conexiunile clienților primesc o eroare și nicio scriere nu este acceptată.

Acest mecanism este principala protecție împotriva split-brain: două partiții nu pot crede simultan că sunt PC-ul și să divergă în tăcere.

Context operațional #

Cazul critic este clusterul cu două noduri: dacă un nod cade, supraviețuitorul deține exact 50% din voturi și nu poate atinge quorumul. Intră în starea non-Primary chiar dacă funcționează perfect. Soluția standard este adăugarea unui al treilea nod sau a unui arbitru ușor (garbd) pentru a garanta că o parte poate depăși întotdeauna 50%.

În scenarii de mentenanță sau bootstrap de urgență, este posibil să se forțeze manual formarea PC-ului:

SET GLOBAL wsrep_provider_options='pc.bootstrap=YES';

Această operațiune trebuie executată cu atenție: dacă există o altă partiție activă cu date mai recente, promovarea nodului greșit poate duce la pierderea tranzacțiilor deja confirmate.