هل يمكنك الحفاظ على سجل المشاهدة أثناء ترحيل خادم الوسائط؟

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

نعم، يمكن الحفاظ على سجل المشاهدة عندما تنقل عملية الترحيل قاعدة بيانات المستخدمين، وهوية الوسائط، وحالة التطبيق المتوافقة إلى الخادم الجديد.

إن نسخ ملفات الأفلام وحدها لا ينقل علامات المشاهدة، ومواضع الاستئناف، والمفضلة، وحسابات المستخدمين، والاختيارات الخاصة بكل مسار. تُخزَّن هذه السجلات في قاعدة البيانات الدائمة لخادم الوسائط، وترتبط بمعرّفات المستخدمين والوسائط. والطريقة الأكثر أمانًا هي ترحيل كامل لمثيل يعمل على المنصة نفسها، مع نسخة احتياطية متسقة بعد إيقاف الخدمة، وإصدارات متطابقة، ومسارات حاويات مستقرة، واختبار استعادة معزول قبل أن يصبح الوجهة هي الخادم النشط.

حدّد ما إذا كنت تنقل مثيلًا أم تغيّر المنصة

يمكن لترحيل التطبيق نفسه من مضيف إلى آخر أن يحافظ عادةً على حالة الخادم الكاملة. أما الانتقال من Plex إلى Jellyfin، أو من Emby إلى Jellyfin، أو إلى منصة أخرى، فيتطلب تصديرًا أو خدمة مزامنة أو إضافة أو ترجمة تعتمد على واجهة برمجة التطبيقات، لأن قواعد البيانات تستخدم مخططات ومعرّفات مختلفة.

طلب مستخدمو Jellyfin تصديرًا أسهل للحسابات وسجل المشاهدة وإعدادات المستخدم تحديدًا لأن بيانات المستخدم ليست مجرد نسخ بسيط لمجلد الوسائط.

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

انسخ احتياطيًا حالة الخادم الدائمة بالكامل

احصر الإعدادات، وقاعدة البيانات، والمستخدمين، والإضافات، والبيانات الوصفية، والشهادات، وإعدادات المهام المجدولة، وبيئة الحاوية. وسجّل إصدار التطبيق قيد التشغيل، ووسم الصورة، وموقع قاعدة البيانات، وجميع نقاط التحميل الدائمة.

قد تتضمن حالة المشاهدة أكثر من قيمة منطقية واحدة. إذ يحدّد نقاش في Jellyfin حقولًا مثل حالة التشغيل، وعدد مرات التشغيل، وموضع التشغيل، وتاريخ آخر تشغيل، والمفضلة، والمسارات المحددة في سجلات بيانات المستخدم.

انسخ مجموعة البيانات الدائمة المدعومة بالكامل بدلًا من تصدير جدول واحد فقط، ما لم يكن مسار الاستعادة الكامل غير متاح. فقد تحافظ عملية النقل الجزئي لقاعدة البيانات على حقل واحد، لكنها تتسبب في تعطل معرّفات المستخدمين أو مراجع الوسائط أو متطلبات المخطط أو سجل الترحيل الأحدث.

أوقف الخادم أو استخدم لقطة متسقة مع قاعدة البيانات

امنع التشغيل والفحوصات وتحديثات البيانات الوصفية وتغييرات المستخدمين أثناء إنشاء النسخة الاحتياطية النهائية. أوقف عملية خادم الوسائط قبل نسخ ملفات SQLite، ما لم يكن التخزين والتطبيق يدعمان طريقة متسقة للنسخ الاحتياطي أثناء التشغيل.

يحذّر نقاش حول النسخ الاحتياطي في Jellyfin من أن نسخ ملفات SQLite النشطة قد يلتقط حالة غير متسقة لأن قاعدة البيانات قد تكون قيد الاستخدام أثناء النسخ الاحتياطي العادي لنظام الملفات.

سجّل قيم التجزئة وأحجام الملفات بعد إيقاف الخدمة، ثم أبقِ الخادم المصدر دون تغيير حتى تنجح الوجهة في اجتياز عملية التحقق. لا تسمح للخادمين بالكتابة إلى قاعدة البيانات نفسها أو إلى هدف مزامنة حالة المشاهدة أثناء التحويل.

حافظ على التحكم في إصدارات التطبيق واتجاه الترقية

استعد إلى إصدار التطبيق نفسه أولًا متى أمكن. وتأكد من تطابق الإضافات ومخطط قاعدة البيانات ومسارات الحاويات قبل ترقية الوجهة.

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

شغّل الخادم المستعاد دون إتاحة وصول العملاء الخارجيين، واقرأ سجل الترحيل، وأنشئ لقطة أخرى قبل إجراء أي ترقية. لا تختبر إصدارًا أحدث على النسخة الوحيدة من قاعدة البيانات ثم تتوقع أن يتمكن إصدار الخادم القديم من فتحها مجددًا.

حافظ على مسارات الوسائط المستقرة وهوية العناصر

أبقِ المسارات الظاهرة داخل الحاوية نفسها حتى إذا تغيّرت أقراص المضيف. فعلى سبيل المثال، أعد ربط مجموعة تخزين جديدة بالمسارين الحاليين /media/movies و/media/tv بدلًا من تعريف جذور مكتبات جديدة تمامًا للوجهة.

قد يؤدي تغيير المسارات إلى إنشاء سجلات وسائط جديدة أو ترك إدخالات قديمة إلى جانب السجلات المستعادة. وتربط مشكلة في Jellyfin بين مسارات المكتبات المحذوفة والبيانات الوصفية القديمة المستمرة وسلوك مكرر لقائمة متابعة المشاهدة.

تحقق من فيلم واحد وحلقة واحدة باستخدام مسار الملف وهوية العنصر الداخلية قبل بدء فحص كامل. إذا رأت الوجهة كل ملف على أنه جديد، فأوقف العملية وصحّح تعيين المسارات قبل أن تتوزع روابط حالة المشاهدة على سجلات مكررة.

حافظ على المستخدمين ومعرّفاتهم

استعد المستخدمين مع قاعدة البيانات بدلًا من إعادة إنشاء الحسابات يدويًا باستخدام أسماء العرض نفسها. فاسم المستخدم الظاهر لا يثبت أن مستخدم الوجهة يحمل المعرّف الداخلي نفسه.

عادةً ما تستهدف استعادة السجل يدويًا جدول بيانات المستخدم، لكن السجلات تعتمد على مراجع المستخدمين والوسائط معًا. لذلك تطلب نقل مواقع المكتبات دون فقدان البيانات الوصفية معالجة دقيقة للمسارات وقاعدة البيانات، بدلًا من إعادة فحص عمياء للملفات المنقولة.

بعد الاستعادة، سجّل الدخول باستخدام كل مستخدم ممثل وقارن علامات المشاهدة، والعناصر قيد المشاهدة، ومواضع الاستئناف، والمفضلة، واختيارات الصوت، واختيارات الترجمة. لا تحكم على نجاح العملية من حساب المسؤول وحده.

استخدم مسار مزامنة أو تصدير عند الانتقال بين المنصات

عندما يختلف تطبيق المصدر عن تطبيق الوجهة، صدّر السجل عبر إضافة مدعومة أو أداة تعتمد على واجهة برمجة التطبيقات أو خدمة محايدة مثل منصة لتتبع المشاهدة. اختبر عينة صغيرة قبل مزامنة المكتبة بأكملها.

طابق المستخدمين والعناوين صراحةً، وتعامل مع الحلقات والإصدارات والنسخ البديلة والملفات التي أُعيدت تسميتها بوصفها تعارضات محتملة في الهوية. فعنوان الفيلم وحده ضعيف جدًا عندما تشترك عدة سنوات أو إصدارات في الاسم نفسه.

احتفظ بتصدير لسجل المصدر حتى بعد نجاح عملية الاستيراد الأولى. يجب أن تكون عملية النقل قابلة للتكرار أو التدقيق، بحيث يمكن تصحيح المستخدمين المفقودين والعناوين غير المتطابقة دون إعادة بدء الترحيل.

نفّذ استعادة معزولة ولا تُجرِ التحويل إلا بعد التحقق

شغّل الوجهة على منفذ مؤقت مع تعطيل عمليات الفحص المجدولة وخطافات الويب والمزامنة الخارجية. وتحقق من المستخدمين، وأعداد عناصر المكتبة، وإجماليات المشاهدة، ومواضع الاستئناف، وقوائم التشغيل، والمجموعات، وعدة عناوين مختارة عشوائيًا.

يوضح سير عمل ترحيل بيانات NAS في ZimaSpace القاعدة الأوسع: احتفظ بالمصدر حتى يتم التحقق من الحالة المنسوخة من الوجهة.

لا يكتمل الترحيل إلا عندما يصمد المثيل المستعاد أمام إعادة التشغيل، وتظل المسارات مستقرة، ويحتفظ المستخدمون الممثلون بسجلهم، وتحدّث عمليات التشغيل الجديدة الوجهة بشكل صحيح. أبقِ المصدر غير متصل، لكن قابلًا للاستعادة، حتى يجتاز الخادم الجديد عدة أيام من الاستخدام العادي ويحصل على نسخة احتياطية حديثة.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.