كيفية تصميم النسخ الاحتياطي لـ Jellyfin واستعادته وتوسيعه منذ اليوم الأول

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

صمّم Jellyfin في ستة أدوار منفصلة: الإقلاع، وحالة التطبيق، والوسائط، وذاكرة التخزين المؤقت، والنسخ الاحتياطي، والتعافي، ثم وسّع الدور الذي يقترب من حده فقط.

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

حدّد أدوار البيانات الستة قبل اختيار الأقراص

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

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

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

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

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

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

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

أنشئ النسخ الاحتياطي حول كائنات الاستعادة

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

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

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

تدرّب على استعادة نظيفة قبل التشغيل الآلي

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

الفكرة ليست أن لوحة التحكم تُحمَّل. توضح حالة ترحيل حديثة في TrueNAS كيف يمكن أن تتداخل حالة التطبيق وأجيال المخططات ومسار الحاوية الجديد؛ إذ تكشف بروفة نظيفة هذه التبعيات بينما لا تزال النسخة القديمة موجودة.
  1. سجّل إصدار المصدر، وهوية وقت التشغيل، وخريطة نقاط التركيب، وقيمة التحقق للنسخة الاحتياطية.
  2. استعد الحالة على هدف نظيف ومعزول.
  3. تحقّق من المستخدمين والمكتبات والبيانات الوصفية والتشغيل التمثيلي.
  4. أعد التشغيل مرة واحدة وكرّر الفحوص الأساسية.
  5. احسب مدة الإجراء وحدّث دليل التشغيل بكل تبعية يدوية.

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

وسّع السعة دون إعادة تسمية المكتبات

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

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

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

تحقّق من البنية الكاملة وحدودها

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

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

القاعدة النهائية بسيطة: حافظ على المسارات المنطقية المستقرة، واحمِ الحالة غير القابلة لإعادة البناء بشكل مستقل، وأثبت إمكانية الاسترداد بعد كل تغيير في البنية. السعة التي لا يمكن استعادتها ليست سعة مكتملة.

إعداد التخزين الشبكي والخادم

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

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.