एउटा सङ्ग्रह काम गर्ने 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 /

त्यसपछि प्रक्रियाको सट्टा वस्तुहरू प्रमाणित गर्नुहोस्: लग इन गर्नुहोस्, संस्था र प्रयोगकर्ता छन् भनी पुष्टि गर्नुहोस्, र तपाईंले चिन्ने सर्भर परिभाषाविरुद्ध एउटा परीक्षण क्लाइन्ट सुरु गर्नुहोस्। पुनर्स्थापित होस्टलाई उत्पादन अन्त्यबिन्दुको विज्ञापन गर्न वा वास्तविक जडान स्वीकार गर्नबाट रोक्नुहोस् जबसम्म ठेगाना र पहिचान जानाजानी हुँदैन। यहीँ तपाईंले सङ्ग्रहलाई केवल असफल मेसिनमा रहेका प्रमाणहरू चाहिन्छ भनी पत्ता लगाउनुहुन्छ, त्यसैले पुनर्स्थापना प्रमाणहरू स्वतन्त्र ठाउँमा राख्नुहोस्। जुन पुनर्स्थापना तपाईंले भर्खरै गुमाएको होस्टमा निर्भर छ त्यो पुनर्स्थापना योजना होइन।

अन्तमा, याद राख्नुहोस् कि पुरानो स्न्यापसटले पुराना निर्णय पुनर्स्थापना गर्छ। यदि प्रशासकले डम्प लिएपछि पहिचान अक्षम गरेको भए, पुनर्स्थापनाले त्यसलाई फेरि सक्षम गर्छ। पुनर्स्थापनापछिको मेलमिलाप प्रक्रियाको भाग हो, ढिलो सोचाइको होइन।

सम्बन्धित लेखहरू