Bitta arxiv ishlaydigan Pritunl o’rnatilishini tiklaydi; ikkinchisi faqat uning tasvirini tiklaydi. Mijoz profili, host konfiguratsiyasining nusxasi va holat katalogining tarball’i barchasi zaxira nusxaga o’xshaydi va ularning hech biri yakka o’zi Pritunl boshqaradigan tashkilotlar, foydalanuvchilar va server ta’riflarini qaytarmaydi. Farq egalikda: holatning bir qismi ma’lumotlar bazasiga, bir qismi hostga tegishli, bir qismi esa qayta yaratilgan chiqishdir. Noto’g’ri qatlamni tanlang va tiklash boshlanadigan, tinglaydigan va hech narsa bilmaydigan server yaratadi. Bu taqqoslash uch qatlamni ajratadi, shunda saqlaydigan arxivingiz tiklanayotgan nosozlikka mos keladi.

Ikki obyekt zaxira nusxaga o’xshaydi va faqat bittasi xizmatni tiklaydi

Yuklab olingan mijoz profili sertifikat, kalit va so’nggi nuqtani o’z ichiga oladi. U o’sha bitta qurilma uchun to’liq va o’rnatishning yozuvi sifatida foydasiz: u tashkilotlar, o’chirilgan foydalanuvchilar, server marshrutlari va ma’muriy hisoblarni olib yurmaydi. Profillar papkasidan tiklash hech narsaga autentifikatsiya qila olmaydigan mijozlarni beradi.

Host konfiguratsiyasining nusxasi ham xuddi shunday qismdir. /etc/pritunl.conf host darajasidagi sozlamalarni, jumladan ma’lumotlar bazasiga qanday yetib borishni saqlaydi va VPN obyektlarining o’zini saqlamaydi.

Ma’lumotlar bazasi nimaga egalik qiladi va host nimaga egalik qiladi

Pritunl server ta’riflarini, foydalanuvchilarni, tashkilotlarni va kalitlarni MongoDB’da saqlaydi. O’sha ma’lumotlar bazasi vakolatli boshqaruv tekisligidir va diskda yaratilgan har bir OpenVPN fayli undan olingan chiqishdir. Yaratilgan faylga to’g’ridan-to’g’ri kiritilgan o’zgartirish keyingi qayta yaratishgacha yashaydi va keyin yo’qoladi, shuning uchun ishlash vaqti fayllarini tahrirlash bardoshli tuzatish emas. Xuddi shu qoida samarali marshrutlar va interfeyslarga ham tegishli: ular boshqaruv tekisligi nima yaratganini tasvirlaydi, nima yaratishi kerakligini emas.

Host kichikroq, ammo o’tkazib bo’lmaydigan qiymatlar to’plamini qo’shadi. Ulardan biri /var/lib/pritunl/pritunl.uuid, o’sha muayyan tugunning identifikatoridir.

Bu identifikator klasterda eng muhimdir. O’rinbosar host faol tugun UUID’sining kloni o’rniga o’z ro’yxatga olinishiga muhtoj, aks holda ikkalasi bir xil identifikator uchun kurashadi. Har bir host, uning UUID’si va u ko’rsatgan ma’lumotlar bazasi o’rtasidagi xaritani yozib oling, chunki bitta ma’lumotlar bazasi eksporti qaysi host sozlamalari qaysi mashinaga tegishli ekanini tasvirlamaydi. Dasturiy ta’minot versiyalari va ommaviy so’nggi nuqta nomlari bir xil yozuvga tegishli.

Izchil eksport qiling, katalog nusxasi emas

Xizmat yozayotganda MongoDB ma’lumotlar katalogini nusxalash foydalanish mumkin bo’lgan ma’lumotlar bazasini tashkil qilmasligi mumkin bo’lgan fayllarni yaratadi. Buning o’rniga ma’lumotlar bazasi qo’llab-quvvatlaydigan eksport yo’lini, haqiqatda ega bo’lgan topologiyaga qarshi ishga tushiring:

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

Yakka host bu oddiy shaklga toqat qiladi. Replika to’plami izchil vaqt nuqtasini talab qiladi va oplog asosidagi eksportning oddiy eksportda yo’q talablari bor. Qo’llab-quvvatlanadigan tartib MongoDB versiyangiz va topologiyangizga bog’liq, shuning uchun uni ma’lumotlar katalogi mavjudligidan xulosa qilmang. Host qatlamini eksport yonida, xuddi shu ishga tushirishda, xuddi shu vaqt tamg’asi bilan arxivlang.

Tiklashni kerak bo’lishidan oldin mashq qiling

Hech kim tiklamagan zaxira nusxa bu farazdir. Xizmatni izolyatsiyalangan tarmoqda quring, eksportni tiklang va host fayllarini joyiga qaytaring:

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

Keyin jarayonni emas, obyektlarni tekshiring: tizimga kiring, tashkilotlar va foydalanuvchilar mavjudligini tasdiqlang va tanigan server ta’rifiga qarshi bitta sinov mijozi ishga tushiring. Tiklangan hostning ishlab chiqarish so’nggi nuqtasini e’lon qilishini yoki haqiqiy ulanishlarni qabul qilishini manzillar va identifikatorlar ataylab bo’lgunga qadar to’xtating. Bu yerda shuningdek arxiv faqat ishdan chiqqan mashinada yashagan hisob ma’lumotlariga muhtojligini aniqlaysiz, shuning uchun tiklash hisob ma’lumotlarini mustaqil joyda saqlang. Hozir yo’qotgan hostga bog’liq tiklash tiklash rejasi emas.

Nihoyat, esda tutingki, eski surat eski qarorlarni tiklaydi. Agar administrator eksport olingandan keyin identifikatorni o’chirib qo’ygan bo’lsa, tiklash uni qayta yoqadi. Tiklashdan keyingi muvofiqlashtirish tartibga tegishli, keyingi mulohazaga emas.

O'xshash maqolalar