في بيئات Proxmox VE متعددة النودات، تعتبر الشهادات المحلية جزءاً أساسياً من عمل واجهة الإدارة والتواصل بين النودات داخل الكلاستر. عند فقدان ملف شهادة واحد فقط قد تبدأ أخطاء متعددة بالظهور في وقت واحد:

أهم إيعازات حل: ما تحتاج معرفته

  • Error 500
  • HTTPS timeout
  • اختفاء النودات من Web UI
  • فشل /api2/json/nodes
  • بطء أو توقف بعض صفحات Proxmox
  • مشاكل أثناء التنقل بين النودات

قد يبدو الأمر وكأن الكلاستر بالكامل تعرض لانهيار.

لكن في الحقيقة قد يكون السبب ملفاً واحداً فقط:

'/etc/pve/nodes/<node-name>/pve-ssl.pem'

قبل البدء بتنفيذ الإيعازات، إذا كنت تريد فهم السبب الحقيقي للمشكلة ولماذا يمكن لملف شهادة مفقود في نود واحد أن يجعل ثلاثة نودات تبدو معطلة بالكامل، يمكنك مراجعة تحليل الحالة الكامل:

تشخيص وإصلاح مشاكل Proxmox Cluster عندما يكون السبب ملفاً واحداً مفقوداً: قصة تشخيص خطأ خفي في كلاستر Proxmox

هناك ستجد:

  • تحليل كامل للأعراض
  • كيف بدا الكلاستر معطلاً بالكامل
  • الفرق بين Corosync و PMXCFS و PVEProxy
  • كيف تم اكتشاف السبب الحقيقي
  • الدروس المستفادة

لماذا يعتبر ملف pve-ssl.pem مهماً؟

داخل Proxmox تستخدم خدمة:

pveproxy

شهادات محلية لكل نود لإتمام:

  • TLS Handshake
  • Web UI Authentication
  • API Requests
  • Proxy Requests
  • التواصل بين النودات

توجد هذه الملفات داخل:

/etc/pve/nodes/<node-name>/pve-ssl.pem

/etc/pve/nodes/<node-name>/pve-ssl.key

بما أن:

pmxcfs

هو نظام ملفات موزع بين جميع النودات، فمن المفترض أن تكون هذه الملفات مرئية من كل Node داخل الكلاستر.

إذا اختفى ملف واحد تبدأ الأعراض بالظهور.

الخطوة الأولى: التشخيص السريع

ابدأ بفحص جميع الشهادات الموجودة داخل الكلاستر:

for n in $(ls /etc/pve/nodes/); do
echo "--- $n ---"
ls -la /etc/pve/nodes/$n/pve-ssl.pem 2>&1
done

النتيجة السليمة:

--- Node-A ---
-rw-r----- root www-data 1785

--- Node-B ---
-rw-r----- root www-data 1785

--- Node-C ---
-rw-r----- root www-data 1785

أما النود المصاب:

--- Node-A ---

ls: cannot access '/etc/pve/nodes/Node-A/pve-ssl.pem':

No such file or directory

إذا ظهرت:

No such file or directory

فقد تم تحديد السبب غالباً.

تأكيد حالة الكلاستر

الخطوة التالية:

pvecm status

النتيجة الطبيعية:

Quorate: Yes

ثم:

systemctl is-active corosync

systemctl is-active pve-cluster

systemctl is-active pveproxy

systemctl is-active pvedaemon

أو:

systemctl is-active corosync pve-cluster pveproxy pvedaemon

النتيجة:

active
active
active
active

إذا كان:

Quorate: Yes

فهذا يعني أن Corosync يعمل وأن المشكلة ليست في طبقة الكلاستر نفسها.

الخطوة الثانية: إصلاح المشكلة

على النود المصاب فقط:

افتح:

Datacenter → Node → >_ Shell

ثم نفذ:

pvecm updatecerts -f

غالباً ستظهر:

(re)generate node files

generate new node certificate

هذا الأمر يقوم بـ:

  • إعادة إنشاء ملفات النود
  • إنشاء شهادة جديدة
  • توقيعها باستخدام Cluster CA
  • نشرها داخل PMXCFS

بعدها نفذ:

systemctl reload pveproxy

systemctl reload pvedaemon

لماذا استخدمنا Reload بدلاً من Restart؟

كثير من مسؤولي الأنظمة ينفذون:

systemctl restart pve-cluster

لكن هذا ليس الخيار الأفضل أثناء عمل الكلاستر.

قد يسبب:

  • إعادة مزامنة غير ضرورية
  • فقدان PMXCFS state
  • انقطاع مؤقت لبعض الخدمات
  • مشاكل إضافية داخل الكلاستر

الأفضل:

systemctl reload pveproxy

systemctl reload pvedaemon

لأنها تعيد تحميل الشهادة فقط.

الخطوة الثالثة: التحقق من نجاح الإصلاح

هل ظهرت الشهادة؟

نفذ:

ls -la /etc/pve/nodes/<node-name>/pve-ssl.pem

النتيجة:

-rw-r----- root www-data 1785

هل واجهة الإدارة تعمل؟

نفذ:

curl -k -s -o /dev/null -w "HTTP %{http_code}n" https://<node-ip>:8006/

النتيجة الطبيعية:

HTTP 200

هل الكلاستر يعمل؟

نفذ:

pvecm status | grep -E "Quorate|Nodes"

النتيجة:

Quorate: Yes

Nodes: 3

النسخة المختصرة — ثلاثة أوامر فقط

إذا كنت متأكداً أن المشكلة هي شهادة مفقودة:

pvecm updatecerts -f

systemctl reload pveproxy pvedaemon

ls -la /etc/pve/nodes/$(hostname)/pve-ssl.pem

بدون:

restart

وبدون:

rejoin cluster

وبدون:

إيقاف VMs

أخطاء يجب تجنبها

لا تنفذ:

systemctl restart pve-cluster

أثناء عمل الكلاستر جزئياً.

لا تحذف:

rm -rf /etc/pve/*

لا تحذف ملفات النودات يدوياً.

لا تعدّل:

/etc/pve/corosync.conf

دون التأكد من سبب المشكلة الحقيقي.

ملاحظة مهمة: إذا كانت لديك مشاكل أخرى مرتبطة بـ:

  • Quorum
  • Corosync
  • PMXCFS
  • Membership
  • إعادة ربط Node

فمن الأفضل مراجعة المقالة التحليلية:

تشخيص وإصلاح مشاكل Proxmox Cluster عندما يكون السبب ملفاً واحداً مفقوداً: قصة تشخيص خطأ خفي في كلاستر Proxmox

لأنها تشرح الطبقات الداخلية لـ Proxmox والأسباب الجذرية للمشكلة.

الخلاصة

في Proxmox Cluster تعتبر الشهادات المحلية داخل PMXCFS جزءاً أساسياً من التواصل بين النودات وواجهة الإدارة.

اختفاء ملف واحد مثل:

pve-ssl.pem

قد يولد أعراضاً تجعل المشكلة تبدو وكأنها انهيار كامل للبنية التحتية.

لكن في النهاية كان الحل:

pvecm updatecerts -f

systemctl reload pveproxy pvedaemon

ثلاثة أوامر فقط كانت كافية لإعادة الأمور إلى طبيعتها دون إعادة تشغيل النودات أو التأثير على الآلات الافتراضية.

هل تبحث عن استضافة موثوقة لموقعك؟

شركة مرام هوست تقدم أفضل حلول الاستضافة والسيرفرات بدعم فني عربي 24/7

اكتشف خدماتنا ←