Làm thế nào để bạn buộc một kết nối CIFS để ngắt kết nối


149

Tôi có một chia sẻ CIFS được gắn trên máy Linux. Máy chủ CIFS không hoạt động hoặc kết nối internet bị hỏng và bất cứ điều gì chạm vào ngàm CIFS đều mất vài phút để hết thời gian chờ và không thể thực hiện được trong khi bạn chờ đợi. Tôi thậm chí không thể chạy ls trong thư mục nhà của mình vì có một liên kết tượng trưng bên trong ngàm CIFS và tôi cố gắng theo dõi nó để quyết định màu sắc của nó. Nếu tôi cố gắng vượt qua nó (ngay cả với -fl), quá trình umount bị treo giống như ls. Thậm chí không sudo kill -9 có thể giết nó. Làm thế nào tôi có thể buộc kernel để unmount?


Câu trả lời:


186

Tôi sử dụng unmount unmount: umount -l(đó là chữ thường L)

Lười biếng vô song. Bây giờ hãy tách hệ thống tệp khỏi hệ thống phân cấp hệ thống tệp và dọn sạch tất cả các tham chiếu đến hệ thống tệp ngay khi nó không còn bận nữa. (Yêu cầu kernel 2.4.11 trở lên.)


42
Điều này đã không làm việc cho tôi lúc đầu. Sau khi thử nghiệm một lúc (trong một thiết bị đầu cuối ảo mới mỗi lần) tôi đã nghĩ ra điều này : sudo umount -a -t cifs -l. Hoặc điều này đã tạo ra mánh khóe, hoặc lần đầu tiên mất một lúc (120 giây? 300 giây) để hoàn thành. Tôi đã nhận được rất nhiều cảnh báo về việc bị chặn trong hơn 120 giây.
Peter Jaric

2
Và sau đó tôi đã phải giết tất cả các ô treo trước khi tôi có thể lắp lại.
Peter Jaric

13
Tôi cũng cần sudo umount -a -t cifs -l để làm cho nó hoạt động.
Joma

4
Điều này đã không làm việc cho tôi thực sự. Tôi đã thử mọi thứ khác ở trên và mount cifs biến mất khỏi danh sách / etc / mtab của tôi nhưng nó không thể được kể lại, vì vậy nó thực sự vô dụng. Các cifs đóng băng khi máy tính của tôi tự treo trong khi chia sẻ cifs được gắn kết.
DH4

Tôi đồng tình, umount -a -t cifs -l là những gì tôi cũng cần để vượt qua "Máy chủ bị sập" thx.
Pooch

70

umount -a -t cifs -l

làm việc như một cơ duyên đối với tôi trên CentOS 6.3. Nó đã tiết kiệm cho tôi một máy chủ khởi động lại.


8
Bạn có phiền để giải thích về những gì -a-lthiết bị chuyển mạch và cách họ đang giúp đỡ?
Isaac

10
-a và -t cifs ngắt kết nối tất cả các hệ thống tập tin cifs. tốt hơn hết là chỉ định người bạn muốn
hủy

2
Điều này là hoàn hảo nếu bạn gắn kết thông qua trình duyệt tệp và bạn không thể xác định vị trí gắn kết vi phạm - miễn là bạn không bận tâm đến việc kết nối mọi thứ!
hiền nhân

1
Cảm ơn, điều này đã tiết kiệm rất nhiều thời gian ngày hôm nay!
agam

13

Trên RHEL 6, nó hoạt động:

umount -f -a -t cifs -l 

Điều này đã làm việc, phải đợi đủ 30 phút (thời gian chờ) trước khi tôi có thể kể lại. Có lẽ tốt nhất để làm một mount mềm như jnice chỉ ra.
Xman

11

Điều này hoạt động với tôi (Máy tính để bàn Ubuntu 13.10 cho Máy chủ Ubuntu 14.04): -

 sudo umount -f /mnt/my_share

Gắn kết với

 sudo mount -t cifs -o username=me,password=mine //192.168.0.111/serv_share /mnt/my_share

trong đó serv_share được thiết lập và trỏ đến trong tệp smb.conf.


6

Tôi đã có vấn đề này trong một ngày cho đến khi tôi tìm thấy giải pháp thực sự. Thay vì cố gắng ngắt kết nối một chia sẻ smb được treo, hãy gắn kết chia sẻ với tùy chọn "mềm". Nếu một quá trình cố gắng kết nối với chia sẻ không có sẵn, nó sẽ ngừng thử sau một khoảng thời gian nhất định.

mềm Làm cho giá đỡ mềm mại. Lỗi hệ thống tập tin cuộc gọi sau một vài giây.

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

Có thể không phải là một câu trả lời thực sự cho câu hỏi của bạn nhưng nó là một giải pháp cho vấn đề


19
Nếu bạn nhìn vào man mount.cifsbạn sẽ nhận thấy đó softthực sự là mặc định.
Benj

2

Hãy thử umount -f / mnt / chia sẻ. Hoạt động tốt với NFS, không bao giờ thử với cifs.

Ngoài ra, hãy xem autofs, nó sẽ chỉ chia sẻ khi được truy cập và sẽ ngắt kết nối thế giới bên kia.

Có một hướng dẫn tốt tại www.howtoforge.net


5
Thật không may -f không hoạt động với CIFS. umount vẫn chỉ treo.
smoustra

2

Tôi đã có một vấn đề rất giống với davfs. Trong trang man của umount.davfs, tôi thấy rằng các -f -l -n -r -vtùy chọn bị bỏ qua umount.davfs. Để buộc tháo gỡ gắn kết davfs của tôi, tôi đã phải sử dụng umount -i -f -l /media/davmount.


1

Có một tùy chọn -f để vượt qua mà bạn có thể thử:

umount -f /mnt/fileshare

Bạn có đang chỉ định tùy chọn '-t cifs' để gắn kết không? Ngoài ra, hãy đảm bảo bạn không chỉ định tùy chọn 'cứng' để gắn kết.

Bạn cũng có thể muốn xem xét fusesmb , vì hệ thống tập tin sẽ chạy trong không gian người dùng, bạn có thể giết nó giống như bất kỳ quy trình nào khác.


4
-f và -t không giúp đỡ, umount vẫn bị treo.
smoustra

bạn đã khởi động lại từ khi thêm tùy chọn '-t cifs' để gắn kết chưa? Tôi không nghĩ có bất cứ điều gì bạn có thể làm để khắc phục điểm gắn kết bị mắc kẹt của mình ngay bây giờ, hy vọng duy nhất của bạn là thử và gắn kết nó theo cách có khả năng chống lại sự thất bại hơn trong tương lai.
Chris AtLee

1
umount -f -t cifs -l /mnt &

Hãy cẩn thận &, hãy umountchạy trong nền. umountsẽ tách hệ thống tập tin trước, vì vậy bạn sẽ không tìm thấy gì /mnt. Nếu bạn chạy dflệnh, thì nó sẽ umount /mntbuộc.


-2

Trên RHEL 6, điều này cũng làm việc với tôi:

umount -f -a -t cifs -l FOLDER_NAME


-8

Một unmount lười biếng sẽ làm công việc cho bạn.

umount -l <mount path>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.