التبديل

في 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