středa 8. července 2009

Ako obnovit Primary/Primary DRBD replikaciu?

Pri pade jedneho zo servrov ktorych niektora particia bezi na Primary/Primary DRBD je potrebne odsranit problem so Split Brain-om, ktory je dobre viditelny aj v logu (Split-Brain detected, dropping connection!). Teoria je taka, ze DRBD sa nevie rozhodnut, ktory z nodov ma aktualne data a preto je treba mu to povedat rucne. Ako na to?

Na xene ktory spadol a ma teda starsie data pouzijeme tento subor prikazov:

drbdadm secondary r0
drbdadm -- --discard-my-data connect r0
  • V prvom kroku urcime ze ze nadalej sa ma node spravat ako secondary, teda spravime Primary/Secondary replikaciu
  • V druhom kroku mu povieme ze jeho data su stare a teda ma brat ohlad na data, ktore su na druhom node.
  • r0 je resource definovany v konfiguraku, ktory sa nachadza v /etc/drbd.conf

Na xene, ktory nespadol a teda ma aktualne data pouzijeme tento subor prikazov:

drbdadm connect r0
drbdadm -- -o primary all
  • V prvom kroku povieme aby sa nody znovu spojili, kedze druhy nod ma priznak ze je neaktualny, synchronizuju sa na neho data z aktualneho nodu.
  • Druhy prikaz je mozne zadat na hociktorom z nodov, znamena ze z oboch nodov spravi opat Primary.

Pokial nenastartovala OCFS2 vrstva, spravime tak klasickym /etc/init.d/ocfs2 start . OCFS2 si aj automaticky namountuje particiu. A to je vsetko :)