Један архив враћа радно распоређивање Pritunl-а; други враћа само његову слику. Клијентски профил, копија конфигурације домаћина и tarball директоријума стања сви изгледају као резервне копије и ниједна од њих сама не враћа организације, кориснике и дефиниције сервера којима управља Pritunl. Разлика је у власништву: део стања припада бази података, део домаћину, а део је регенерисани излаз. Изаберите погрешан слој и враћање ствара сервер који се покреће, слуша и ништа не зна. Ово поређење раздваја три слоја, да би архива коју чувате одговарала квару из којег се опорављате.

Два објекта изгледају као резервне копије и само један враћа услугу

Преузети клијентски профил садржи сертификат, кључ и крајњу тачку. Потпун је за тај један уређај и бескористан као запис о распоређивању: не носи организације, деактивиране кориснике, путање сервера ни административне налоге. Враћање из фасцикле профила даје клијенте који не могу да се аутентификују ни према чему.

Копија конфигурације домаћина је једнако делимична. /etc/pritunl.conf садржи поставке на нивоу домаћина, укључујући како доћи до базе података, и не садржи саме VPN објекте.

Шта поседује база података, а шта домаћин

Pritunl чува дефиниције сервера, кориснике, организације и кључеве у MongoDB-у. Та база података је ауторитативна контролна раван и свака генерисана OpenVPN датотека на диску је излаз изведен из ње. Промена направљена директно у генерисаној датотеци преживљава до следећег регенерисања и затим нестаје, зато уређивање датотека у време извршавања није трајни исправак. Исто правило важи за ефективне путање и интерфејсе: описују шта је контролна раван произвела, а не шта би требало да произведе.

Домаћин доприноси мањим, али непреносивим скупом вредности. Једна од њих је /var/lib/pritunl/pritunl.uuid, идентитет тог конкретног чвора.

Тај идентитет је најважнији у кластеру. Заменски домаћин има потребу за сопственом регистрацијом уместо клона UUID-а активног чвора, иначе се двоје боре за исти идентитет. Забележите пресликавање између сваког домаћина, његовог UUID-а и базе података на коју показује, јер један извоз базе података не описује које су поставке домаћина припадале којој машини. Верзије софтвера и јавна имена крајњих тачака припадају истом запису.

Направите конзистентан извоз, а не копију директоријума

Копирање директоријума података MongoDB док услуга пише ствара датотеке које можда не образују употребљиву базу података. Уместо тога користите подржану путању извоза базе података, извршену према топологији коју заиста имате:

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

Самостални домаћин подноси тај једноставни облик. Скуп реплика захтева конзистентан тренутак у времену, а извоз заснован на oplog-у има захтеве које обичан извоз нема. Подржани поступак зависи од ваше верзије и топологије MongoDB-а, зато га не изводите из присуства директоријума података. Архивирајте слој домаћина поред извоза, у истом извршавању, са истом временском ознаком.

Вежбајте враћање пре него што вам затреба

Резервна копија коју нико није вратио је хипотеза. Изградите услугу у изолованој мрежи, вратите извоз и вратите датотеке домаћина на место:

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

Затим проверите објекте, а не поступак: пријавите се, потврдите да су организације и корисници присутни и покрените једног тест клијента према дефиницији сервера коју препознајете. Спречите враћени домаћин да оглашава производну крајњу тачку или прихвата стварне везе док адресе и идентитети не буду намерни. Овде такође откривате да архива треба акредитиве који су живели само на отказаној машини, зато чувајте акредитиве за враћање на независном месту. Враћање које зависи од домаћина који сте управо изгубили није план враћања.

На крају, запамтите да стара слика враћа старе одлуке. Ако је администратор деактивирао идентитет након што је извоз направљен, враћање га поново активира. Усклађивање после опоравка припада поступку, а не накнадној мисли.

Повезани чланци