أنا مشوش جدًا في هذا الموقف حاليًا. لدينا حاوية BackBlaze B2 لعمليات الرفع (صور + أصول) مع استخدام BunnyCDN. لا يدعم B2 Cloud Storage خاصية “tombstone”. لذا لدينا العديد من الصور والأوامر غير المستخدمة. الآن أريد نقل هذه الرفع إلى Digital Ocean Spaces مع نفس إعدادات BunnyCDN، مع تغيير عنوان المصدر فقط إلى DO.
استخدمنا هذا الدليل الرائع لإعداد B2 Cloud Storage. ونريد الآن تغييره إلى إصدار DO.
ما هي أفضل ممارسة لإجراء هذا النقل؟ لدينا حوالي 10 جيجابايت من الملفات المرفوعة. يتميز B2 بخاصية Snapshot لكنها بطيئة جدًا. كود وحدة التحكم rake uploads:migrate_from_s3 يقوم أولاً بتحميل كل شيء من S3، ثم نحتاج إلى إعادة بناء المنشورات، وهي عملية بطيئة جدًا بسبب الصور. بعد هذه العملية يمكننا رفع كل شيء إلى DO Spaces. هل هذا صحيح؟
ماذا يحدث إذا قمنا بإنشاء Snapshot على B2 Cloud Storage بعد تحميلها يدويًا إلى جهاز الكمبيوتر ثم رفع كل شيء إلى DO Spaces؟ بعد هذه العملية، نعدل عنوان المصدر في منطقة السحب الخاصة بـ BunnyCDN ليصبح DO Spaces + نعدل ملف app.yml ونعيد البناء. هل نحتاج في هذه الحالة إلى إعادة بناء المنشورات؟
سؤال آخر… ماذا يحدث بالملفات والصور غير المستخدمة في DO Spaces؟ هل يتعرف النظام على هذه الملفات ويقوم بحذفها تلقائيًا؟
أعتقد أن أسهل طريقة هي تمكين الإعداد المخفي الذي يقوم بتنزيل جميع ملفات S3 إلى نسخة احتياطية في وحدة التحكم (ستتمكن من البحث هنا أو النظر في المصدر)، ثم التبديل إلى مساحات، واستعادة النسخة الاحتياطية، وإعادة بناء الحاوية.
تذكر إيقاف تشغيل إعداد تنزيل الصور، وإلا ستقوم بتنزيل وجميع عمليات الرفع الخاصة بك في كل نسخة احتياطية!
لطالما أردت حل هذه المشكلة لسنوات، وتفشل اختباراتي باستمرار، وأعتقد أن السبب يعود إلى حالات هامشية. أخبرني إذا نجح ذلك. يمكنك تجربته عن طريق الاستعادة إلى موقع اختبار.
شكرًا لك! إذن هذه العملية تنسخ احتياطيًا كل شيء من S3 أيضًا. هل ستنشئ ملفًا ضخمًا للنسخ الاحتياطي على B2 Cloud Storage بعد تحميله إلى الكمبيوتر، وقبل استعادته، تقوم بتعديل ملف app.yml وتغيير إعدادات CDN لتشير إلى مساحات DO؟ سيقوم ذلك باستعادة الملفات إلى مساحات DO.
لكن عند إنشاء ملف النسخ الاحتياطي، يجب أن يحتوي ملف app.yml على معلومات مساحات DO لاستعادة الملفات في المكان الصحيح. أم يمكنني تعديل ملف app.yml داخل ملف النسخ الاحتياطي بعد إنشائه؟
آه نعم، لأنني نسيت أن النسخ الاحتياطي موجود أيضًا على B2 Cloud Storage. مجرد وعاء آخر.
وجدت هذا، لذا أفكر فقط: ماذا سيحدث إذا قمنا بالانتقال من سحابة إلى سحابة مع تغيير ملف CDN وملف app.yml فقط؟ هل هذا ممكن؟ إذا كان الأمر كذلك، فقد يكون هذا الحل الأبسط والأسرع لهذه العملية. كما يدعمون BackBlaze.
لقد أجريت عملية الترحيل الليلة الماضية دون أي مشكلة! شكرًا لفالكو! إصلاحات DO Spaces تحل العديد من الأخطاء التي كانت موجودة سابقًا في B2 Cloud Storage، كما أنها أسرع بكثير. شكرًا لكم يا رفاق على مساعدتكم!
كنا نتلقى الكثير من تحذيرات “عنوان URL محظور” من ملفات JavaScript في السجلات. الآن أصبحت السجلات نظيفة. في بعض الأحيان كان Composer يتعطل ويحدث هذا النوع من الأخطاء. الآن أصبح النظام سلسًا وسريعًا.
لم يقوموا بإشعارنا أبدًا عند انتهاء صلاحية مفتاح API، وهو أحد أكبر المشاكل. ومع ذلك، يُظهر لوحة التحكم B2 أن المفتاح لا ينتهي صلاحيته أبدًا، لكنه دائمًا ما ينتهي بعد بضعة أشهر ويعطل موقعنا. أعتقد أن B2 تعاني من بعض فترات التوقف أو عدم الاستقرار، لأن رفع الصور كان يتعطل أحيانًا.
لا أعرف ما إذا كانت هناك مشكلة في إشعارات الدفع قد تكون سببت ذلك أيضًا، لكننا غير متأكدين ونجري الاختبارات الآن.
بالنسبة لنا، كان الانتقال إلى مساحات DigitalOcean في فرانكفورت خيارًا جيدًا لأن منتدانا موجود هناك أيضًا. أصبح أسرع وأكثر استقرارًا حتى الآن. نأمل أن يظل الأمر جيدًا في المستقبل أيضًا.