Khi gắn hệ thống tệp CIFS từ trình ghi NetApp và sao chép các tệp có dung lượng vài gigabyte vào nó, quá trình sao chép sẽ thường xuyên bị treo trong vài phút khi kết thúc. Nhân viết tin nhắn vào syslog, chẳng hạn như:
Nov 15 14:03:15 myclient kernel: [173570.048387] CIFS VFS: sends on sock ffff88003a2d4000 stuck for 15 seconds
Nov 15 14:03:15 myclient kernel: [173570.049115] CIFS VFS: Error -11 sending data on socket to server
Nov 15 19:01:22 myclient kernel: [191466.594088] CIFS VFS: Server myfileserver has not responded in 120 seconds. Reconnecting...
Thông điệp cuối cùng trong thực tế có thể lặp lại trước khi viết lại. Trong khi quá trình đang treo, nó không thể bị giết; thậm chí cố gắng để khởi động lại máy sẽ bị treo.
Máy chủ là NetApp, tôi chưa biết thông số kỹ thuật của nó. Máy khách là hai máy Ubuntu 14.04 LTS, một trong số chúng là ảo (nó xảy ra trên cả hai). Hạt nhân của họ là phiên bản 3.5.0-54-generic
và 3.13.0-68-generic
, tương ứng.
Tôi có ba câu hỏi.
- Nếu bạn đã từng thấy vấn đề này, trên phiên bản Linux nào?
- Làm thế nào vấn đề này có thể xảy ra ở nơi đầu tiên? Không nên hỗ trợ hệ thống tập tin CIFS thông minh hơn là treo liên tục?
- Những tùy chọn gắn kết được đảm bảo để loại bỏ vấn đề này?
Mục nhập fstab của tôi trông như thế này (ẩn danh):
//myfileserver/path/to/mydirectory /mnt/mydirectory cifs credentials=mycredentialsfile,rw,sec=ntlmv2,forceuid,forcegid,file_mode=0644,dir_mode=0755,noserverino,nounix,user,noauto 0 0
Thêm cache=none
không khắc phục vấn đề. Thêm directio
không phải: man mount.cifs
tuyên bố đó là một tùy chọn được hỗ trợ, nhưng nó không. Có gì không xuất hiện để khắc phục vấn đề được thêm wsize=4096
hoặc wsize=8192
: vậy, đến nay, kiểm tra của tôi đã cho thấy không trì hoãn với những tùy chọn. (Với wsize=16384
, sự đình trệ vẫn xảy ra.)
Thay vì chỉ dùng thử và sai, tôi muốn hiểu điều gì đang xảy ra và loại bỏ vấn đề một cách chắc chắn 100%. Bạn có thể cho tôi biết tại sao điều này đang xảy ra hoặc phải làm gì?
(Một số câu hỏi về Hãy hỏi Ubuntu, Unix và Linux, và ServerFault đã được đăng lên mà nhìn như vấn đề này, nhưng hầu hết trong số họ không phải là: họ phàn nàn về trì hoãn vào đọc các tập tin hoặc trên hệ thống tập tin là nhàn rỗi , trong khi ở trường hợp của tôi, điều này không bao giờ xảy ra, việc đình trệ chỉ xảy ra khi ghi tập tin)
vers
thành nhiều phiên bản khác nhau, nhưng vấn đề chỉ biến mất khi chúng tôi chuyển sang một máy chủ tệp mới. Tôi nghĩ rằng nó là dành riêng cho NetApp cũ mà chúng tôi đang sử dụng và nó có thể đã được sửa ở cuối máy chủ nếu chúng tôi làm phiền.