Бир архив иштеген 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 /

Андан кийин процессти эмес, объектилерди текшериңиз: кириңиз, уюмдар жана колдонуучулар бар экенин ырастаңыз жана өзүңүз тааныган сервер аныктамасына каршы бир сыноо кардарын иштетиңиз. Калыбына келтирилген хосттун өндүрүштүк акыркы чекитти жарнамалашына же чыныгы туташууларды кабыл алышына дареги жана идентификатору атайын болгонго чейин жол бербеңиз. Бул жерде сиз ошондой эле архивге бир гана иштен чыккан машинада жашаган каттоо маалыматтары керек экенин аныктайсыз, ошондуктан калыбына келтирүү каттоо маалыматтарын көз карандысыз жерде сактаңыз. Жаңы жоготкон хостко көз каранды калыбына келтирүү калыбына келтирүү планы эмес.

Акырында, эски сүрөт эски чечимдерди калыбына келтирерин унутпаңыз. Эгер администратор дамп алынгандан кийин идентификаторду өчүрүп койсо, калыбына келтирүү аны кайра күйгүзөт. Калыбына келтирүүдөн кийинки шайкештештирүү жол-жобого таандык, кеч ойго эмес.

Тектеш макалалар