اختبار استعادة - لا يعمل

أهلاً، أنا مكتشف الأخطاء المفضل لديك، المستخدم المزعج للدعم.

كنت أقوم باختبار الاستعادة بعد الظهر وانتهى بي الأمر مرتين من أصل مرتين بما يلي:

ERROR:  could not extend file "base/16384/3294755": wrote only 4096 of 8192 bytes at block 43985
HINT:  Check free disk space.
EXCEPTION: psql failed: HINT:  Check free disk space.
/var/www/discourse/lib/backup_restore/database_restorer.rb:92:in `restore_dump'
/var/www/discourse/lib/backup_restore/database_restorer.rb:26:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:51:in `run'
script/discourse:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:492:in `exec'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:28:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:45:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:33:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Trying to rollback...
Rolling back...
Cleaning stuff up...
Dropping functions from the discourse_functions schema...
Removing tmp '/var/www/discourse/tmp/restores/default/2023-08-19-145440' directory...
Unpausing sidekiq...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.

ذكر خاص لـ

Finished!
[FAILED]
Restore done.

الذي جعلني أضحك قليلاً :roll_eyes:
أعتقد أن هذا سيء حقًا، على مقياس من “ليس سيئًا جدًا” إلى “سيء بشكل لا يصدق”.

لقد قمت بالاستعادة في بيئة تجريبية (جهاز افتراضي منفصل نستخدمه للاختبار والتجريب) بعد إجراء تنظيف:

  • launcher stop app
  • rm -rf /var/discourse/shared
  • launcher rebuild app

الاستعادة التي حاولتُها هي آخر استعادة تم إنشاؤها بواسطة الاستعادة الآلية وتم نسخها احتياطيًا في S3.

ثم قمت بتنزيلها عبر الرابط المقدم عبر البريد الإلكتروني واستعدتها باستخدام هذا الدليل:

كان النسخ الاحتياطي بحجم 10 جيجابايت. على الجهاز الافتراضي، كان هناك حوالي 110 جيجابايت مجانية عندما بدأت الاستعادة.

تعديل: إصدار Discourse 3.2.0.beta1-dev (fbf7b106cc)

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

لا. هذا “تلميح” بمعنى “إنها مشكلة شائعة”.

كما هو مذكور في المنشور الذي يسبق ردك مباشرة:

كان النسخ الاحتياطي بحجم 10 جيجابايت. كان هناك حوالي 110 جيجابايت مجانية على الجهاز الظاهري عند بدء الاستعادة.

(تم التعديل مع صورة بالجيجابايت لسهولة القراءة)

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

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

شيء أغرب، تحميل هذا الموضوع وهذه الرسالة لا يمثلان أي مشكلة على الإطلاق لـ discourse. يتم تحميلهما وعرضهما دون مشاكل.

لقد تدخلت يدويًا وقمت بتحرير هذا المنشور. سأقوم الآن بتشغيل نسخة احتياطية يدوية للاختبار مرة أخرى.