استعادة إلى مضيف جديد

لقد قمت بإعداد مضيف جديد حتى أتمكن من الحصول على بيئة “مرحلية”. لقد أعدت إنشاء نفس تثبيت Discourse بنفس الإصدار على الأرجح. أنا أستخدم الإصدار: 2.8.2.

التعليق الأول، اعتبارًا من الإصدار 2.8.2، انخفض حجم النسخ الاحتياطي الخاص بي من 282 ميجابايت إلى حوالي 90 ميجابايت. لست متأكدًا من السبب، لكنني سأستمر في الاستفادة من بعض الذكاء المضاف.

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

يفشل الاستعادة بسبب:

[2022-02-27 19:41:18] ALTER TABLE
[2022-02-27 19:41:18] ALTER TABLE
[2022-02-27 19:41:18] ترحيل قاعدة البيانات...
[2022-02-27 19:43:00]
[2022-02-27 19:43:00] إعادة الاتصال بقاعدة البيانات...
[2022-02-27 19:43:00] إعادة تحميل إعدادات الموقع...
[2022-02-27 19:43:00] تعطيل رسائل البريد الإلكتروني الصادرة للمستخدمين غير الموظفين...
[2022-02-27 19:43:02] تعطيل وضع القراءة فقط...
[2022-02-27 19:43:02] مسح ذاكرة التخزين المؤقت للفئات...
[2022-02-27 19:43:02] إعادة تحميل الترجمات...
[2022-02-27 19:43:02] إعادة تعيين التحميلات...
[2022-02-27 19:43:02] إعادة تعيين 'https://forum.geekbeacon.org' إلى 'https://forum-staging.geekbeacon.org'
[2022-02-27 19:43:08] استعادة التحميلات، قد يستغرق هذا بعض الوقت...
[2022-02-27 19:43:36] استثناء: لم تتم إعادة تعيين 8 مشاركات إلى عنوان URL جديد للتحميل من S3. فشل ترحيل S3 لقاعدة البيانات 'default'.
[2022-02-27 19:43:36] /var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:87:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:66:in `migrate'
/var/www/discourse/lib/file_store/s3_store.rb:317:in `copy_from'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:62:in `restore_uploads'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:44:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:61:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:23:in `restore'
/var/www/discourse/script/spawn_backup_restore.rb:36:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2022-02-27 19:43:36] محاولة التراجع...
[2022-02-27 19:43:36] التراجع...
[2022-02-27 19:43:36] تنظيف الأشياء...
[2022-02-27 19:43:36] إسقاط الوظائف من مخطط discourse_functions...
[2022-02-27 19:43:36] إزالة الدليل المؤقت '/var/www/discourse/tmp/restores/default/2022-02-27-194051'...
[2022-02-27 19:43:36] إلغاء إيقاف sidekiq مؤقتًا...
[2022-02-27 19:43:36] وضع علامة على الاستعادة على أنها مكتملة...
[2022-02-27 19:43:36] إخطار 'csgeek' بنهاية الاستعادة...

إعجاب واحد (1)

هذه هي مشكلتك. ربما استخدم نفس S3 bucket واستخدم نفس الـ bucket؟ ربما تأكد من أن الإعداد المخفي الذي يسمى شيئًا مثل “download S3 in backup” قيد التشغيل. ستحتاج إلى البحث أو النظر في المصدر عن اسم الإعداد.

أو ربما تحتاج إلى التأكد من أن بقية تحميلاتك على موقع الإنتاج موجودة على S3.

إعجاب واحد (1)

ليس لدي S3 مهيأ، وأفترض أن الخادم القديم قد يحتوي على بعض البيانات القديمة التي لم يتم تعيينها إلى موقع S3 صالح.

عدت إلى الخادم الأقدم ولدي دلوين مهيأين، أحدهما للنسخ الاحتياطي والآخر للوسائط. اتبعت الدليل وقمت بإعداد AWS S3 بما في ذلك CDN.

عندما أقوم بتشغيل rake uploads:migrate_to_s3 والتي فشلت، اتبعتها بـ posts:rebake ويبدو أن ذلك قلل من عدد الأخطاء، لكنه لا يزال يفشل:

يرجى ملاحظة أن الترحيل إلى S3 غير قابل للعكس حاليًا!
[CTRL+c] للإلغاء، [ENTER] للمتابعة

ترحيل التحميلات إلى S3 لـ 'default'...
تحميل الملفات إلى S3...
 - سرد الملفات المحلية
 => 208 ملفات
 - سرد ملفات S3
. => 978 ملفات
 - مزامنة الملفات إلى S3
................................................................................................................................................................................................................
تحديث عناوين URL في قاعدة البيانات...
إزالة الصور المحسّنة القديمة...
وضع علامة على جميع المشاركات التي تحتوي على مربعات إضاءة لإعادة الخبز...
تم وضع علامة على 15 مشاركة لإعادة الخبز
فشل rake!
FileStore::ToS3MigrationError: لم تتم إعادة تعيين منشور واحد إلى عنوان URL تحميل S3 الجديد. فشل ترحيل S3 لقاعدة البيانات 'default'.
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:87:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:66:in `migrate'
/var/www/discourse/lib/tasks/uploads.rake:123:in `migrate_to_s3'
/var/www/discourse/lib/tasks/uploads.rake:102:in `block in migrate_to_s3_all_sites'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:80:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:90:in `each_connection'
/var/www/discourse/lib/tasks/uploads.rake:100:in `migrate_to_s3_all_sites'
/var/www/discourse/lib/tasks/uploads.rake:96:in `block in <main>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
المهام: TOP => uploads:migrate_to_s3
(انظر التتبع الكامل عن طريق تشغيل المهمة مع --trace)

هل هناك طريقة لتشغيل migrate_to_s3 في وضع مطول لتحديد المنشور الذي يسبب المشكلة؟