إصلاح تثبيت Discourse على Digital Ocean الذي تعطّل أثناء تحديث Docker

ماذا تريد أن يتم إنجازه؟
لقد كان تثبيت Discourse الخاص بي يعمل بشكل ممتاز لمدة 3 سنوات. قمت بتحديث يدوي لـ Docker وكل شيء معطل الآن. لا يمكنني الوصول إلى الخادم إلا في وضع الاسترداد. لا يمكنني تشغيل Docker. عندما أقوم بتشغيل الخادم من القرص الصلب (بدلاً من وضع الاسترداد)، لا يمكنني الاتصال عبر SSH.

متى تحتاج إلى إنجازه؟
أعد تشغيل Discourse!

لدي لقطة من شهرين مضيا، على الرغم من أنني أفضل عدم فقدان البيانات من الشهرين الماضيين. لدي أيضًا لقطة من بعد تعطل Docker مباشرة.

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

ذكر:

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

ما هي ميزانيتك، بالدولار الأمريكي التي يمكنك تقديمها لهذه المهمة؟
سأدفع بالساعة مقابل المهمة، بسعر السوق. فقط شارك سعرك.

إعجابَين (2)

لقد أرسلت رسالة خاصة. كما قلت هناك، قد يكون الأسرع هو تشغيل Droplet جديد.

3 إعجابات

شكر كبير لـ @jericson على مساعدتك!

إليك ما انتهينا من فعله:

  1. الحصول على وصول استرداد للموقع القديم
  2. إرفاق محرك أقراص شبكة (تخزين كتل وحدات Digital Ocean)
  3. ضغط (إنشاء ملف tar) لملفات /var/discourse
  4. استخراج تلك الملفات إلى محرك الأقراص الشبكي
  5. إيقاف تشغيل الخادم القديم وفصل محرك الأقراص الشبكي
  6. بناء منظمة Discourse جديدة على خادم جديد
  7. توصيل محرك الأقراص الشبكي
  8. فك ضغط الملفات
  9. العثور على نسخة احتياطية من النسخة الاحتياطية لمدة 7 أيام
  10. الاستعادة إلى تلك النقطة

لقد حاولنا فقط نقل مجلد /var/discourse بالكامل إلى الخادم الجديد ولكن واجهنا مشاكل في Redis (لست متأكدًا مما إذا كانت تلك هي المشاكل الأساسية، ولكن هذا ما تم الإبلاغ عنه).

ممتن مرة أخرى لمساعدتك، جون. شكراً لك!

5 إعجابات

يسرني أنك تمكنت من إصلاح التثبيت الخاص بك. عمل رائع @jericson :clap: :slight_smile: :discourse:

4 إعجابات

مجرد فضول. هناك بعض الرسائل الأخيرة حول ترقيات معطلة مرتبطة بـ Docker و DigitalOcean. هل هذا مجرد مصادفة أم أن هناك سببًا مشتركًا سيواجهه مسؤولو Discourse الآخرون على DigitalOcean إذا قاموا بالترقية؟ أسأل لأنني واحد منهم. :sweat_smile:

@waffleslop @jericson عمل جيد وشكراً على نشر المعلومات حول ما فعلته للإصلاح - من الجيد دائماً أن يكون لديك مورد كهذا لمستضيف ذاتي، في حال واجهت مشاكل!

@icaria36 أنا أستخدم Digital Ocean لمعظم خوادمي وقمت بترقية كل من نظام التشغيل وشفرة Discourse مؤخراً جداً دون أي مشاكل على الإطلاق. (آمل ألا يؤدي نشر هذا إلى جلب النحس لي!)

إعجابَين (2)

أؤكد أن جميع الترقيات كانت سهلة للغاية حتى يوم أمس. قمت بتحديث Docker من الواجهة الرسومية وعمل بشكل جيد. ثم ذهبت لتحديث العناصر الثلاثة التالية وضغطت على أحدها (نسيت أي واحد) أولاً. لم يحدث شيء. انتظرت بضع ثوانٍ وضغطت على الآخر… ثم الآخر. ربما تصرفت بسرعة كبيرة وعطلت الأمور؟ انتهى بي الأمر بتسجيل الدخول إلى وحدة التحكم ووجدت رسالة تقترح إعادة التشغيل، لذلك قمت بإعادة تشغيل الجهاز. لم يعد الجهاز متصلاً بالإنترنت بالكامل بعد ذلك.

من الممكن أنني قمت بإعادة التشغيل أثناء عملية ترقية/تحديث، وهو ما أشعر الآن أنه كان غباءً مني القيام به!

3 إعجابات

لم نقضِ أي وقت في البحث عن سبب المشكلة لأنني أردت تشغيل @waffleslop في أسرع وقت ممكن. لقد قمت بترقية خوادم Discourse الخاصة بي (المستضافة على DigitalOcean) دون مشكلة. ومع ذلك، فأنا أستخدم سطر الأوامر بدلاً من الواجهة الرسومية نظرًا لأن لدي تثبيت غير قياسي.

يمكنني أن أوصي ببعض الأشياء لتقليل مخاطر التوقف الممتد:

  1. قم بعمل نسخة احتياطية قبل القيام بأي شيء! أتساءل عما إذا كان يجب أن يكون هناك تحذير في الواجهة يوصي بشدة بعمل نسخة احتياطية قبل أن تتمكن من إجراء تحديث. تمنحني النسخة الاحتياطية الحديثة راحة البال بأننا على الأقل يمكننا تشغيل Droplet جديد واستعادة الأشياء في أسوأ الحالات.
  2. تأكد من أنه يمكنك الوصول إلى نسختك الاحتياطية! قضيت أنا و @waffleslop جزءًا كبيرًا من وقتنا في معرفة كيفية الحصول على نسخة من /var/discourse إلى Droplet الجديد. كان هناك شيء غريب جدًا يحدث مع Droplet الأصلي ولم نتمكن من مجرد scp الملفات إلى Droplet الجديد. بالنسبة لخوادمي الخاصة، أضع النسخ الاحتياطية على S3 و أقوم بنسخها إلى جهازي المحلي كل ليلة. هل هذا مفرط؟ ربما. لكنه يمنحني الكثير من الخيارات عندما تتوقف الأمور عن العمل لسبب ما.
  3. اختبر نسخك الاحتياطية من وقت لآخر. عندما تكون خوادم الإنتاج الخاصة بك معطلة، فأنت تريد أن تكون لديك ثقة في أنك تعرف ما تفعله. من الناحية المثالية، ستقوم باختبار نسخة احتياطية قبل إجراء تحديث مباشرة حتى يكون لديك مكان للرجوع إليه إذا حدث خطأ ما في الإنتاج. ولكن عادة ما يكون كافياً محاولة عمل نسخة احتياطية بشكل متكرر للحفاظ على العملية حاضرة في ذهنك.
  4. اثنان أفضل من واحد. ربما يكون هذا أنانية، ولكن يمكن أن يكون من الأسهل بكثير تجاوز حالة طوارئ إذا كان بإمكانك مشاركة شاشتك في مكالمة مع شخص لديه خبرة في هذا النوع من المواقف. من الناحية المثالية، تريد شخصًا يعرف كيفية استخدام سطر الأوامر.

طالما أنك تقوم بعمل نسخة احتياطية، يجب أن تكون آمنًا جدًا للترقية.

5 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.