Skip to content

دليل استكشاف الأخطاء وإصلاحها (Troubleshooting Guide)

يفصّل هذا الدليل إجراءات التشخيص والمعالجة للمشكلات التشغيلية الشائعة التي تواجه عمليات نشر Cockpit.


1. التشخيص: حالة عقدة المضيف هي "Disconnected"

العَرَض: تظهر عقدة hypervisor فيزيائية تشغل Vapor بالحالة disconnected في وحدة تحكم Cockpit، ولا تظهر رسومات الأداء البيانية لهذه العقدة أي تحديثات.

سير عمل المعالجة:

  1. التحقق من اتصال الشبكة: تحقق من أن خادم خدمة Cockpit يمكنه التوجيه إلى مضيف Vapor. تحقق من أن منافذ TCP 7770 (واجهة API) و7770 (بث الأحداث) مفتوحة ويمكن الوصول إليها من خادم Cockpit.
  2. التحقق من حالة الخدمة (Daemon Status Check): قم بتسجيل الدخول إلى مضيف hypervisor المتأثر واستعلم عن حالة خدمة Vapor المحلية:
    bash
    systemctl status vapor.service
    إذا كانت الخدمة متوقفة، أعد تشغيلها: systemctl start vapor.service.
  3. تدوير رمز API (API Token Rotation): يتم مصادقة Cockpit مع Vapor باستخدام رموز API. إذا كان الرمز غير صالٍح أو منتهي الصلاحية، سيتم رفض الوصول. قم بإنشاء رمز API جديد من تكوين Vapor المحلي وقم بتحديث تفاصيل تسجيل المضيف في Cockpit.

2. التشخيص: أخطاء شهادة TLS

العَرَض: تفشل العمليات مع تحذيرات المصافحة لـ SSL/TLS، أو تفشل عمليات الترحيل المباشر في الإعداد بين وحدات hypervisor.

سير عمل المعالجة:

  1. التحقق من حالة تلخيص Hypervisor: اتصل بـ hypervisor وتأكد من أن خدمة التلخيص نشطة:
    bash
    systemctl status libvirtd
  2. إعادة تهيئة بيانات اعتماد TLS: يمكنك إجبار Cockpit على إعادة إنشاء شهادات libvirt على العقدة عن طريق تشغيل نقطة نهاية إعداد TLS:
    bash
    # Renewal request sent to the local Vapor daemon
    curl -sk -X POST https://localhost:7770/api/v1/system/tls/libvirt/setup
  3. إنشاء سلاسل الثقة (Establish Trust Chains): تأكد من أن كلا الخادمين المضيفين الفيزيائيين نشطان ومسجلان داخل نطاق مخزون Cockpit نفسه للسماح لـ Cockpit بتوزيع شهادات CA ومزامنتها.

3. التشخيص: تذبذب اتصال المضيف (تعارض الأقفال الاستشارية - Advisory Lock Conflict)

العَرَض: تتنقل حالة اتصال المضيف الفيزيائي في وحدة تحكم Cockpit بسرعة بين connected وdisconnected.

سير عمل المعالجة:

  1. تحديد حاملي الأقفال: يحدث هذا السلوك عندما تحاول مثيلات Cockpit نشطة متعددة إدارة المضيف الفيزيائي نفسه في وقت واحد. استعلم عن قاعدة بيانات PostgreSQL لتحديد جلسات الأقفال الاستشارية الحالية:
    sql
    -- Query active transactional advisory locks
    SELECT pid, classid, objid FROM pg_locks WHERE locktype = 'advisory';
  2. إعادة مزامنة خدمات الإدارة (Management Daemons):
    • أوقف العمليات الخاصة بخدمة Cockpit على جميع المثيلات النشطة.
    • ابدأ خدمة Cockpit على العقدة الرئيسية وانتظر حتى تنشئ اتصالات مع مخزون المضيفين.
    • ابدأ خدمة Cockpit على العقد الثانوية. ستكتشف العقد الثانوية الأقفال الاستشارية النشطة وتظل في وضع الاستعداد (Standby).