Die een argief herstel ’n werkende Pritunl-ontplooiing; die ander herstel ’n prentjie daarvan. ’n Kliëntprofiel, ’n kopie van die gasheerkonfigurasie en ’n tarball van die toestandsgids lyk almal soos rugsteunings, en nie een daarvan alleen bring die organisasies, gebruikers en bedienerdefinisies terug wat Pritunl bestuur nie. Die verskil is eienaarskap: sommige toestand behoort aan ’n databasis, sommige aan die gasheer, en sommige is herskepde uitset. Kies die verkeerde laag en die herstel lewer ’n bediener wat begin, luister en niks weet nie. Hierdie vergelyking skei die drie lae sodat die argief wat jy hou by die fout pas waarvan jy herstel.

Twee voorwerpe lyk soos rugsteunings en net een herstel die diens

’n Afgelaaide kliëntprofiel bevat ’n sertifikaat, ’n sleutel en ’n eindpunt. Dit is volledig vir daardie een toestel en nutteloos as ’n rekord van die ontplooiing: dit dra geen organisasies nie, geen gedeaktiveerde gebruikers nie, geen bedienerroetes nie en geen administratiewe rekeninge nie. Om uit ’n gids met profiele te herstel gee kliënte wat by niks kan authentiseer nie.

’n Kopie van die gasheerkonfigurasie is ewe gedeeltelik. /etc/pritunl.conf hou instellings op gasheervlak, insluitend hoe om die databasis te bereik, en dit bevat nie die VPN-voorwerpe self nie.

Wat die databasis besit en wat die gasheer besit

Pritunl hou bedienerdefinisies, gebruikers, organisasies en sleutels in MongoDB. Daardie databasis is die gesaghebbende beheervlak, en elke gegenereerde OpenVPN-lêer op skyf is uitset wat daarvan afgelei is. ’n Verandering wat direk aan ’n gegenereerde lêer gemaak word, oorleef tot die volgende hergenerering en verdwyn dan, en daarom is die wysiging van looptydlêers nie ’n blywende oplossing nie. Dieselfde reël geld vir effektiewe roetes en koppelvlakke: hulle beskryf wat die beheervlak geproduseer het, nie wat dit behoort te produseer nie.

Die gasheer dra ’n kleiner maar nie-oordraagbare stel waardes by. Een daarvan is /var/lib/pritunl/pritunl.uuid, die identiteit van daardie spesifieke nodus.

Daardie identiteit is die belangrikste in ’n groep. ’n Vervangingsgasheer het sy eie inskrywing nodig eerder as ’n kloon van ’n aktiewe nodus se UUID, anders veg die twee oor dieselfde identiteit. Teken die kartering tussen elke gasheer, sy UUID en die databasis waarna dit wys aan, want ’n enkele databasis-stort het nie beskryf watter gasheerinstellings aan watter masjien behoort het nie. Sagtewareweergawes en openbare eindpuntname hoort in dieselfde rekord.

Maak ’n konsekwente stort, nie ’n gidskopie nie

Die kopiëring van die MongoDB-datagids terwyl die diens skryf, produseer lêers wat dalk nie ’n bruikbare databasis vorm nie. Gebruik eerder die databasis se ondersteunde stortpad, uitgevoer teen die topologie wat jy werklik het:

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

’n Selfstandige gasheer verdra daardie eenvoudige vorm. ’n Replika-stel het ’n konsekwente tydstip nodig, en ’n oplog-gebaseerde stort het vereistes wat ’n gewone stort nie het nie. Die ondersteunde prosedure hang af van jou MongoDB-weergawe en -topologie, so lei dit nie af uit die teenwoordigheid van ’n datagids nie. Argiveer die gasheerlaag langs die stort, in dieselfde lopie, met dieselfde tydstempel.

Oefen die herstel voordat jy dit nodig het

’n Rugsteuning wat niemand herstel het nie, is ’n hipotese. Bou die diens in ’n geïsoleerde netwerk, herstel die stort en sit die gasheerlêers terug:

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

Verifieer dan die voorwerpe eerder as die proses: teken in, bevestig dat organisasies en gebruikers teenwoordig is, en bring een toetskliënt teen ’n bedienerdefinisie wat jy herken aan die gang. Keer dat die herstelde gasheer die produksie-eindpunt adverteer of werklike verbindings aanvaar totdat adresse en identiteite doelbewus is. Dit is ook waar jy ontdek dat die argief geloofsbriewe nodig het wat net op die mislukte masjien geleef het, so berg herstelgeloofsbriewe op ’n onafhanklike plek. ’n Herstel wat afhang van die gasheer wat jy pas verloor het, is nie ’n herstelplan nie.

Onthou laastens dat ’n ou momentopname ou besluite herstel. As ’n administrateur ’n identiteit gedeaktiveer het nadat die stort geneem is, aktiveer die herstel dit weer. Versoening ná herstel hoort in die prosedure, nie in die nagedagte nie.

Verwante artikels