التبديل
في SKOOR 6.2، تغيرت دلالات الأمر "switch" بشكل كبير. في الإصدارات السابقة، كان الأمر "switch" يعكس أدوار الأساسي والاحتياطي تمامًا. منذ SKOOR 6.2، لا يقوم الأمر "switch" إلا بتحويل الفشل من الأساسي إلى الاحتياطي. للحصول على نسخة متماثلة تعمل مرة أخرى، يجب إجراء "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-server و eranger-collector و eranger-report على النظام الأساسي الجديد
بدء تشغيل httpd و eranger-agent إذا لم يكونا قيد التشغيل بالفعل على الخادم الرئيسي والخادم الاحتياطي
تسجيل الدخول إلى جميع أجهزة التجميع الخارجية وتغيير eranger-collector.cfg بحيث تقوم بتسليم بياناتها إلى الخادم الأساسي الجديد (لا يعمل مع معلمة server<n>_address التي تحدد عنوان http)
قم بتشغيل أي برامج نصية لاحقة إذا كانت محددة في eranger-replication.cfg
قم بتنشيط النسخ المتماثل بين الخادم الرئيسي الجديد والقديم
يجب تنفيذ هذه الخطوة فقط عندما يكون الخادم الرئيسي القديم لا يزال متاحًا ويُخطط للعودة إلى النظام القديم مرة أخرى.
للحصول على نسخ متماثل قيد التشغيل من الخادم الأساسي الجديد إلى الخادم الاحتياطي الجديد، يجب إجراء createstandby على الخادم الأساسي الجديد.
/opt/eranger/bin/eranger-server-replication.pl createslave
عنوان IP الظاهري
تم تنفيذ المثال أعلاه بينما كان الخادم الأساسي القديم لا يزال يعمل ومتاحًا. بعد نجاح التبديل، يجب إخطار المستخدمين النهائيين باستخدام عنوان IP أو اسم DNS للخادم الأساسي الجديد بدلاً من ذلك.
يتم دعم تعيين عنوان IP افتراضي ونقله إلى الخادم الأساسي النشط باستخدام الاسم المستعار IP (انظر إعداد عنوان IP افتراضي باستخدام البرامج النصية قبل وبعد) ويتم استخدام البرنامج النصي قبل وبعد vip-switch.sh المقابل في المثال أعلاه.
العودة
قبل العودة إلى الخادم الأساسي القديم، يجب إجراء createslave على الخادم الأساسي الجديد.
لا يلزم تشغيل العنصر الأساسي الحالي حتى يتمكن العنصر الاحتياطي من تولي المهمة. يمكن أيضًا إصدار التبديل على العنصر الاحتياطي عندما يكون العنصر الأساسي الحالي معطلاً (غير متاح). يجب توخي الحذر عند إعادة العنصر الأساسي القديم إلى وضع الاتصال بالإنترنت لأنه لا يزال مكونًا كعنصر أساسي. أوقف العمليات eranger-server و eranger-collector و eranger-scheduler على الخادم الأساسي القديم وأصدر الأمر createslave على الخادم الأساسي النشط الحالي. للعودة إلى الأدوار الافتراضية، أصدر الأمر switch مرة أخرى.
من المفترض أن التبديل مؤقت فقط وأنه بعد إعادة تشغيل الجهاز الأساسي مرة أخرى، يتم إجراء تبديل آخر إلى الجهاز الأساسي الأصلي. لذلك، لا يتم تبديل عناوين IP للجهاز الأساسي والجهاز الاحتياطي في eranger-replication.cfg عند إجراء التبديل. لا يزال التبديل يعمل مع هذا الإعداد، فقط عند إجراء عملية createslave جديدة من الجهاز الأساسي الجديد، يجب تبديل عناوين IP في eranger-replication.cfg.
حالة محرك SKOOR بعد التبديل
بعد التبديل، يعرض الأمر eRanger.sh status الناتج التالي على الخادم الأساسي الجديد:
# /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