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

الهندسة المعمارية

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

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

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

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

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

  • يمكن تنفيذ النسخ المتماثل حتى مع استخدام أجهزة التجميع الخارجية لـ SKOOR.

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

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

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

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

المتطلبات

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

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

  • يجب تثبيت نفس إصدار SKOOR على الخادم الرئيسي والخادم الاحتياطي.

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

    • يجب ضبط المعلمة server<n>_address على نفس عنوان IP الخاص بالخادم الرئيسي

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

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

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

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

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

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