كيف يمكنك فرض اتصال CIFS لإلغاء التحميل
سؤال
لدي مشاركة CIFS مثبتة على جهاز Linux.خادم CIFS معطل، أو الاتصال بالإنترنت معطل، وأي شيء يلامس تركيب CIFS يستغرق الآن عدة دقائق حتى تنتهي المهلة، ولا يمكن قتله أثناء الانتظار.لا يمكنني حتى تشغيل ls في الدليل الرئيسي الخاص بي نظرًا لوجود رابط رمزي يشير داخل حامل CIFS ويحاول ls متابعته لتحديد اللون الذي يجب أن يكون عليه.إذا حاولت umount (حتى مع -fl)، فإن عملية umount ستتوقف تمامًا كما يحدث ls.ولا حتى sudo kill -9 يمكنه قتله.كيف يمكنني إجبار النواة على إلغاء التحميل؟
المحلول
أستخدم إلغاء التحميل البطيء: umount -l
(هذه حرف صغير L
)
إلغاء تحميل كسول.قم بفصل نظام الملفات من التسلسل الهرمي لنظام الملفات الآن ، وقم بتنظيف جميع الإشارات إلى نظام الملفات بمجرد أن لا يكون مشغولاً بعد الآن.(يتطلب kernel 2.4.11 أو أحدث.)
نصائح أخرى
umount -a -t cifs -l
عملت مثل السحر بالنسبة لي على CentOS 6.3.لقد أنقذني من إعادة تشغيل الخادم.
في RHEL 6 نجح هذا:
umount -f -a -t cifs -l
واجهت هذه المشكلة لمدة يوم حتى وجدت الحل الحقيقي.بدلاً من محاولة فرض إلغاء تحميل مشاركة معلقة، قم بتثبيت المشاركة باستخدام الخيار "الناعم".إذا حاولت إحدى العمليات الاتصال بالمشاركة غير المتوفرة، فسوف تتوقف عن المحاولة بعد فترة زمنية معينة.
ناعم اجعل التركيب ناعمًا.فشل استدعاءات نظام الملفات بعد عدة ثواني.
mount -t smbfs -o soft //username@server/share /users/username/smb/share
stat /users/username/smb/share/file
stat: /users/username/smb/share/file: stat: Operation timed out
قد لا يكون هذا إجابة حقيقية لسؤالك ولكنه حل للمشكلة
هذا يناسبني (Ubuntu 13.10 Desktop إلى خادم Ubuntu 14.04): -
sudo umount -f /mnt/my_share
شنت مع
sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share
حيث serv_share هو الذي تم إعداده والمشار إليه في ملف smb.conf.
جرب umount -f /mnt/share.يعمل بشكل جيد مع NFS، ولم يتم تجربته مطلقًا مع cifs.
ألقِ نظرة أيضًا على autofs، حيث سيتم تحميل المشاركة فقط عند الوصول إليها، وسيتم إلغاء تحميلها في العالم الآخر.
هناك برنامج تعليمي جيد في www.howtoforge.net
واجهت مشكلة مشابهة جدًا مع davfs.في صفحة الرجل umount.davfs
, ، وجدت أن -f -l -n -r -v
يتم تجاهل الخيارات من قبل umount.davfs
.لإلغاء تثبيت أداة davfs بالقوة، كان عليّ استخدام umount -i -f -l /media/davmount
.
هناك خيار -f يمكنك تجربته:
umount -f /mnt/fileshare
هل تحدد خيار "-t cifs" للتثبيت؟تأكد أيضًا من عدم تحديد الخيار "الصعب" للتثبيت.
قد ترغب أيضًا في التفكير fusesmb, نظرًا لأن نظام الملفات سيتم تشغيله في مساحة المستخدم، فيمكنك إيقافه تمامًا مثل أي عملية أخرى.
umount -f -t cifs -l /mnt &
احذر من &
, ، يترك umount
تشغيل في الخلفية.umount
سيتم فصل نظام الملفات أولاً، لذلك لن تجد شيئًا كافيًا /mnt
.اذا ركضت df
الأمر، ثم سوف umount /mnt
غصبا.
في RHEL 6 نجح هذا معي أيضًا:
umount -f -a -t cifs -l FOLDER_NAME
سوف يقوم إلغاء التحميل البطيء بالمهمة نيابةً عنك.
umount -l <mount path>