Waarom een cluster van twee knooppunten de slechtste keuze is: de meerderheidskwestie

Een tweede server kopen en een cluster bouwen lijkt op weerbaarheid. In werkelijkheid zijn twee knooppunten kwetsbaarder dan één: valt er één weg, dan kan de ander niets meer beslissen.

AtlasPVE ·

Dit artikel beantwoordt

  • proxmox cluster 2 knooppunten
  • wat is proxmox quorum
  • hoeveel servers voor een proxmox cluster
  • proxmox nog één knooppunt over
  • wat is een proxmox qdevice

Je hebt de tweede server gekocht en een cluster gebouwd. Je voelt je geruster: er staan nu twee machines, en valt er één weg, dan gaat de ander door.

Dat doet hij niet. Een cluster van twee knooppunten is kwetsbaarder dan één knooppunt, en de dag waarop je dat leert is meestal een slechte dag.

Waarom

Clusterbeslissingen worden bij meerderheid genomen. Staan twee van de drie knooppunten overeind, dan is er een meerderheid en werkt het cluster door. Valt één van twee knooppunten weg, dan is het overgebleven ene knooppunt geen meerderheid, en dus zet het cluster zichzelf op slot: de machines blijven draaien, maar de instellingen kunnen niet meer veranderen, er start geen nieuwe machine en het meeste beheerwerk staat stil.

Dat is geen gebrek maar een bewust ontwerp. Het alternatief is veel erger: zien twee knooppunten elkaar niet meer, dan zeggen ze allebei "ik sta overeind, de ander is gevallen" en starten dezelfde virtuele machine op twee plekken. Op dezelfde schijf wordt van twee kanten geschreven en de gegevens raken onherstelbaar beschadigd.

Het cluster beschermt je dus door je buiten te sluiten. Maar bij twee knooppunten slaat die bescherming toe bij de helft van alle storingen.

Het juiste aantal is drie

In een cluster van drie knooppunten blijven er bij het wegvallen van één nog twee over, de meerderheid houdt stand en het leven gaat door. Daarom duikt het getal drie overal in de clusterdocumentatie op.

De derde machine hoeft niet krachtig te zijn. Die brengt alleen een stem uit, hij hoeft geen werk te draaien. Een kleine machine, zelfs een oude computer, volstaat.

Wil je echt geen derde machine, dan kun je in plaats daarvan een klein getuigeknooppunt opzetten dat er alleen is om te stemmen. Het is geen volwaardig knooppunt en je kunt er geen machines op draaien, maar het vult de meerderheidsrekening aan tot drie. Blijf je bij twee knooppunten, zet dan op zijn minst dat op.

Blijf je bij twee knooppunten, weet dan

Wordt één knooppunt voor onderhoud eruit gehaald, dan wordt ook het overgebleven enkele knooppunt onbeheerbaar. Zelfs een geplande update laat je dus op slot achter.

Je kunt met de hand zeggen "laat één knooppunt ook mogen beslissen", maar dat opent precies het hierboven beschreven dubbelstartrisico weer. Dat doe je tijdelijk, bewust en kort; een blijvende oplossing is het niet.

Een cluster bouwen is geen back-up maken

Dit zijn de twee dingen die het vaakst door elkaar worden gehaald. Een cluster is voor beschikbaarheid: zodat het werk doorgaat als een machine wegvalt. Een back-up is voor herstel: zodat je terug kunt na beschadigde of per ongeluk verwijderde gegevens.

Een cluster haalt geen virtuele machine terug die je per ongeluk verwijderde. Het verwijderen verspreidt zich meteen naar alle knooppunten, want een cluster bestaat juist opdat ze hetzelfde zien. Ook mét cluster heb je back-ups nodig.

Wat Atlas doet

Atlas behandelt het cluster niet als een begrip maar als een toestand: hoeveel knooppunten er zijn, hoeveel er stemmen, of de meerderheid op dit moment standhoudt.

Waar dit het meest helpt is bij het bijwerken. Voordat een knooppunt wordt bijgewerkt, kijkt Atlas hoeveel van de machines erop naar een ander knooppunt kunnen verhuizen en stelt je een volgorde voor. Het voorstel blijft een voorstel: de verhuisopdracht draait niet vanzelf, jij drukt op de knop.

Eén detail telt hier bijzonder zwaar en raakt precies het onderwerp van dit artikel. De opdracht die de clustertoestand opvraagt, mislukt op dezelfde manier in twee verschillende situaties: werkelijk een losstaande machine zijn, en lid zijn van een cluster waarvan de clusterlaag is ingestort. Worden die twee niet uit elkaar gehouden, dan zegt het product "geen cluster, meerderheid in orde" op precies het moment dat het cluster is ingestort. Het vormt dus de meest geruststellende zin op het gevaarlijkste ogenblik.

Atlas houdt ze uit elkaar door te kijken of het instellingenbestand bestaat: dat bestand wordt samen met het lidmaatschap geschreven en blijft ook liggen wanneer de clusterlaag instort. Het onderscheid staat op één enkele plek, want vroeger stond het apart op drie verschillende plekken en alle drie hadden dezelfde fout.

Bronnen

De eigen documentatie van Proxmox. In het Engels, en die heeft over dit onderwerp het laatste woord.

Verwante artikelen

Hoe ziet dit eruit in Atlas?

Naar de productpagina