Vienas archyvas atkuria veikiantį Pritunl diegimą; kitas atkuria tik jo vaizdą. Kliento profilis, pagrindinio kompiuterio konfigūracijos kopija ir būsenos katalogo tarball visi atrodo kaip atsarginės kopijos, ir nė vienas jų vienas nepadeda grąžinti organizacijų, naudotojų ir serverių apibrėžčių, kurias valdo Pritunl. Skirtumas yra nuosavybė: dalis būsenos priklauso duomenų bazei, dalis pagrindiniam kompiuteriui, o dalis yra iš naujo sugeneruota išvestis. Pasirinkite netinkamą sluoksnį, ir atkūrimas sukurs serverį, kuris paleidžiamas, klausosi ir nieko nežino. Šis palyginimas atskiria tris sluoksnius, kad saugomas archyvas atitiktų gedimą, iš kurio atsigaunate.

Du objektai atrodo kaip atsarginės kopijos, ir tik vienas atkuria paslaugą

Atsisiųstame kliento profilyje yra sertifikatas, raktas ir galinis taškas. Jis išsamus tam vienam įrenginiui ir bevertis kaip diegimo įrašas: jame nėra organizacijų, išjungtų naudotojų, serverių maršrutų ar administracinių paskyrų. Atkūrimas iš profilių aplanko duoda klientus, kurie negali autentifikuotis prieš nieką.

Pagrindinio kompiuterio konfigūracijos kopija yra lygiai taip pat dalinė. /etc/pritunl.conf turi pagrindinio kompiuterio lygio nustatymus, įskaitant tai, kaip pasiekti duomenų bazę, ir neturi pačių VPN objektų.

Ką valdo duomenų bazė ir ką valdo pagrindinis kompiuteris

Pritunl saugo serverių apibrėžtis, naudotojus, organizacijas ir raktus MongoDB. Ta duomenų bazė yra autoritetinė valdymo plokštuma, o kiekvienas diske sugeneruotas OpenVPN failas yra iš jos išvesta išvestis. Pakeitimas, padarytas tiesiogiai sugeneruotame faile, išlieka iki kito regeneravimo ir tada išnyksta, todėl vykdymo failų redagavimas nėra ilgalaikis pataisymas. Ta pati taisyklė galioja faktiniams maršrutams ir sąsajoms: jos aprašo, ką valdymo plokštuma sukūrė, o ne ką ji turėtų sukurti.

Pagrindinis kompiuteris prisideda mažesniu, bet neperkeliamu reikšmių rinkiniu. Viena iš jų yra /var/lib/pritunl/pritunl.uuid, to konkretaus mazgo tapatybė.

Ši tapatybė svarbiausia klasteryje. Pakaitiniam pagrindiniam kompiuteriui reikia savo registracijos, o ne aktyvaus mazgo UUID klono, kitaip abu kovoja dėl tos pačios tapatybės. Užrašykite susiejimą tarp kiekvieno pagrindinio kompiuterio, jo UUID ir duomenų bazės, į kurią jis nurodo, nes vienas duomenų bazės išrašas neaprašo, kurie pagrindinio kompiuterio nustatymai priklausė kuriai mašinai. Programinės įrangos versijos ir vieši galinių taškų pavadinimai priklauso tam pačiam įrašui.

Darykite nuoseklų išrašą, o ne katalogo kopiją

MongoDB duomenų katalogo kopijavimas, kol paslauga rašo, sukuria failus, kurie gali nesudaryti naudojamos duomenų bazės. Vietoj to naudokite palaikomą duomenų bazės išrašo kelią, paleistą pagal topologiją, kurią iš tikrųjų turite:

mongodump --uri="mongodb://127.0.0.1:27017/pritunl" --out=/var/backups/pritunl/db
sudo tar czf /var/backups/pritunl/host.tgz /etc/pritunl.conf /var/lib/pritunl/pritunl.uuid

Atskiras pagrindinis kompiuteris toleruoja šią paprastą formą. Replikų rinkiniui reikia nuoseklaus laiko taško, o išrašui, pagrįstam oplogu, keliami reikalavimai, kurių paprastas išrašas neturi. Palaikoma procedūra priklauso nuo jūsų MongoDB versijos ir topologijos, todėl nespręskite apie ją iš duomenų katalogo buvimo. Archyvuokite pagrindinio kompiuterio sluoksnį šalia išrašo, tame pačiame vykdyme, su ta pačia laiko žyma.

Praktikuokite atkūrimą prieš jam prireikiant

Atsarginė kopija, kurios niekas neatkūrė, yra hipotezė. Sukurkite paslaugą izoliuotame tinkle, atkurkite išrašą ir grąžinkite pagrindinio kompiuterio failus į vietą:

mongorestore --uri="mongodb://127.0.0.1:27017" --drop /var/backups/pritunl/db
sudo tar xzf /var/backups/pritunl/host.tgz -C /

Tada patikrinkite objektus, o ne procesą: prisijunkite, patvirtinkite, kad organizacijos ir naudotojai yra, ir paleiskite vieną bandymo klientą prieš atpažįstamą serverio apibrėžtį. Neleiskite atkurtam pagrindiniam kompiuteriui skelbti produkcijos galinio taško ar priimti tikrų ryšių, kol adresai ir tapatybės nebus apgalvoti. Čia taip pat atrandate, kad archyvui reikia kredencialų, kurie gyvavo tik sugedusioje mašinoje, todėl laikykite atkūrimo kredencialus nepriklausomoje vietoje. Atkūrimas, priklausantis nuo pagrindinio kompiuterio, kurį ką tik praradote, nėra atkūrimo planas.

Galiausiai atminkite, kad sena momentinė kopija atkuria senus sprendimus. Jei administratorius išjungė tapatybę po išrašo padarymo, atkūrimas ją vėl įjungia. Suderinimas po atkūrimo priklauso procedūrai, o ne vėlesniam apmąstymui.

Susiję straipsniai