2008-09-16 19 views
119

Tôi có một CIFS chia sẻ gắn trên một máy Linux. Máy chủ CIFS bị ngừng hoạt động hoặc kết nối internet bị ngắt và mọi thứ chạm vào 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 đợi. Tôi thậm chí không thể chạy ls trong thư mục nhà của tôi bởi vì có một liên kết tượng trưng trỏ bên trong CIFS gắn kết và ls cố gắng để làm theo nó để quyết định màu sắc nó nên được. Nếu tôi cố gắng để umount nó (ngay cả với -fl), quá trình umount treo giống như ls không. Ngay cả sudo kill -9 cũng có thể giết chết nó. Làm thế nào tôi có thể buộc hạt nhân phải tháo gắn kết?Làm thế nào để bạn buộc một kết nối CIFS để unmount

+0

tương tự: [Force unmount của thư mục NFS gắn] (http://stackoverflow.com/questions/40317/force-unmount-of-nfs-mounted-directory) – Kemal

Trả lời

147

tôi sử dụng unmount lười biếng: umount -l (đó là một chữ thường L)

Lazy unmount. Detach the filesystem from the filesystem hierarchy now, and cleanup all references to the filesystem as soon as it is not busy anymore. (Requires kernel 2.4.11 or later.)

+23

Điều này không hiệu quả với tôi lúc đầu. Sau khi thử nghiệm một thời gian (trong một thiết bị đầu cuối ảo mới mỗi lần) tôi đã đưa ra điều này: '' 'sudo umount -a -t cifs -l'''. Hoặc là điều này đã làm các trick, hoặc umount đầu tiên mất một thời gian (120s? 300s?) Để hoàn thành. Tôi nhận được rất nhiều cảnh báo về umount bị chặn trong hơn 120 giây. –

+2

Và sau đó tôi phải giết tất cả những chiếc umount treo trước khi tôi có thể gắn lại. –

+7

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

0

Có một tùy chọn -f umount mà bạn có thể thử:

umount -f /mnt/fileshare 

Bạn đang xác định tùy chọn 'CIFS -t' để gắn kết? Ngoài ra hãy chắc chắn rằng 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 sẽ chạy trong không gian người dùng, bạn có thể xóa nó giống như bất kỳ quy trình nào khác.

+3

-f và -t không giúp đỡ, umount vẫn treo. – smoofra

+0

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ĩ rằng 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 bạn ngay bây giờ, hy vọng duy nhất của bạn là cố gắng và gắn kết nó theo cách có khả năng chống lại thất bại trong tương lai. –

1

Hãy thử umount -f/mnt/share. Làm việc OK với NFS, không bao giờ thử với cifs.

Ngoài ra, hãy xem tự động, nó sẽ chỉ gắn kết phần chia sẻ khi được truy cập và sẽ ngắt kết nối phần sau đó.

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

+4

không may -f không hoạt động với CIFS. umount vẫn bị treo. – smoofra

5

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

soft Make the mount soft. Fail file system calls after a number of seconds.

mount -t smbfs -o soft //[email protected]/share /users/username/smb/share 

stat /users/username/smb/share/file 
stat: /users/username/smb/share/file: stat: Operation timed out 

không thể 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 đề

+14

Nếu bạn nhìn vào 'man mount.cifs' bạn sẽ nhận thấy rằng' soft' thực sự là mặc định. – Benj

+4

Hơn nữa, tôi bị treo ngay cả với tùy chọn "mềm" ... – dhardy

45

umount -a -t cifs -l

làm việc như một nét duyên dáng cho tôi trên CentOS 6.3. Nó đã lưu lại cho tôi một khởi động lại máy chủ.

+5

Bạn có muốn xây dựng các công tắc '-a' và' -l' là gì và chúng đang giúp đỡ như thế nào? – Isaac

+5

-a và -t cifs ngắt kết nối tất cả các hệ thống tệp cif. nó là tốt hơn để xác định một trong những bạn muốn unmount – dwery

+1

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

5

này làm việc cho tôi (Ubuntu 13.10 Desktop để một máy chủ Ubuntu 14.04): -

sudo umount -f /mnt/my_share 

Mounted với

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

nơi serv_share được rằng thiết lập và chỉ vào trong smb.conf tập tin.

0

Tôi gặp sự cố rất giống với davfs. Trong trang người đàn ông của umount.davfs, tôi thấy rằng các tùy chọn -f -l -n -r -v bị bỏ qua bởi umount.davfs. Để buộc tháo gắn kết davfs của tôi, tôi phải sử dụng umount -i -f -l /media/davmount.

8

On RHEL 6 này làm việc:

umount -f -a -t cifs -l 
-1

On RHEL 6 này làm việc cho tôi thêm:

umount -f -a -t CIFS -l FOLDER_NAME

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

Hãy cẩn thận của &, hãy để umount chạy trong nền. umount sẽ tách hệ thống tệp trước tiên, vì vậy bạn sẽ không tìm thấy gì ở số /mnt. Nếu bạn chạy lệnh df thì lệnh đó sẽ là umount /mnt cưỡng bức.

-6

Ngắt kết nối lười biếng sẽ thực hiện công việc cho bạn.

unmount -l

+7

Bản sao của câu trả lời được chấp nhận 7 năm tuổi. –

+4

'unmount: lệnh không tìm thấy' –

Các vấn đề liên quan