PmaControl logo PmaControl
  • مرحباً
  • PmaControl
    • وكلاء الذكاء الاصطناعي 13 وكلاء محليين
    • عروضنا المجتمع، السحابة، محليًا، المميز
    • التوثيق أدلة، API، الهندسة المعمارية
    • السوق المكونات الإضافية للمجتمع
    • عملاء أكثر من 28 شركة
    • الأسئلة الشائعة 25 سؤالا / 7 فئات
    قواعد البيانات
    • ماريا دي بي 31 مادة
    • ماي إس كيو إل 11 مادة
    • مجموعة جاليرا 6 عناصر
    • ماكس سكيل 3 عناصر
    • ProxySQL 2 عناصر
    • أمازون أورورا ماي إس كيو إل 0 العناصر
    • قاعدة بيانات أزور 0 العناصر
    • انقر البيت 0 العناصر
    • GCP CloudSQL 0 العناصر
    • بيركوناسيرفر 0 العناصر
    • متجر واحد 0 العناصر
    • تي دي بي 0 العناصر
    • سرعة 0 العناصر
    الحلول
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • Observabilité SQL المراقبة والتنبيهات والطوبولوجيا
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2
    • Migration & upgrade صفر توقف عن العمل، pt-osc، gh-ost
  • عروضنا
  • موارد
    • التوثيق الأدلة الفنية وواجهات برمجة التطبيقات
    • مركز تحسين MySQL مؤشر تخفيض السعر والمقاييس والإعدادات والحوادث
    • الأسئلة الشائعة 25 سؤالا متكررا
    • الشهادات ملاحظات العملاء وحالات الاستخدام
    • مدونة مقالات ورؤى
    • خريطة الطريق الميزات القادمة
    مجالات الخبرة
    • Observabilité SQL المراقبة والتنبيهات وطوبولوجيا Dot3
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2، ISO 27001
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Performance & optimisation ملخصات، شرح، ضبط
    • Migration & upgrade صفر توقف عن العمل، pt-osc
    روابط سريعة
    • جيثب ويكي 26 صفحة - التثبيت والمحرك والمكونات الإضافية
    • كود المصدر مستودع جيثب الرسمي
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • احجز عرضًا توضيحيًا 30 دقيقة - هندسة معمارية حقيقية
  • دعم 24 × 7
  • احجز عرضًا توضيحيًا
احجز عرضًا توضيحيًا
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文 🇸🇦 AR العربية
← العودة إلى بلوق

الأعطال الصامتة لـ MariaDB: عندما يخفي نقص السجلات حالة الطوارئ

تم النشر بتاريخ 12 مارس 2026 بواسطة Aurélien LEQUOY
mariadb crash-analysis forensics incident-response rocksdb
يشارك X LinkedIn Facebook Email PDF
الأعطال الصامتة لـ MariaDB: عندما يخفي نقص السجلات حالة الطوارئ

المشكلة

بين يناير ومارس 2026، لاحظنا 6 عمليات إعادة ضبط غير طبيعية لوقت التشغيل على خادم إنتاج MariaDB 10.11.15 يشرف عليه PmaControl. يستضيف الخادم جداول RocksDB كبيرة جدًا ومقسمة (مقاييس السلاسل الزمنية).

رد الفعل الكلاسيكي لـ DBA عند مواجهة عطل: انظر إلى سجلات النظام. journalctl، dmesg، /var/log/syslog. نحن نبحث عن OOM، Killed process، segfault، kernel panic.

من أصل 6 أعطال، كان هناك واحد فقط به أثر نواة قابل للاستخدام. أما الخمسة الأخرى: صمت تام من جانب النظام.

طريقة الكشف

بدلاً من الثقة في سجلات النظام، استخدمنا PmaControl لاكتشاف الأعطال عبر السلسلة الزمنية uptime:

  1. استرجاع قيم uptime عبر ts_value_general_int
  2. تصفية عمليات إعادة التعيين غير الطبيعية (وقت التشغيل الذي ينخفض إلى 0)
  3. الارتباط بالسجلات MariaDB (error.log)
  4. الارتباط مع journalctl للبحث عن توقيعات النواة
  5. تحليل المقاييس خلال الساعة السابقة (سلاسل العمليات، وحدة المعالجة المركزية، الذاكرة)

هذا هو الأسلوب الأكثر موثوقية: إعادة ضبط وقت التشغيل + توقيع InnoDB crash recovery = تعطل مؤكد، حتى بدون تتبع النظام.

تم تحديد الأعطال الستة

التاريخ تصنيف التوقيع الرئيسي
29 يناير تحطم محتمل InnoDB crash recovery + سجل الاسترداد
5 فبراير تحطم محتمل استعادة الأعطال + Event invalid في binlog
23 فبراير تحطم محتمل InnoDB crash recovery + Crash table recovery
3 مارس تحطم محتمل Too many connections ثم استعادة الأعطال
6 مارس حادثة كبرى فساد MyRocks: truncated record body, .frm mismatch
12 مارس تم تأكيد الحادث systemd: status=9/KILL + استعادة الأعطال

انهيار 6 مارس: الارتباط MDEV-39044

أخطر حادث كان يوم 6 مارس. وكانت الأخطاء مختلفة:

RocksDB: Error opening instance, Status Code: 2,
  Status: Corruption: truncated record body
Incorrect information in file: './pmacontrol/ts_value_general_int.frm'
Can't init tc log
Aborting

يتوافق هذا النمط تمامًا مع التذكرة MariaDB MDEV-39044: تلف MyRocks الناتج عن:

  • ALTER TABLE على جداول RocksDB الكبيرة المقسمة
  • عبء كتابة متواصل مرتفع جدًا
  • ضغط الذاكرة InnoDB المتزامن

تؤكد التذكرة صراحةً أن غياب سجل الأعطال أو قاتل OOM أمر طبيعي في هذا السيناريو.

لماذا سجلات النظام ليست كافية

من بين الحوادث الستة، عثر journalctl على أثر واحد قابل للاستغلال (status=9/KILL بتاريخ 12 مارس).

بالنسبة للـ 5 الآخرين:

  • لا Out of memory
  • لا Killed process
  • لا segfault
  • لا kernel panic

الاستنتاج بسيط: غياب توقيع النواة لا يعفي من حدوث عطل. ويتوافق هذا أيضًا مع النموذج MDEV-39044، الذي يوثق الأعطال دون تتبع النظام.

ما يكتشفه PmaControl أن السجلات لا تظهر

PmaControl يراقب uptime بشكل مستمر (كل 10 ثوانٍ). إعادة تعيين = تنبيه فوري. ثم يرتبط الوكيل تلقائيًا بما يلي:

  • مقاييس من الساعة السابقة (المواضيع، الذاكرة، وحدة المعالجة المركزية)
  • وجود crash recovery في سجل الأخطاء
  • أخطاء البيانات الوصفية (.frm mismatch)

وهذا يسمح بتصنيف الحادث حتى بدون التعاون من النواة .

التوصيات

  1. لا تعتمد أبدًا على سجلات النظام فقط لاكتشاف الأعطال MariaDB
  2. المراقبة uptime كمؤشر أساسي للاستقرار
  3. ارتبط بسجل الأخطاء MariaDB، وليس مع journalctl
  4. إذا كنت تستخدم RocksDB: قم بتقييد ملفات DDL على الجداول المقسمة الكبيرة، خاصة تحت تحميل الكتابة
  5. اتبع MDEV-39044 للحصول على إصلاح محتمل لـ MyRocks

الخلاصة

يمكن أن يتعطل خادم MariaDB 6 مرات خلال 6 أسابيع دون أن توثقه أي سجلات نظام. فقط المراقبة المخصصة لقواعد البيانات - والتي تتضمن التوقيعات الداخلية لـ MariaDB - هي التي تجعل من الممكن اكتشاف هذه الحوادث وتصنيفها.

هذا هو بالضبط دور PmaControl.

يشارك X LinkedIn Facebook Email PDF
← العودة إلى بلوق

تعليقات (0)

لا توجد تعليقات حتى الآن.

اترك تعليقا

PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
إشعارات قانونية GitHub اتصال
لا تنتظر وقوع الحادث حتى تفهم هندستك المعمارية. © 2014-2026 PmaControl — 68Koncept