कैसे एक सेटअप PostgreSQL 9.1 में स्वत: विफलता के लिए दो समान सर्वर सेटअप करता है।
ओएस
Centos 5
PostgreSQL 9.1 स्रोत से संकलित किया गया
पोस्टग्रेज उपयोगकर्ता खाता दोनों मशीनों पर मौजूद है और दोनों मशीनों से कनेक्ट करने के लिए एक ssh पासवर्ड रहित कुंजी है।
मेरा वर्तमान सेटअप:
मास्टर सर्वर कॉन्फ़िगरेशन:
postgresql.conf:
listen_address = '*'
wal_level = hot_standby
max_wal_senders = 3
checkpoint_segments = 16
wal_keep_segments = 8
archive_mode = on
archive_command = 'cp "%p" /opt/pgsql91/archive/"%f"'
pg_hba.conf:
host replication all 10.0.66.1/32 trust
host replication all 10.0.66.2/32 trust
स्टैंडबाय सर्वर
postgresql.conf और pg_hba.conf मास्टर सर्वर पर कॉन्फ़िगर किए गए के समान हैं।
recovery.conf:
standby_mode = 'on'
primary_conninfo = 'host=10.0.66.1'
trigger_file = '/opt/pgsql91/data/trigger.txt'
HzRoot के लिए धन्यवाद, अब मैं समझता हूं कि सर्वर को स्टैंडबाय से मास्टर में कैसे स्विच किया जाए।
निम्न आदेशों का उपयोग करते हुए, मैं नए दास को नए मास्टर के साथ सिंक्रनाइज़ कर सकता हूं और फिर प्रतिकृति बैकअप और रनिंग प्राप्त कर सकता हूं।
नए मास्टर पर (10.0.66.2)
- su - पोस्टग्रेट्स
- स्पर्श ट्रिगर। txt / opt / pgsql91 / data / में
- पुनर्प्राप्ति .conf पुनर्प्राप्ति .one बन जाता है
- psql -c "; SELECT pg_start_backup ('बैकअप', सच)";
- rsync -a -v -e ssh / opt / pgsql91 / data / 10.0.66.1:/opt/pgsql91/data/ --exclude postmaster.pid
- psql -c "; SELECT pg_stop_backup ()";
नए दास पर (10.0.66.1)
- Recovery.conf बनाएँ: cp recovery.done to recovery.conf
- vi पुनर्प्राप्ति .conf परिवर्तन IP पता: Primary_conninfo = 'होस्ट = 10.0.66.2'
- postgresql शुरू करें
तो मेरे सवाल अब हैं:
- क्या यह भूमिकाओं को बदलने का सही तरीका है?
- क्या किसी ने इस प्रक्रिया को स्वचालित कर दिया है, यदि ऐसा है तो आपने क्या किया?
- यदि तुल्यकालिक प्रतिकृति सक्षम है, तो मैंने देखा कि नया मास्टर सर्वर कोई लेनदेन नहीं करेगा क्योंकि यह दास के जवाब देने की प्रतीक्षा कर रहा है। हालांकि कोई भी दास नहीं है क्योंकि दूसरा सर्वर, पुराना मास्टर नीचे है। क्या यह सही है या क्या मुझे नए गुलाम होने के दौरान समकालिक प्रतिकृति को अस्थायी रूप से अक्षम करने की आवश्यकता है?