हम एक vmware / साझा भंडारण वातावरण में कई लिनक्स वीएम चला रहे हैं, प्रत्येक पोस्टग्रेक्यूएल (9.0 और 9.3 का मिश्रण) का अपना उदाहरण चला रहा है। वर्तमान में, पूरा वीएम एक रूट विभाजन / वॉल्यूम पर बैठता है, और हमें बैकअप / पुनर्स्थापना प्रक्रिया (और हमारे डीआर साइट के लिए प्रतिकृति) के लिए अंतर्निहित वीएमएफएस संस्करणों के भंडारण-आधारित स्नैपशॉट का उपयोग करके बड़ी सफलता (~ 8 वर्ष) मिली है।
हमारे भंडारण की वास्तुकला के कारण, यह एक गैर-कैश की गई वॉल फ़ाइलों को पोस्टग्रेज करने के लिए फायदेमंद होगा, जो ज्यादातर हमें स्टोरेज साइड पर कम कैश मंथन देने के लिए वॉल्यूम लिखते हैं। हमारे भंडारण (निंबले स्टोरेज) के साथ, हम दोनों संस्करणों को एक ही सुरक्षा / स्नैपशॉट समूह में असाइन कर सकते हैं, लेकिन मैं अपने विक्रेता से यह एलिमिट नहीं कर पाया कि स्नैपशॉट सुरक्षा समूह में सभी संस्करणों में एक ही समय में एक ही समय में होगा। - यह होने की संभावना है, लेकिन वहाँ हमेशा यह मौका है कि इसके मिलीसेकंड के अलावा।
उस अंत तक, हमने कुछ प्रयोगों को चलाया, जबकि DB के लिए डेटा लिखते हुए जितनी जल्दी हो सके pg_bench का उपयोग करते हुए। प्रयोगों के बाद, हमने अपने स्नैपशॉट के संस्करणों को पुनर्स्थापित किया और वीएम + पोस्टग्रेज शुरू किया
- स्नैपशॉट डेटा और लॉग वॉल्यूम दोनों को एक साथ बंद करें - परिणाम: DB पुनर्प्राप्त
- स्नैपशॉट डेटा वॉल्यूम पहले, लॉग वॉल्यूम ~ 1 मिनट बाद - परिणाम: DB पुनर्प्राप्त
- स्नैपशॉट लॉग वॉल्यूम पहले, डेटा वॉल्यूम ~ 1 मिनट बाद - परिणाम: DB पुनर्प्राप्त
- स्नैपशॉट लॉग वॉल्यूम पहले, डेटा की मात्रा ~ 3 मिनट बाद, जब वाल चेकपॉइंट ने डेटाफाइल्स को नया डेटा लिखा था: परिणाम: डीबी बरामद
इसलिए परीक्षण हमें यह बताने के लिए लगता है कि जब तक दोनों स्नैपशॉट वॉल्यूम स्तर पर सुसंगत हैं, और अपेक्षाकृत एक साथ, आपको वाल / लॉग वॉल्यूम स्नैपशॉट के समय के आधार पर डीबी की एक सुसंगत प्रतिलिपि मिलती है।
मेरा प्रश्न: क्या यह सुरक्षित है? हमारे परीक्षण में कौन से कोने के मामले गायब हैं, और क्या गलत हो सकता है?
Postgres 'doc इंगित करता है कि यह सुरक्षित नहीं है, लेकिन परीक्षण इसके बहुत मजबूत होने का संकेत देता है: http://www.postgresql.org/docs/9.1/static/backup-file.html
यदि आपका डेटाबेस कई फ़ाइल सिस्टम में फैला हुआ है, तो सभी संस्करणों के बिल्कुल-एक साथ जमे हुए स्नैपशॉट प्राप्त करने का कोई तरीका नहीं हो सकता है। उदाहरण के लिए, यदि आपकी डेटा फ़ाइलें और वाल लॉग अलग-अलग डिस्क पर हैं, या यदि टेबलस्पेस विभिन्न फ़ाइल सिस्टम पर हैं, तो स्नैपशॉट बैकअप का उपयोग करना संभव नहीं हो सकता है क्योंकि स्नैपशॉट एक साथ होना चाहिए। ऐसी परिस्थितियों में सुसंगत-स्नैपशॉट तकनीक पर भरोसा करने से पहले अपने फाइल सिस्टम प्रलेखन को बहुत ध्यान से पढ़ें।
नोट: हाँ, हम यह सुनिश्चित करने के लिए अन्य विकल्पों के बारे में जानते हैं कि वे सुसंगत हैं, जैसे PostgreSQL को हॉट बैकअप मोड में डालना या VM के स्वयं को बुझाने के लिए हमारे स्टोरेज के VMware एकीकरण का उपयोग करना, लेकिन हम गति, सुविधा के लिए स्टोरेज-केवल समाधान की तलाश कर रहे हैं। और हमारे ग्राहकों के लिए शून्य प्रभाव।