التبديل
في SKOOR 6.2 تغيرت دلالات الأمر switch
بشكل كبير. في الإصدارات السابقة، كان الأمر switch
يعكس تمامًا أدوار الأساسي والاستعداد. منذ الإصدار SKOOR 6.2، يقوم أمر التبديل بتنفيذ عملية تجاوز الفشل فقط من الأساسي إلى الاحتياطي. للحصول على نسخ متماثل يعمل مرة أخرى، يتعين على المرء إجراء createslave
يدويًا على الأساسي الجديد. يغطي هذا حالات الاستخدام الشائعة بشكل أفضل بكثير من خلال توفير عمليات تجاوز الفشل بشكل أسرع بكثير.
تجاوز الفشل
يمكن تحقيق ذلك من خلال تشغيل الأمر التالي على الوضع الاحتياطي الحالي أو الأساسي. إذا لم يعد من الممكن الوصول إلى الأساسي بعد الآن، فيجب تشغيله على الاحتياطي:
# /opt/eranger/bin/eranger-server-replication.pl switch 10.1.0.89 10.1.0.89 checking ssh for user reranger localhost (10.1.0.89) is slave, master 10.1.0.88 is up will convert localhost to master and 10.1.0.88 to slave press ENTER to continue, Ctrl-C to abort >
اضغط على Enter للمتابعة. يجب أن يبدو الناتج هكذا:
10.1.0.89 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.89 pre s2m 10.1.0.88 calling eranger-server-syncfs.sh 10.1.0.89 10.1.0.88 calling eranger-server-sync-collector-bin.pl 10.1.0.88 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.89 pre m2s 10.1.0.88 OK> 10.1.0.90 removed from eth0 10.1.0.89 from slave to master 10.1.0.89 current master: 10.1.0.88 10.1.0.89 eranger start httpd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 httpd already running (not starting) 10.1.0.89 done 10.1.0.89 eranger start eranger-report at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-report (service eranger-report ).. 10.1.0.89 done 10.1.0.89 eranger start eranger-server at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-server (service eranger-server ).. 10.1.0.89 done 10.1.0.89 eranger start eranger-ethd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-ethd (service eranger-ethd ).. 10.1.0.89 done 10.1.0.89 eranger start eranger-eth-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-eth-alerter (service eranger-eth-alerter ).. 10.1.0.89 done 10.1.0.89 eranger start eranger-collector at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-collector (service eranger-collector ).. 10.1.0.89 delete /opt/eranger/collector/ringbuffer1.bin 10.1.0.89 done 10.1.0.89 eranger start eranger-agent at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 eranger-agent already running (not starting) 10.1.0.89 done 10.1.0.89 eranger start eranger-ic-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-ic-alerter (service eranger-ic-alerter ).. 10.1.0.89 done 10.1.0.89 eranger start httpd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 httpd already running (not starting) 10.1.0.89 done 10.1.0.89 eranger start eranger-report at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 eranger-report already running (not starting) 10.1.0.89 done 10.1.0.89 eranger start eranger-server at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 eranger-server already running (not starting) 10.1.0.89 done 10.1.0.89 eranger start eranger-ethd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-ethd (service eranger-ethd ).. 10.1.0.89 done 10.1.0.89 eranger start eranger-eth-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-eth-alerter (service eranger-eth-alerter ).. 10.1.0.89 done 10.1.0.89 eranger start eranger-collector at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 eranger-collector already running (not starting) 10.1.0.89 done 10.1.0.89 eranger start eranger-agent at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 eranger-agent already running (not starting) 10.1.0.89 done 10.1.0.89 eranger start eranger-ic-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.89 start eranger-ic-alerter (service eranger-ic-alerter ).. 10.1.0.89 done 10.1.0.89 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.89 post s2m 10.1.0.89 OK> 10.1.0.90 added to eth0. 10.1.0.89 OK> 10.1.0.90 configured in /etc/sysconfig/network-scripts/ifcfg-eth0:0. 10.1.0.88 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.89 post m2s 10.1.0.89 10.1.0.89 checking ssh for user reranger
سيقوم البرنامج النصي بـ
جعل الوضع الاحتياطي الحالي هو الأساسي الجديد
تشغيل أي نصوص مسبقة إذا كانت محددة في eranger-replication.cfg
إلغاء تنشيط مزامنة نظام الملفات (خدمة Syncfs) على النظام الأساسي القديم
إيقاف خدمات eranger-server و eranger-collector و eranger-report على النظام الأساسي القديم
بدء تشغيل خدمات خادم eranger ومُجمِّع eranger وخدمات تقرير eranger على النظام الأساسي الجديد
بدء تشغيل httpd و eranger- Agent إذا لم تكن تعمل بالفعل على الأساسي والاستعدادي
قم بتسجيل الدخول إلى جميع المجمعات الخارجية وتغيير eranger-collector.cfg بحيث تقوم بتسليم بياناتها إلى الخادم الأساسي الجديد (لا يعمل مع الخادم <n> عنوان المعلمة تعيين عنوان http)
قم بتشغيل أي نصوص لاحقة إذا كانت محددة في eranger-replication.cfg
تنشيط النسخ المتماثل بين الأساسي الجديد والقديم
يجب تنفيذ هذه الخطوة فقط عندما يكون النظام الأساسي القديم لا يزال متاحًا ومن المخطط العودة إلى النظام القديم مرة أخرى.
للحصول على النسخ المتماثل قيد التشغيل من النظام الأساسي الجديد إلى النظام الاحتياطي الجديد، يجب على المرء أن يقوم بإجراء createstandby
على النظام الأساسي الجديد.
/opt/eranger/bin/eranger-server-replication.pl createslave
بروتوكول الإنترنت الافتراضي
تم تنفيذ المثال أعلاه بينما كان النظام الأساسي القديم لا يزال قيد التشغيل ومتاحاً. بعد التبديل الناجح سيتعين إخطار المستخدمين النهائيين باستخدام عنوان IP أو اسم DNS الخاص بالأساسي الجديد بدلاً من ذلك.
يتم دعم تعيين عنوان IP الظاهري ونقله إلى الأساسي النشط مع تضييق IP (انظر إعداد عنوان IP الظاهري باستخدام البرامج النصية قبل وبعد) ويتم استخدام النص البرمجي المقابل vip-switch.sh قبل وبعد في المثال أعلاه.
إعادة التبديل
قبل التبديل مرة أخرى إلى الأساسي القديم، يجب إجراء createslave
على الأساسي الجديد.
لا يلزم أن يكون الأساسي الحالي قيد التشغيل حتى يتمكن الاحتياطي من تولي المسؤولية. يمكن أيضًا إصدار التبديل في وضع الاستعداد عند تعطل الأساسي الحالي (غير متاح). يجب توخي الحذر، عند إعادة تشغيل الأساسي القديم على الإنترنت حيث أنه لا يزال مهيأ كأساسي. قم بإيقاف عمليات eranger-server و eranger-collector و eranger-scheduler على الأساسي القديم وإصدار الأمر createlave على الأساسي النشط الحالي . للرجوع إلى الأدوار الافتراضية قم بإصدار أمر التبديل مرة أخرى.
من المفترض أن يكون التبديل مؤقتًا فقط وأنه بعد إعادة تشغيل الأساسي مرة أخرى يتم إجراء تبديل آخر إلى الأساسي الأصلي. ولذلك، لا يتم تبديل عناوين IP الخاصة بالأساسي والاحتياطي في eranger-replication.cfg عند إجراء التبديل. لا يزال التبديل مرة أخرى يعمل مع هذا الإعداد، فقط عند إجراء عملية إنشاء عبد جديد من الأساسي الجديد يجب تبديل عناوين IP في eranger-replication.cfg.
حالة محرك SKOOR بعد التبديل
بعد التبديل، يُظهر أمر الحالة eRanger.sh المخرجات التالية على الأساسي الجديد:
# /opt/eranger/bin/eRanger.sh status Running /opt/eranger/bin/eRanger.sh with root privileges... eRanger Server installation... Current eRanger Status: Status postgresql: started Status postgresql replication: started Status postfix: started Status rsyslog: started Status snmptrapd: stopped Status http server: started Status eRanger Server: started Status eRanger Collector: started Status eRanger Report: started Status eRanger Agent: started Status eRanger Webservice: started
والمخرجات التالية على الوضع الاحتياطي الجديد:
# /opt/eranger/bin/eRanger.sh status Running /opt/eranger/bin/eRanger.sh with root privileges... eRanger Server installation... Current eRanger Status: Status postgresql: started Status postgresql replication: started Status postfix: started Status rsyslog: started Status snmptrapd: stopped Status http server: started Status smsd: stopped Status eRanger Server: stopped (postgresql slave) Status eRanger Collector: stopped (postgresql slave) Status eRanger Report: stopped (postgresql slave) Status eRanger Agent: stopped Status eRanger Webservice: started
الوضع غير التفاعلي
يمكن تشغيل التبديل في وضع غير تفاعلي بإضافة الخيار -f. استخدم هذا إذا كان البرنامج النصي بحاجة إلى التشغيل غير التفاعلي وفي حالة وجود نسخة SKOOR مثبتة على أحد المجمّعين أو بعضهم غير مطابقة للنسخة الموجودة على الأساسي والاستعداد. يُظهر ما يلي الإخراج عند تشغيل المفتاح باستخدام -f، على النسخة الاحتياطية الحالية، أي النسخة الأساسية الأصلية. يستعيد أمر التبديل الثاني هذا الأدوار الأصلية للأساسي والاحتياطي.
# /opt/eranger/bin/eranger-server-replication.pl -f switch 10.1.0.88 10.1.0.88 checking ssh for user reranger localhost (10.1.0.88) is slave, master 10.1.0.89 is up will convert localhost to master and 10.1.0.89 to slave 10.1.0.88 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.88 pre s2m 10.1.0.89 calling eranger-server-syncfs.sh 10.1.0.88 10.1.0.89 calling eranger-server-sync-collector-bin.pl 10.1.0.89 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.88 pre m2s 10.1.0.89 OK> 10.1.0.90 removed from eth0 10.1.0.88 from slave to master 10.1.0.88 current master: 10.1.0.89 10.1.0.88 eranger start httpd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 httpd already running (not starting) 10.1.0.88 done 10.1.0.88 eranger start eranger-report at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-report (service eranger-report ).. 10.1.0.88 done 10.1.0.88 eranger start eranger-server at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-server (service eranger-server ).. 10.1.0.88 done 10.1.0.88 eranger start eranger-ethd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-ethd (service eranger-ethd ).. 10.1.0.88 done 10.1.0.88 eranger start eranger-eth-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-eth-alerter (service eranger-eth-alerter ).. 10.1.0.88 done 10.1.0.88 eranger start eranger-collector at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-collector (service eranger-collector ).. 10.1.0.88 delete /opt/eranger/collector/ringbuffer1.bin 10.1.0.88 done 10.1.0.88 eranger start eranger-agent at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 eranger-agent already running (not starting) 10.1.0.88 done 10.1.0.88 eranger start eranger-ic-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-ic-alerter (service eranger-ic-alerter ).. 10.1.0.88 done 10.1.0.88 copied file to /var/lib/pgsql/data/ NOTICE: pg_stop_backup complete, all required WAL segments have been archived 10.1.0.88 eranger start httpd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 httpd already running (not starting) 10.1.0.88 done 10.1.0.88 eranger start eranger-report at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 eranger-report already running (not starting) 10.1.0.88 done 10.1.0.88 eranger start eranger-server at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 eranger-server already running (not starting) 10.1.0.88 done 10.1.0.88 eranger start eranger-ethd at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-ethd (service eranger-ethd ).. 10.1.0.88 done 10.1.0.88 eranger start eranger-eth-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-eth-alerter (service eranger-eth-alerter ).. 10.1.0.88 done 10.1.0.88 eranger start eranger-collector at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 eranger-collector already running (not starting) 10.1.0.88 done 10.1.0.88 eranger start eranger-agent at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 eranger-agent already running (not starting) 10.1.0.88 done 10.1.0.88 eranger start eranger-ic-alerter at /opt/eranger/bin/eranger-server-replication.pl line 1717. 10.1.0.88 start eranger-ic-alerter (service eranger-ic-alerter ).. 10.1.0.88 done 10.1.0.88 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.88 post s2m 10.1.0.88 OK> 10.1.0.90 added to eth0. 10.1.0.88 OK> 10.1.0.90 configured in /etc/sysconfig/network-scripts/ifcfg-eth0:0. 10.1.0.89 calling script /opt/eranger/sbin/vip-switch.sh 10.1.0.88 post m2s 10.1.0.88 10.1.0.88 checking ssh for user reranger