مفهوم النسخ المتماثل لقاعدة البيانات

البنية

يستخدم محرك SKOOR قاعدة بيانات PostgreSQL لتخزين بيانات التكوين الخاصة به بالإضافة إلى قيمته التاريخية وبيانات التاريخ. وهو يدعم استخدام إعداد أساسي/احتياطي لنسخ محتويات قاعدة البيانات باستمرار. يتم استخدام طرق النسخ المتماثل الخاصة ب PostgreSQL، مما يعني أنه يتم الاحتفاظ بنسخة طبق الأصل من قاعدة البيانات على الخادم الأساسي على الخادم الاحتياطي، ويتم نسخ جميع التحديثات على قاعدة البيانات على الخادم الأساسي مباشرة إلى الخادم الاحتياطي. يقوم الخادم الأساسي بتخزين عبارات SQL في سجل ثنائي، ويطلب الخادم الاحتياطي هذه العبارات من الخادم.

هذا يضمن أوقات انقطاع قصيرة في حالة حدوث أعطال في الأجهزة. ومع ذلك فإنه لن يحمي من الأخطاء التجريبية مثل عبارات الحذف الخاطئة التي ستتم مزامنتها على الفور إلى الخادم الاحتياطي. لا تحل النسخ المتماثل محل النسخ الاحتياطية العادية.

يوضح الشكل التالي مثالاً لتخطيط النسخ المتماثل القياسي.

في الوضع الافتراضي يحمل الأساسي كل الحمل، ويتم الرد على جميع طلبات المستخدم من قبل خادم ويب Apache على الأساسي، ويتم تسليم بيانات القياس من قبل المجمعين إلى الخادم الأساسي الحالي وتخزينها في قاعدة البيانات. لا تعمل الخدمات eranger-server و eranger-collector و eranger-report على الخادم الاحتياطي.

الميزات الرئيسية لإعداد النسخ المتماثل

  • يمكن تنفيذ النسخ المتماثل حتى مع مجمعي SKOOR الخارجيين.

  • إذا تم إصدار النسخ المتماثل سابقًا، فمن المحتمل أن يكون جزء كبير من ملفات قاعدة البيانات متزامنة بالفعل. لن يقوم البرنامج النصي بنقل الجداول القديمة التي تمت مزامنتها بالفعل. هذا يوفر عرض النطاق الترددي للشبكة إذا كان يجب إصدار إعادة التهيئة.

  • لا يوجد تجاوز تلقائي للفشل من الأساسي إلى الاحتياطي. تم تصميمه لترك هذا القرار للبشر. ومع ذلك، يدعم البرنامج النصي وضعًا غير تفاعلي يسمح بإصدار تجاوز الفشل بواسطة برنامج نصي. (الخيار -f).

  • إمكانية مراقبة المحرك الأساسي من الوضع الاحتياطي (بشكل مستقل عن SKOOR) وإرسال بريد إلكتروني واحد بمجرد اكتشاف أن محرك SKOOR لم يعد يعمل على المحرك الأساسي الحالي.

  • إمكانية تشغيل البرامج النصية أو الأوامر المخصصة قبل و/أو بعد تبديل وظائف الخادم (من الاحتياطي إلى الأساسي والعكس).

المتطلبات

لإعداد النسخ المتماثل لقاعدة البيانات، يلزم وجود خادم SKOOR ثانٍ بنفس مواصفات أداء الخادم الأول. على الرغم من أن هذا الخادم الاحتياطي سيكون في وضع الاستعداد معظم الوقت، إلا أنه يجب أن يكون قادرًا على تحمل الحمل الكامل عندما تتغير وظيفته من احتياطي إلى أساسي.

يجب استيفاء المتطلبات الأساسية التالية:

  • يتم تثبيت نفس الإصدار من SKOOR على الأساسي والاستعداد.

  • (اختياري) يتم إعداد المجمّعات الخارجية بشكل صحيح وتعمل

    • يجب تعيين معلمة الخادم <n> العنوان على نفس عنوان IP الخاص بالخادم الأساسي

    • لا يمكن تبديل المجمعات التي تستخدم بروتوكول HTTP تلقائيًا

  • يكون الملف/opt/eranger/bin/eranger-server-replication.pl متطابقًا على المجمّعين الأساسي والاستعدادي وجميع المجمّعين. هذا يعني أن جميع المضيفين المعنيين يجب أن يكون لديهم نفس إصدار SKOOR المثبت.

  • تم تكوين الملف /etc/opt/opt/eranger/eranger-replication.cfg بشكل صحيح وهو متطابق على المضيفين الأساسيين والاحتياطيين وجميع المجمّعين.

  • اتصال الشبكة

    • منفذ TCP 22 (ssh) من المنفذTCP من المنفذ الأساسي إلى الاحتياطي، والعكس بالعكس، ومن المنفذ الأساسي والاحتياطي إلى جميع المجمعات الخارجية.

    • منفذ TCP 50001 (تسليم بيانات مجمع SKOOR) من جميع المجمعات الخارجية إلى الأساسي والاستعداد.