قائمة تحقق آمنة لترحيل Immich إلى خادم منزلي جديد

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

تبدأ عملية ترحيل Immich آمنة بإثبات ما يجب أن يبقى قبل نسخ أي شيء: ملفات الصور، وقاعدة البيانات، وإعدادات النشر التي تعيد ربطها على المضيف الجديد.

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

جمّد المصدر وسجّل الحالة الموثوقة

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

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

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

التقط قاعدة البيانات والأصول والإعدادات كمجموعة ترحيل واحدة

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

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

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

جهّز المضيف الجديد دون إنشاء حالة متنافسة

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

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

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

استعد الحالة وأعد ربط كل مسار تخزين

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

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

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

تحقق من عبء العمل الأصلي قبل إيقاف الخادم القديم

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

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

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

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

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

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.