प्रतिकृति विफल रही है; कैसे फिर से पाने के लिए?


10

मैं उबंटू में 9.1.6 पोस्टग्रेज चला रहा हूं और मेरे पास एक मास्टर और गुलाम के बीच प्रतिकृति सेटअप है। डेटाबेस के दुर्घटनाग्रस्त होने तक सब कुछ सुचारू रूप से चल रहा है और हमें दोनों बक्से को फिर से शुरू करना पड़ा।

अब, प्रतिकृति बंद हो गई है और दोनों बॉक्स पर लॉग की जांच करते समय, मुझे यह संदेश दिखाई देता है:

CDT FATAL: अनुरोध किया गया वाल सेगमेंट 0000000100000224000000FA पहले ही हटा दिया गया है

यह बार-बार एक ही खंड है। मेरे Googling से, ऐसा लगता है कि प्रतिकृति सर्वर मास्टर से इस सेगमेंट को पुनः प्राप्त करने की कोशिश कर रहा है, लेकिन यह अब नहीं है। ठीक है, लेकिन यह कैसे प्राप्त करें? क्या मुझे एक नया बैकअप और rsync बनाने की आवश्यकता है जो दास के ऊपर है? क्या दास को सिंक में वापस लाने का एक आसान तरीका है?

जवाबों:


7

हां, आपको स्वामी को एक नया आधार बैकअप (केवल 1 से 4 चरणों की प्रतिकृति स्ट्रीमिंग के लिए) देना होगा।

आपकी समस्या शायद कम हो गई है क्योंकि wal_keep_seolution का मूल्य कम है। मान इतना अधिक होना चाहिए कि जब कुछ समय के लिए दास नीचे हो, तो स्वामी पुनर्चक्रण खंडों को दोबारा शुरू नहीं करेगा, दास ने अभी तक कार्रवाई नहीं की है।


1

कृपया सत्यापित करें कि आवश्यक वॉल्स उस स्थान पर हैं जहाँ से आप गुलाम को स्ट्रीमिंग मोड में प्राथमिक होस्ट से जोड़ने से पहले प्रारंभिक बहाली के लिए बहाल कर रहे हैं

आपकी समस्या तब हो सकती है जब कोई वाल सेग डोनेट उस स्थान पर मौजूद हो, जहाँ से आप प्रारंभिक रिकवरी के लिए बहाल कर रहे हैं।

यदि इस उदाहरण में सबकुछ ठीक है, तो आप पुर्नस्थापना की जाँच करें recovery.conf


0

चारों ओर एक और काम प्राथमिक से backup_push चलना है और तुरंत स्टैंडबाय दास से एक backip_fetch करना है और स्टैंडबाय शुरू करना है।


2
कृपया विस्तार करें कि यह प्रक्रिया क्यों काम करती है
RolandoMySQLDBA
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.