Kumbukumbu moja hurejesha usambazaji wa Pritunl unaofanya kazi; nyingine hurejesha picha yake tu. Wasifu wa mteja, nakala ya usanidi wa mwenyeji na tarball ya saraka ya hali zote zinaonekana kama nakala rudufu, na hakuna hata moja kati yao peke yake inayorudisha mashirika, watumiaji na fasili za seva ambazo Pritunl husimamia. Tofauti ni umiliki: sehemu ya hali ni ya hifadhidata, sehemu ni ya mwenyeji, na sehemu ni matokeo yaliyozalishwa upya. Chagua tabaka lisilo sahihi na urejeshaji utazalisha seva inayoanza, inasikiliza na haijui chochote. Ulinganisho huu hutenganisha tabaka tatu ili kumbukumbu unayohifadhi ilingane na hitilafu unayopona kutoka kwake.

Vitu viwili vinaonekana kama nakala rudufu na kimoja tu hurejesha huduma

Wasifu wa mteja uliopakuliwa una cheti, ufunguo na kituo cha mwisho. Umekamilika kwa kifaa hicho kimoja na hauna maana kama rekodi ya usambazaji: haulindi mashirika, watumiaji waliozimwa, njia za seva au akaunti za utawala. Kurejesha kutoka folda ya wasifu huwapa wateja ambao hawawezi kuthibitisha dhidi ya chochote.

Nakala ya usanidi wa mwenyeji pia ni ya sehemu. /etc/pritunl.conf inashikilia mipangilio ya ngazi ya mwenyeji, ikiwa ni pamoja na jinsi ya kufikia hifadhidata, na haina vitu vya VPN vyenyewe.

Kile hifadhidata inamiliki na kile mwenyeji anamiliki

Pritunl huhifadhi fasili za seva, watumiaji, mashirika na funguo katika MongoDB. Hifadhidata hiyo ni ndege kuu ya udhibiti, na kila faili la OpenVPN lililozalishwa kwenye diski ni matokeo yanayotokana nayo. Badiliko linalofanywa moja kwa moja kwenye faili lililozalishwa hudumu hadi uzalishaji upya unaofuata kisha hupotea, ndiyo sababu kuhariri faili za wakati wa utekelezaji si marekebisho ya kudumu. Kanuni hiyo hiyo inatumika kwa njia na violesura halisi: zinaeleza kile ndege ya udhibiti ilizalisha, si kile inapaswa kuzalisha.

Mwenyeji huchangia seti ndogo lakini isiyoweza kuhamishwa ya thamani. Mojawapo ni /var/lib/pritunl/pritunl.uuid, utambulisho wa nodi hiyo mahususi.

Utambulisho huo ni muhimu zaidi katika kundi. Mwenyeji mbadala anahitaji usajili wake mwenyewe badala ya nakala ya UUID ya nodi inayotumika, vinginevyo wawili hao wanapigania utambulisho mmoja. Rekodi uchoraji kati ya kila mwenyeji, UUID yake na hifadhidata inayoelekea, kwa sababu utoaji mmoja wa hifadhidata hauelezi mipangilio ya mwenyeji iliyomilikiwa na mashine gani. Matoleo ya programu na majina ya vituo vya mwisho vya umma ni vya rekodi hiyo hiyo.

Fanya utoaji thabiti, si nakala ya saraka

Kunakili saraka ya data ya MongoDB wakati huduma inaandika huzalisha faili ambazo huenda zisiunde hifadhidata inayoweza kutumika. Tumia badala yake njia ya utoaji inayotumika ya hifadhidata, ikitekelezwa dhidi ya topolojia unayo kweli:

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

Mwenyeji huru huvumilia umbo hilo rahisi. Seti ya nakala inahitaji wakati thabiti, na utoaji unaotegemea oplog una mahitaji ambayo utoaji rahisi hauna. Utaratibu unaotumika hutegemea toleo lako la MongoDB na topolojia, kwa hivyo usiikadirie kutokana na uwepo wa saraka ya data. Hifadhi tabaka la mwenyeji kando ya utoaji, katika utekelezaji huo huo, na muhuri huo huo wa muda.

Fanya mazoezi ya kurejesha kabla ya kuhitaji

Nakala rudufu ambayo hakuna mtu aliyeirejesha ni dhana. Jenga huduma katika mtandao uliotengwa, rejesha utoaji na urudishe faili za mwenyeji:

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

Kisha thibitisha vitu badala ya mchakato: ingia, thibitisha kwamba mashirika na watumiaji wapo, na uzindue mteja mmoja wa jaribio dhidi ya fasili ya seva unayoijua. Zuia mwenyeji aliyerejeshwa kutangaza kituo cha mwisho cha uzalishaji au kukubali miunganisho halisi hadi anwani na utambulisho ziwe za makusudi. Hapa pia unagundua kwamba kumbukumbu inahitaji vitambulisho vilivyoishi tu kwenye mashine iliyoshindwa, kwa hivyo hifadhi vitambulisho vya urejeshaji mahali huru. Urejeshaji unaotegemea mwenyeji uliyempoteza hivi punde si mpango wa urejeshaji.

Mwishowe, kumbuka kwamba picha ya zamani hurejesha maamuzi ya zamani. Ikiwa msimamizi alizima utambulisho baada ya utoaji kuchukuliwa, urejeshaji huurejesha tena. Upatanisho baada ya uponesaji ni wa utaratibu, si wa fikira ya baadaye.

Makala zinazohusiana