Galera Cluster
حساب النصاب القانوني — العقد المتاحة
يحسب PmaControl العقد التي يمكن استخدامها فعليًا في نصاب Galera:
Nodes available (X) =
mysql_available = 1
AND wsrep_cluster_status = Primary
AND (
wsrep_local_state_comment = Synced
OR (Donor/Desync/Unsync AND wsrep_desync = OFF)
)
تستبعد هذه القاعدة العقد:
- Non-Primary — العقدة خارج النصاب القانوني
- Disconnected — تم قطع العقدة عن المجموعة
- Inconsistent — بيانات غير متناسقة
- المتبرع مع wsrep_desync=ON — غير متزامن عن قصد
المقام Y (الإجمالي) هو دائمًا إجمالي عدد العقد المكتشفة، حتى لو كان بعضها غير متصل بالإنترنت.
شرائح wsrep
يتم عرض مقاطع Galera (gmcast.segment) كرسوم بيانية فرعية في Dot3:
- SEGMENT_OK — تتم مزامنة كافة العقد في المقطع
- SEGMENT_KO — لا توجد عقدة مقطع متاحة
- SEGMENT_PARTIAL — تتوفر عقد معينة فقط
تدفق IST/SST
يكتشف PmaControl عمليات نقل الحالة بين العقد:
- IST (نقل الحالة التزايدي) — نقل تزايدي عبر ذاكرة التخزين المؤقت gcache
- SST (نقل لقطة الحالة) — النقل الكامل (mariabackup، rsync، mysqldump)
يعرض Dot3 رابط تلميح للمانحين → الرابط عندما يكون SST/IST قيد التقدم.
زي الحكم
يكتشف PmaControl حكم Galera (garbd) عبر wsrep_incoming_addresses. يظهر المحكم في Dot3 كعقدة افتراضية — فهو يشارك في تصويت النصاب القانوني دون تخزين أي بيانات.
wsrep-notify
يمكن تكوين البرنامج النصي wsrep-notify.sh (في documentation/wsrep-notify/) على كل عقدة Galera لتسجيل تغييرات الحالة إلى /var/log/galera.log.
# Dans my.cnf
[mysqld]
wsrep_notify_cmd = /usr/local/bin/wsrep-notify.sh