الاستعادة من نسخة احتياطية لنظام الملفات: لا يمكن إعادة البناء ولا البدء

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

أحصل على رسالة الخطأ التالية من ./launcher rebuild app:

فشل
--------------------
Pups::ExecError: فشل /root/upgrade_postgres مع إرجاع #<Process::Status: pid 46 exit 1>
موقع الفشل: /pups/lib/pups/exec_command.rb:112:in `spawn'
فشل التنفيذ مع المعاملات "/root/upgrade_postgres"

يُفيد مخرجاتها بأنه يجب أن أتمكن من مجرد تشغيل ./launcher start app، لكنه يفشل مع:

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=3 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=bravit111@gmail.com,ulysses4ever@gmail.com -e DISCOURSE_HOSTNAME=forum.mmcs.sfedu.ru -e DISCOURSE_SMTP_ADDRESS=class.mmcs.sfedu.ru -e DISCOURSE_ENABLE_CORS=true -e 'DISCOURSE_CORS_ORIGIN=*' -e DONT_PRECOMPILE_CSS=1 -h users-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 8088:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:b1:c6:37:24:01 local_discourse/app /sbin/boot
لم يتم العثور على الصورة 'local_discourse/app:latest' محليًا
docker: استجابة خطأ من الخدمة: تم رفض الوصول للسحب لـ local_discourse/app، إما أن المستودع غير موجود أو قد يتطلب 'docker login': مرفوض: الوصول المطلوب للمورد مرفوض.
انظر 'docker run --help'.

المخرجات الكاملة لكلا الأمرين متاحة هنا.

فقط للحالة، فإن docker ps الخاص بي فارغ.

لست متأكدًا من كيفية المتابعة، وسأقدّر أي مساعدة.

لماذا لا تستخدم ميزات النسخ الاحتياطي الرسمية لدينا وتستعيد ملفًا احتياطيًا إلى خادم جديد؟

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

يفترض هذا الأسلوب أن لديك نسخة احتياطية تم إعدادها بواسطة مثيل discourse قيد التشغيل. لا أملك واحدة (بعد الآن) :cry:

تُفعَّل النسخ الاحتياطية افتراضيًا ويتم حفظها في نظام الملفات المضيف. إذا كان لديك نسخة احتياطية لنظام الملفات، فستجد ملفات النسخ الاحتياطي في مجلد backups…

يبدو أن ميزة النسخ الاحتياطي لم يتم تفعيلها: أرى فقط بضع ملفات أرشيفية للنسخ الاحتياطي مع تواريخ تعديل قديمة نسبيًا…

أعتقد أن النسخ الاحتياطي الأسبوعي مفعّل افتراضيًا في تثبيت عادي لـ Discourse.

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

من الأسهل بكثير نقل ملف النسخة الاحتياطية إلى خادم آخر واتباع الخطوات في Restore a backup from the command line

ماذا تقصد بـ “خادم آخر”؟ لدي خادم واحد فقط.

حسنًا، دعنا نأخذ خطوة للوراء.

عندما تقوم بإعادة البناء، تظهر لك رسالة خطأ. هل يمكنك نسخ أكثر من 4 أسطر من رسالة الخطأ حتى نعرف بالضبط ما الذي يفشل؟

ربما فاتك ذلك لأنني أضفت رابط المخرجات الكاملة فقط في تحديث للمنشور الأصلي:

المخرجات الكاملة لكلا الأمرين متاحة هنا.

رائع!

لذا

لم يتم إيقاف تشغيل مجموعة المصدر بشكل صحيح.

ستحتاج إلى اتباع ما يلي

لبدء قاعدة البيانات دون الترقية أولاً، ثم إجراء التحديث بعد ذلك.

نجح الأمر، شكرًا جزيلاً!