Pritunl: krmilno stanje proti ustvarjenemu profilu
Odjemalski profil in kopija konfiguracije sta videti kot varnostni kopiji. Primerjajte, kaj ima v lasti MongoDB, kaj gostitelj in kako obnoviti delujoč Pritunl.
En arhiv obnovi delujočo namestitev Pritunl; drugi obnovi le njeno sliko. Odjemalski profil, kopija konfiguracije gostitelja in tarball stanja imenika so videti kot varnostne kopije in nobena od njih sama ne vrne organizacij, uporabnikov in definicij strežnikov, ki jih upravlja Pritunl. Razlika je v lastništvu: del stanja pripada podatkovni bazi, del gostitelju, del pa je znova ustvarjen izhod. Izberite napačno plast in obnovitev ustvari strežnik, ki se zažene, posluša in ne ve ničesar. Ta primerjava loči tri plasti, da se arhiv, ki ga obdržite, ujema z okvaro, iz katere se obnavljate.
Dva predmeta sta videti kot varnostni kopiji in le eden obnovi storitev
Preneseni odjemalski profil vsebuje potrdilo, ključ in končno točko. Popoln je za tisto eno napravo in neuporaben kot zapis o namestitvi: ne nosi organizacij, onemogočenih uporabnikov, poti strežnikov ali skrbniških računov. Obnovitev iz mape profilov da odjemalce, ki se ne morejo overiti pred ničimer.
Kopija konfiguracije gostitelja je prav tako delna. /etc/pritunl.conf vsebuje nastavitve na ravni gostitelja, vključno s tem, kako doseči podatkovno bazo, in ne vsebuje samih objektov VPN.
Kaj ima v lasti podatkovna baza in kaj gostitelj
Pritunl hrani definicije strežnikov, uporabnike, organizacije in ključe v MongoDB. Ta podatkovna baza je avtoritativna krmilna ravnina in vsaka ustvarjena datoteka OpenVPN na disku je iz nje izpeljan izhod. Sprememba, narejena neposredno v ustvarjeni datoteki, preživi do naslednje regeneracije in nato izgine, zato urejanje izvajalnih datotek ni trajna rešitev. Enako pravilo velja za dejanske poti in vmesnike: opisujejo, kaj je krmilna ravnina ustvarila, ne kaj bi morala ustvariti.
Gostitelj prispeva manjši, a neprenosljiv nabor vrednosti. Ena od njih je /var/lib/pritunl/pritunl.uuid, identiteta tega določenega vozlišča.
Ta identiteta je najpomembnejša v gruči. Nadomestni gostitelj potrebuje svojo lastno vpis, ne klona UUID aktivnega vozlišča, sicer se dva prepirata za isto identiteto. Zabeležite preslikavo med vsakim gostiteljem, njegovim UUID in podatkovno bazo, na katero kaže, ker en sam izpis podatkovne baze ne opisuje, katere nastavitve gostitelja so pripadale kateri napravi. Različice programske opreme in javna imena končnih točk spadajo v isti zapis.
Naredite dosleden izpis, ne kopije imenika
Kopiranje podatkovnega imenika MongoDB med pisanjem storitve ustvari datoteke, ki morda ne tvorijo uporabne podatkovne baze. Namesto tega uporabite podprto pot izpisa podatkovne baze, izvedeno proti topologiji, ki jo dejansko imate:
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
Samostojen gostitelj prenese to preprosto obliko. Nabor replik potrebuje dosledno točko v času in izpis na osnovi oploga ima zahteve, ki jih preprost izpis nima. Podprti postopek je odvisen od vaše različice in topologije MongoDB, zato ga ne sklepajte iz prisotnosti podatkovnega imenika. Arhivirajte plast gostitelja poleg izpisa, v istem izvajanju, z isto časovno oznako.
Vadite obnovitev, preden jo potrebujete
Varnostna kopija, ki je nihče ni obnovil, je hipoteza. Zgradite storitev v izoliranem omrežju, obnovite izpis in vrnite datoteke gostitelja na mesto:
mongorestore --uri="mongodb://127.0.0.1:27017" --drop /var/backups/pritunl/db
sudo tar xzf /var/backups/pritunl/host.tgz -C /
Nato preverite predmete, ne postopka: prijavite se, potrdite, da so organizacije in uporabniki prisotni, in zaženite enega preskusnega odjemalca proti definiciji strežnika, ki jo prepoznate. Obnovljenemu gostitelju preprečite oglaševanje produkcijske končne točke ali sprejemanje resničnih povezav, dokler naslovi in identitete niso premišljeni. Tu tudi odkrijete, da arhiv potrebuje poverilnice, ki so živele samo na odpovedani napravi, zato shranite poverilnice za obnovitev na neodvisnem mestu. Obnovitev, ki je odvisna od gostitelja, ki ste ga pravkar izgubili, ni načrt obnovitve.
Nazadnje, ne pozabite, da stari posnetek obnovi stare odločitve. Če je skrbnik po izpisu onemogočil identiteto, jo obnovitev znova omogoči. Usklajevanje po obnovitvi sodi v postopek, ne v naknadni premislek.