تثبيت Docker لديك لا يستخدم مشغل تخزين مدعوم.

مرحبًا يا أصدقاء، لدي مشكلة مع تحديث يظهر لي الرسالة التالية:

إذا كنت ترغب في المتابعة على أي حال باستخدام محرك التخزين غير المدعوم الحالي لديك،
اقرأ كود مصدر برنامج التشغيل (launcher) واعرف كيفية تجاوز هذا الفحص.
root@sendy:/var/docker/discourse# git pull
Already up-to-date.
root@****:/var/docker/discourse# ./launcher rebuild app
تثبيت Docker الخاص بك لا يستخدم محرك تخزين مدعوم. لو كنا سن...
يُوصى باستخدام محرك التخزين overlay2، على الرغم من أن zfs و aufs قد يعملان أيضًا.
من المعروف أن محركات التخزين الأخرى تسبب مشاكل.
يمكنك معرفة نظام الملفات الذي تستخدمه بتشغيل الأمر "docker info" والاطلاع على...

إذا كنت ترغب في المتابعة على أي حال باستخدام محرك التخزين غير المدعوم الحالي لديك،
اقرأ كود مصدر برنامج التشغيل (launcher) واعرف كيفية تجاوز هذا الفحص.
root@****:/var/docker/discourse# docker info
Containers: 5
Images: 74
Storage Driver: devicemapper
 Pool Name: docker-8:0-1970634-pool
 Pool Blocksize: 65.54 kB
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 34.15 GB
 Data Space Total: 107.4 GB
 Metadata Space Used: 41.37 MB
 Metadata Space Total: 2.147 GB
 Library Version: 1.02.82-git (2013-10-04)
Execution Driver: native-0.2
Kernel Version: 5.6.14-x86_64-linode135
Operating System: Debian GNU/Linux

مرحبًا @pauln

إذا كان المضيف الخاص بك يشغّل Docker فقط لدعم Discourse، ويدعم نواة لينكس الخاصة به OverlayFS، فإنني أنصحك بإعادة تكوين Docker (بحذر) لاستخدام برنامج تشغيل التخزين overlay2.

أتمنى أن يكون هذا مفيدًا.

هل يمكنك إخباري بكيفية القيام بذلك؟

أنا أعمل على Linode (Debian 7.5)

هل يمكنك إخباري بكيفية إعادة تكوين Docker؟

وفقًا لوثائق Docker الرسمية:

لتثبيت Docker Engine، تحتاج إلى إصدار 64 بت من أحد إصدارات Debian أو Raspbian التالية:

  • Debian Buster 10 (نسخة مستقرة)
  • Debian Stretch 9 / Raspbian Stretch

أوصي باستخدام VPS محدث.

@pauln

مرحباً، لقد أوقِظتُ النظام وأنا مستعد.

ماذا تود أن نفعل؟

هل ترغب في الانتقال إلى إصدار أحدث من Debian، أم تود أن أتحقق مما إذا كان بإمكاني جعل نسختك 7.5 تعمل أولاً؟

إذا كنت تريد مني التحقق من إمكانية تشغيل نسختك 7.5، فأحتاج إلى معرفة:

  • هل يشغّل Docker أي شيء آخر؟

المشكلة هي أنه عند تغيير مُحرِّك التخزين في ملف إعدادات Docker؛ فلن تكون الحاويات الحالية قابلة للوصول، لذا سنحتاج إلى:

  • التأكد من وجود نسخة احتياطية كاملة من Discourse (دائماً).

  • إيقاف تشغيل Docker.

  • تعديل إعدادات Docker لتغيير مُحرِّك التخزين.

  • إعادة تشغيل Docker.

  • إعادة بناء Discourse.

إذا كان نواة Debian الخاصة بك تدعم OverlayFS، فستسير العملية بسلاسة. وإذا لم تدعمه، فستفشل العملية، لكن دون أي ضرر، حيث يمكننا العودة إلى devicemapper.

أخبرني كيف تود المتابعة.

شكراً لك.

نعم، أود أن أجعلها تعمل أولاً على الإصدار 7.5. Docker يشغّل Discourse فقط.

شكرًا لك، لنفعل ذلك :slight_smile:

حسناً… هذا ما توقعتُه :slight_smile:

في الواقع، الخطوات موضحة هنا:

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

شكرًا لك.

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

إذا كان نواة لينكس لديك لا تدعم OverlayFS، فستفشل العملية.

لا تقلق.

يمكنك التراجع بسهولة :wink:

إذا لم تفشل العملية، فسأعود للنوم :slight_smile:

كيف يمكنني اختبار ما إذا كان يدعم ذلك أم لا؟

لن يتم إعادة تشغيل Docker.

بمعنى آخر، ستفشل الخطوة 5 في تعليمات Docker (المذكورة أعلاه):

5. ابدأ Docker.

$ sudo systemctl start docker

قد يفشل هذا الأمر أو ينجح…

(قد تحتاج إلى أمر مختلف عن ```systemctl``، لكن الفكرة نفسها)

حسناً، سأحاول. سأشارك التحديث هنا

استمتع.

لن أشرب قهوةً، متطلعًا إلى معجزة، ولعل نواة لينكس القديمة لديك (لسبب غريب ما) تدعم فعليًا OverlayFS.

بحثتُ بسرعة في “غوغل” حول هذا الأمر، ولم يكن الأمر مشجعًا، بصراحة، لكنني أحاول أن أكون متفائلًا.

:slight_smile:

لم ينجح الأمر. :frowning: كيف يمكنني نقل منتداي إلى خادم VPS جديد دون فقدان بيانات المستخدمين؟

قم بتنزيل ملف app.yml ونسخة الاحتياطية الأحدث.

يوجد ملف app.yml عادةً في /var/discourse/containers

توجد نسخ الاحتياطية في /var/discourse/shared/CONTAINERNAME/backups

إذا كان موقع Discourse الخاص بك غير قابل للوصول، فلا يزال بإمكانك تنزيله عبر SFTP أو باستخدام SCP.

مرحبًا @pauln

آسف لسماع ذلك. لقد اشتبهت في أن نواتك القديمة لا تدعم OverlayFS، لكن من النادر أن يضر المحاولة والتعلم في الطريق.

هل تود البقاء على Debian أو الانتقال إلى Ubuntu في إعدادك الجديد؟

لقد استخدمت Ubuntu “إلى الأبد” وهي مدعومة رسميًا من Discourse، لذا هذه هي توصيتي، لكن بالطبع، القرار يعود لك. Debian رائعة أيضًا :slight_smile:

مرحبًا @pauln

هناك مجموعة من الأشخاص القادرين على مساعدتك في إعداد خادم VPS جديد وتثبيت Discourse من الصفر ثم استعادة موقعك؛ لذا سأعود للنوم.

كانت تجربة العمل معك ممتعة. وفي الختام، إليك توصيتي:

  • قم بإعداد خادم VPS جديد يعمل بنظام Linode Ubuntu، نظرًا لأنك مستخدم لـ Linode بالفعل (مثلما أنا، بالمناسبة).
  • قم بتثبيت Discourse من الصفر (مُوثَّق جيدًا).
  • استعد موقع Discourse من نسخة الاحتياطية الخاصة بك (مُوثَّق جيدًا).

هناك العديد من الأشخاص الموهوبين الذين يمكنهم إرشادك خلال هذه الرحلة، لذا سأودعكم الآن.

أطيب التمنيات.

صباح الخير (بوقت zonesي) @pauln

لقد تحققت لك هذا الصباح، وإذا كنت لا ترغب في الانتقال إلى VPS جديد في هذا الوقت، لأي سبب قد يكون لديك، يمكنك تجربة نفس الطريقة؛ ولكن بدلاً من overlay2 يمكنك تجربة aufs.

وفقًا لبرنامج تشغيل Discourse:

  # 2. هل يتم تشغيل برنامج تشغيل تخزين معتمد؟
  if ! $docker_path info 2> /dev/null | egrep -q 'Storage Driver: (aufs|zfs|overlay2)$'; then

هذا يعني أنه، نظرًا لأن بعض إصدارات Debian الأقدم تدعم aufs، وبما أن Discourse يبدو أنه يدعم aufs (من قراءة برنامج التشغيل)، يمكنك تجربة ذلك.

الأفضل حقًا هو الترقية إلى توزيعة Linux ونواة جديدة، حيث أن Debian 7.5 قد انتهت دورة حياتها منذ أكثر من عامين، ومن الأفضل دائمًا الابتعاد عن الكود الذي انتهت دورة حياته عندما يكون ذلك ممكنًا. سأختار هذا المسار بالتأكيد وأنتقل إلى برنامج تشغيل التخزين overlay2 (موصى به بشدة). ومع ذلك، فهذا خيارك، وإذا كنت ترغب في تجربة aufs للمتعة، فافعل ذلك. التعلم دائمًا ممتع ومُجدي.

مرجع:

آمل أن يكون هذا مفيدًا


ملاحظات بيئة الاختبار:

@pauln

لمساعدتك، لقد قمت مؤخرًا بإنشاء VPS جديد من Linode بنظام Ubuntu، وقمت بتثبيت Docker وتغيير برنامج تشغيل التخزين إلى aufs:

# docker info | grep aufs
 Storage Driver: aufs
  Root Dir: /var/lib/docker/aufs

ثم اتبعت تعليمات تثبيت Docker القياسية:

https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md

وقد تم تثبيت Discourse بدون أي مشكلة فوق Docker باستخدام برنامج تشغيل التخزين aufs.

لذا ربما يمكنك تجربة ذلك على VPS الخاص بك الذي يعمل بنظام Debian 7.5، للمتعة والمعرفة، إذا رغبت.

بالطبع، الموصى به (رسميًا وغير رسمي) هو الانتقال إلى VPS جديد مدعوم، كما ذُكر سابقًا. يرجى العودة والنشر لتحديثنا بشأن قرارك وتقدمك.

لقد قمت للتو بالتعليق على كتلة التعليمات البرمجية في launcher. في بعض الأحيان عليك أن تعيش على الحافة :smiling_face_with_sunglasses:!