لا تُخرج خادم Jellyfin القديم من الخدمة حتى تُثبت عملية استعادة نظيفة إعادة المستخدمين والمسارات والتشغيل والأذونات وسلوك إعادة التشغيل المطلوب.
هل تفتح النسخة الجديدة لوحة التحكم فقط، أم أنها صمدت أمام عبء العمل نفسه من العملاء والتخزين الذي كان الخادم القديم يتعامل معه؟ أبقِ الخادم القديم متوقفًا وقابلًا للاستعادة أثناء الاختبار. تسجيل الدخول بنجاح ليس سوى الإشارة الأولى؛ إذ يجب أن تثبت عملية الاستعادة سلامة الحالة ومسارات البيانات التي تستخدمها الأسرة فعليًا.
تحقق من الحالة الدائمة قبل التشغيل
تأكد من أن الإعدادات وقاعدة البيانات المستعادة تحتويان على المستخدمين والمكتبات وحالة المشاهدة والإضافات والأذونات المتوقعة. افحص مسار كل مكتبة من سياق خدمة Jellyfin، واقرأ ملفًا نموذجيًا من كل موقع تخزين. قد تظل عمليات الربط المفقودة أو الملكية الخاطئة مخفية حتى يبدأ الفحص أو يُطلب التشغيل.
سجّل ما أُعيد إنشاؤه عمدًا، مثل ذاكرة التخزين المؤقت أو الأعمال الفنية التي تم تنزيلها، حتى لا يُظن أن الاختلاف دليل على فشل الاستعادة. أبقِ النسخة الاحتياطية ونسخة بيانات التطبيق القديمة دون تغيير حتى اجتياز المرحلة التالية.
قارن عدد العناصر المستعادة وسجلًا معروفًا واحدًا لحالة المشاهدة بآخر جرد للخادم القديم. فبدء تشغيل قاعدة البيانات بنجاح لا يثبت بقاء كل مسار وسائط أو إذن مستخدم.
شغّل عبء عمل العملاء الأصلي
اختبر تشغيلًا مباشرًا محليًا واحدًا، وتحويلًا ترميزيًا إجباريًا واحدًا، والترجمة، والوصول عن بُعد إذا كان مستخدمًا، وحساب مستخدم مقيّدًا. قارن وضع التشغيل والصوت وعرض الترجمة وظهور المكتبة ووقت بدء التشغيل بالسلوك المعروف للخادم القديم.
إذا فشل عميل واحد فقط، فاعزل قدرته أو مساره قبل تغيير عملية الاستعادة بأكملها. يُعد مسار الترحيل مفيدًا كقائمة تحقق، لكن قرار القبول يجب أن يستند إلى عبء العمل المنزلي الفعلي لديك.
كرّر جلسة واحدة بعد تشغيل الخدمة مدة كافية لإكمال مهام بدء التشغيل المعتادة. يكشف ذلك أعطال الربط أو الإضافات أو البيانات الوصفية المتأخرة التي قد لا يظهرها تسجيل دخول سريع.
اجتز مراحل إعادة التشغيل البارد والاستعادة
أوقف Jellyfin، وأعد تشغيل المضيف، وانتظر عمليات ربط التخزين وخدمات الشبكة، ثم كرّر اختبارات العملاء نفسها. أنشئ نسخة احتياطية حديثة من حالة التطبيق المستعادة أو حدّد موقعها. بعد ذلك، نفّذ اختبار استعادة ثانٍ أو تحقّق على الأقل من أن النسخة الاحتياطية تتضمن دليل البيانات والأذونات المحددين اللازمين للاستعادة.
لا تُخرج الخادم القديم من الخدمة إلا عندما يجتاز المضيف المستعاد فحوص الحالة والمسارات والمستخدمين والتشغيل وإعادة التشغيل البارد وموقع النسخة الاحتياطية مرتين. أوقف العملية وتراجع عندما يتعذر فتح قاعدة البيانات، أو يفشل عبء عمل العملاء الأصلي، أو يتعذر قراءة نسخة الاستعادة بشكل مستقل.
سجّل نقطة الاستعادة الدقيقة وملكية الملفات وربط المسارات الذي اجتاز الاختبار. وتصبح هذه التفاصيل إجراء الاستعادة إذا تعطل المضيف الجديد أثناء فترة إخراج الخادم القديم من الخدمة.
أغلِ فترة إخراج الخادم من الخدمة بأمان
اترك الخادم القديم متوقفًا لكن قابلًا للاستعادة حتى يجتاز المضيف المستعاد اختبار بدء تشغيل بارد ثانيًا، وحتى يمكن تحديد موقع نسخة احتياطية حديثة بشكل مستقل.
أخرج المضيف القديم من الخدمة فقط بعد اجتياز التشغيل المحلي والتشغيل عن بُعد عند الحاجة ووصول المستخدمين وفحوص المكتبات وتوثيق الاستعادة. واحتفظ ببيانات التطبيق القديمة حتى انتهاء فترة الاحتفاظ.
أوقف العملية وتراجع عندما يفشل أي عميل مطلوب، أو تتغير قاعدة البيانات المستعادة بشكل غير متوقع، أو يتعذر على النسخة الاحتياطية إعادة إنتاج الحالة المختبرة.
الدعم والنصائح
المزيد للقراءة

كيفية تحسين اتصالات قاعدة بيانات Jellyfin للحاويات المتزامنة
ابدأ بمالك واحد لقاعدة البيانات، وقِس سلوك القفل في SQLite؛ ولا تُضف واجهة خلفية مختلفة إلا عندما يبرّر التزامن والاسترداد هذا التعقيد.

كيفية منع تكرار المهام أو عمليات الاستيراد في Jellyfin
ينشأ العمل المكرر عادةً بسبب تداخل أدوات الجدولة أو وجود أكثر من جهة كتابة؛ عيّن مسؤولًا واحدًا، ومسارًا واحدًا، وفحصًا واحدًا لاكتمال العمل.

كيفية إصلاح Jellyfin بعد امتلاء وحدة تخزين قاعدة البيانات الخاصة به
أوقف عمليات الكتابة، وحافظ على قاعدة البيانات وملفات WAL، وحرّر مساحةً دون حذف الحالة عشوائيًا، ثم تحقّق من السلامة والتكامل ومن عبء العمل الأصلي.

