مساعدة في تركيب نظام الملفات الجديد

مرحبًا!

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

كما أنني دخلت إلى حاوية التطبيق وتحققت من وجود مجلد الuploads، وكان موجودًا بالفعل.

لقد جربت كل ما خطر ببالي، وأعتقد أنني ارتكبت خطأً غبياً وحاولت ربط (mounting) المجلد /var/discourse/shared، مما قد يكون سبب المشكلة… فأنا أستمر في الحصول على

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

مرحبًا @Headless

نأسف لسماع أنك تواجه هذه المشكلة.

هل تمانع في تنفيذ الأمر التالي:

# ls -l /var/discourse/shared 

ومشاركة النتائج حتى نتمكن من رؤية نقطة التثبيت التي أشرت إليها الموجودة في هذا الدليل؟

سيكون من الأسهل تقديم المشورة إذا تمكنا من رؤية “التثبيت” الفعلي الذي تتحدث عنه.

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

وقد انتهيت من تركيبه في image

مرحبًا @Headless

إذًا، كما أفهم الآن، لديك قسم قرص مرفق وتريد استخدام هذا القسم كمجلد للتحميلات؟

هل هذا هو الفهم الصحيح؟

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

كما ترون أدناه، هذا ما يحدث لصور الملفات الشخصية.

لا بأس… أين توجد جميع ملفاتك المرفوعة الآن؟

دعنا نتحقق ونرى ما يحدث:

أولاً، هل يمكنك تشغيل الأمر التالي:

# find  /var/discourse/shared/standalone/uploads | wc -l

ثم مشاركة النتائج؛

بعد ذلك، قم بتشغيل الأمر التالي:

# find  /mnt/volume-fsn1-1/uploads | wc -l

ومشاركة مخرجاته؟

شكرًا لك.

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

أعطى الأمر الأول مخرجات image

وأعطى الأمر الثاني مخرجات image

أقدر مساعدتكم!

لا مشكلة…

تحمل معي…

أعتقد أن هناك مشكلتين يجب معالجتهما.

أولاً، أعتقد أنك بحاجة إلى نقل مجلد التحميلات القديمة (لوقت قريب، بشكل مؤقت) ثم إنشاء رابط رمزي إلى المجلد الجديد، مثل هذا:

cd /var/discourse/shared/standalone
mv uploads uploads.orig
ln -sf /mnt/volume-fsn1-1/uploads ./uploads

ثم بعد الانتهاء من ذلك، سنقوم بتعديل ملف yml (كما كان في الأصل) ونترك الرابط الرمزي يقوم بالسحر.

ولكن قبل أن نفعل ذلك، نحتاج أيضًا إلى التحقق من أذونات الملفات في قسم /mnt. ولكن لنبدأ بالأهم فالأهم.

لذا فإن مجلد uploads في /var/discourse/shared/standalone يكون فارغًا دائمًا لأنه يتم إنشاؤه عند بناء التطبيق. ومع ذلك، سأفعل ذلك تمامًا.

الآن لدي الرابط الرمزي، image

وهنا أمر ls -l على الدليل /mnt image

تحمل معي قليلاً…

دعنا نتحقق من هذا أولاً:

ls -l /var/discourse/shared/standalone

فقط للتأكد، حيث لا أستطيع رؤية الرابط الرمزي…

بالتأكيد

عظيم، آسف على هذا التفصيل المفرط…

لذا، دعنا ندخل التطبيق ونتفحص الأمور.

هل تمانع في إظهار هذا لي:

(تم التعديل)

# cd /var/discourse/
./launcher enter app
# ls -l /shared/*

شكرًا لك

بالتأكيد، هذا ما أحصل عليه
image

رغم أنه عند الدخول إلى التطبيق عبر المشغل، يظهر بشكل صحيح
image

هنا أحاول تجميع كل شيء في مكان واحد

شكرًا لك، عذرًا، نعم، أخطأت في كتابة أمر docker exec…

ماذا عن هذا (داخل الحاوية)

ls -l /shared/uploads/*

تفضل!

إذن، أعتقد أن الأمر يبدو رائعًا… ولكن لضمان الدقة بنسبة 100% (اصبر معي)، دعنا ننفذ هذا مرة أخرى:

find /shared/uploads | wc -l

وتأكد من أننا جاهزون للمضي قدمًا.

image

إليك!

هممم.

آسف، دعنا نفعل هذا…

find /shared/uploads/* | wc -l

بما أنه رمز ارتباط…

image

يبدو أن هذا يوضح ذلك