سير عمل سلامة مكتبة الصور المستضافة ذاتيًا للأصول والنسخ المشتقة

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

إن ظهور خط زمني للصور بحالة سليمة ظاهريًا لا يثبت أن النسخ الأصلية وقاعدة البيانات والمعاينات المُنشأة كلها سليمة.

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

حدد الحالة المطلوبة والحالة القابلة لإعادة الإنشاء

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

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

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

أثبت سلامة وحدات البايت الأصلية بصورة مستقلة عن المعرض

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

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

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

طابق السجلات والمسارات ومهام المشتقات

قارن سجلات الأصول في قاعدة البيانات بمسارات نظام الملفات في الاتجاهين: سجلات بلا ملفات، وملفات بلا سجلات. تحقق من UID وGID ونقاط التحميل المرتبطة وجذور المكتبات الخارجية وحساسية حالة الأحرف والأدلة التي أُعيدت تسميتها قبل إعلان فقدان الأصول. احتفظ بقوائم العناصر اليتيمة بدلًا من حذف أي من الجانبين تلقائيًا.

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

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

استعد المكتبة الكاملة إلى هدف معزول

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

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

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

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

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

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.