التشغيل والتحقق
شغّل وحدة تحكم VM المستضافة ذاتيا كمكوّن ذي امتيازات على مضيف KVM. صحة الحاوية وحدها غير كافية: تحقق من المسار من المتصفح إلى API إلى libvirt إلى الضيف.
فحص البدء
docker compose -f docker-compose.self-hosted.yml ps
docker compose -f docker-compose.self-hosted.yml logs --tail=200 backend frontend
virsh -c qemu:///system list --allثم أكّد تحميل الواجهة وأن استجابة وضع الخلفية تبلغ وضع الاستضافة الذاتية. راجع خريطة ميزاتها بدلا من افتراض وجود ميزة مستضافة.
اختبار دخان من الطرف إلى الطرف
استخدم ISO اختبار مرخّصا قابلا للتصرف:
- ارفع الـ ISO وتحقق من الحجم والاسم الظاهرين؛
- أنشئ VM صغيرا باختيارات صريحة لـ CPU والذاكرة والقرص والشبكة؛
- شغّله وافتح وحدة تحكم VNC؛
- أكّد ظهور تقدم الإقلاع ووصول إدخال لوحة المفاتيح إلى الضيف؛
- أوقف الـ VM؛
- احذفه وأكّد تنظيف نطاقه وطبقات تراكبه وNVRAM المؤقت؛
- أعد تشغيل الخلفية وأكّد أن إطلاقا بديلا قديما لا يبقى محظورا.
لا تفسّر إقلاعا ناجحا على أنه شهادة عتاد أو صحة تطبيق أو امتثال تصحيح أو دليل على اكتمال مثبّت.
إشارات تشغيلية
راقب على الأقل:
- وصول الواجهة وAPI؛
- اتصال الخلفية بـ libvirt؛
- الذاكرة ومساحة القرص الحرة على المضيف؛
- إخفاقات الرفع وأخطاء إطلاق الضيف؛
- جرد نطاقات الضيوف وطبقات التراكب وNVRAM والشبكة؛
- سجل التنظيف الدائم تحت
TEST_STORAGE_DIR؛ - حلقات إعادة تشغيل الحاوية واستثناءات الخلفية.
ملف Compose للتقييم لا يضبط نظام تنبيه خارجيا.
إخفاقات شائعة
| العَرَض | الفحص |
|---|---|
رفض صلاحية /dev/kvm | عضوية مجموعة المضيف وتعيين الجهاز؛ لا تجعل الجهاز قابلا للكتابة للجميع |
| تعذر الاتصال بـ libvirt | حالة الخادم، مسار المقبس، KVM_URI، ووصل الحاوية |
| رفض الرفع | نوع الملف، المساحة الحرة، صلاحيات مجلد الصور، وحد الحجم المضبوط |
| تعذر فتح الضيف لصورة المصدر | تطابق المسار المطلق بين المضيف/الحاوية وصلاحية القراءة |
| انقطاعات VNC | حالة الضيف، نقطة رسوميات libvirt، مسار الوكيل، وتشخيص وحدة تحكم المتصفح |
| بقاء الإطلاق البديل محظورا | سجل التنظيف المحتفظ به، موارد النطاق/التراكب/NVRAM القديمة، وسجلات الخلفية |
الإيقاف
أوقف الضيوف القابلين للتصرف أو احذفهم في الواجهة قبل إيقاف المجموعة. ثم نفّذ:
docker compose -f docker-compose.self-hosted.yml downاجرد نطاقات libvirt والصور والشبكات والحجم المسمى بعد ذلك. إيقاف الحاويات لا يزيل تلقائيا كل مورد يملكه المضيف.