16.04 Máy chủ lưu trữ CIFS bị hạ xuống nhưng họ không


26

Tôi có thiết lập CIFS của mình trong fstab và chúng đang hoạt động như được yêu cầu khi khởi động. Họ gắn kết như họ nên và làm việc trong một thời gian. Dường như không có nơi nào (có thể là sau khi mở khóa máy, v.v.) Tôi gặp lỗi "Máy chủ bị hỏng" khi cố gắng truy cập nó. Tôi có nhiều và tất cả đều xuống. Họ cũng được chia sẻ từ cùng một máy chủ. Tại thời điểm này, tôi kiểm tra trên một máy tính windows và một máy 14.04 đã lỗi thời và chúng hoạt động như bình thường. Sau khi nhấp vào các chia sẻ trong nautilus và nhận được lỗi lặp lại, họ sẽ bắt đầu làm việc lại. Để truy cập vào một chia sẻ "xuống" mất khoảng 2-3 phút nhấp ngẫu nhiên các lần gắn khác nhau và quay lại lần đầu tiên khi tự động, nó hiển thị dữ liệu trong điểm gắn kết.

Tôi không gặp vấn đề này trên 14.04 máy chưa được cập nhật trong một thời gian. Tất cả các máy đó đều có đầy đủ chức năng và CIFS không bao giờ bị "sập". Vào ngày 16.04, chúng không phải là vấn đề cho đến gần đây.

Tôi đã đảm bảo cập nhật mỗi ngày và đã dọn sạch các tiêu đề linux cũ (trong tầm nhìn sau tôi có lẽ nên hoàn nguyên). Tôi làm điều này bởi vì tôi đang cầu xin một bản sửa lỗi chỉ xuất hiện nhưng đã vài tuần chiến đấu với các gắn kết CIFS mà không có bất kỳ giải pháp nào.


Tôi gặp vấn đề chính xác như nhau. Chỉ vừa mới bắt đầu một vài tuần trước. Bất kỳ may mắn?
Ian H

Không, vẫn phải đối mặt với cùng một vấn đề. Bạn có đang chạy gnome-shell không? Tôi bắt đầu tự hỏi liệu đây có phải là bước ngoặt không vì tôi có một chiếc máy tính xách tay vẫn ổn cho đến khi gnome-shell
DevinM

Không, tôi sử dụng urxvt. Tôi nghĩ rằng đây là một lỗi trong cầu chì.
Ian H

Câu trả lời:


13

Tôi đang đối mặt với cùng một vấn đề. Có vẻ như nó có liên quan đến các phiên bản Kernel và samba mới nhất.

Tôi đã quản lý để giải quyết vấn đề này bằng cách thêm Vers = 2.0 vào các lệnh mount (hoặc cuối mỗi dòng fstab)


3
Có lẽ bạn có thể cố gắng để làm cho điều này rõ ràng hơn cho người khác? Hiển thị dòng từ fstab hoặc shell của bạn và giải thích lý do tại sao nó giúp?
Zanna

Hi, tôi áp dụng workaround này bước nêu tại bệ phóng sau: bugs.launchpad.net/ubuntu/+source/cifs-utils/+bug/1687273
josepcoves

Tôi đang thử nghiệm sửa chữa này ngay bây giờ. Càng xa càng tốt. Nếu nó vẫn hoạt động vào ngày mai tôi sẽ chấp nhận đây là câu trả lời. Cảm ơn bạn về thông tin!
DevinM

Không làm việc cho tôi - bạn có thể đăng những gì bạn đã làm không? Làm thế nào để bạn biết số phiên bản sẽ sử dụng?
hippyjim

4
Vì đây là câu trả lời được chấp nhận nên có lẽ nên đề cập đến việc thử các giá trị hợp lệ để versmang lại kết quả tốt nhất, thay vì đề xuất một phiên bản giao thức cụ thể (sẽ không hoạt động trên các máy chủ lỗi thời). Bắt đầu với một phiên bản giao thức cao và đi xuống từng cái một. Nếu bạn kết thúc với vers=1.0máy chủ từ xa có thể phải được nâng cấp (nếu có thể) hoặc bảo mật khác.
0xC0000022L

37

Sau nhiều thử nghiệm thêm vers=1.0vào dòng gắn kết dường như để khắc phục vấn đề. Gắn kết hoạt động ngay bây giờ trên Ubuntu 17.10 giống như đã làm trong nhiều năm trên các bản phát hành Ubuntu cũ hơn.


3
Sau nhiều lần thử 10, đây là giải pháp duy nhất có hiệu quả. vers=2.0không làm việc
Olivier Pons

Tôi không biết về Vers = 1.0 so với 2.0 hoặc 3.0 và tôi không thể tìm thấy bất kỳ đề cập nào trong các trang hướng dẫn, nhưng điều này hiệu quả với tôi.
Greg Chabala

3
//192.168.1.222/volume_1 / media / Nas cifs username = ****, password = ****, Vers = 1.0
Steven

@GregChabala: có lẽ kiểm tra mount.cifs(8)tức là với man 8 mount.cifs? Với mount.cifsphiên bản 6.8 (từ cifs-utilsgói), trang man có chứa một đề cập đến vers=arg.
0xC0000022L

7

Bản thân tôi cũng gặp phải vấn đề tương tự, tôi muốn tự động gắn kết bằng cách sử dụng phương pháp được tìm thấy trong wiki Ubuntu ( https://wiki.ub Ubuntu.com/MountWindowsSharesPternal ) mặc dù tôi đã gặp vấn đề tương tự như đã nêu ở trên:mount error(112): Host is down

Điều này là những gì đã giúp tôi thêm vers=3.0vào và trong các tùy chọn:

//servername/sharename /media/windowMBsshare cifs credentials=/home/ubuntuusername/.smbcredentials,iocharset=utf8,sec=ntlm,vers=3.0 0 0

Vì vậy, có vẻ như nó chỉ hoạt động ngay bây giờ nếu bạn bỏ qua SMB1 và ​​sử dụng một cái được chỉ định khác, SMB3 hoạt động cho tôi vì vậy tôi chưa thử bất cứ điều gì khác.

Tôi đã sử dụng một tài khoản cục bộ trên máy windows chứ không phải một tài khoản có tên miền triển vọng.com vì tôi cũng đã đọc được điều gì đó có thể gây ra xung đột.


có vẻ như một bản cập nhật gần đây cho windows 10 pro bản xem trước nội bộ xây dựng 16 232.rs_prerelease.170624-1334 bao gồm một thay đổi bắt buộc tôi phải thêm vers=3.0để gắn kết một chia sẻ mà trước đây hoạt động mà không có nó.
dylan oliver

6

Những người khác đã gợi ý về giải pháp, nhưng nó có thể có giá trị giải thích ngắn gọn lý do.

mount.cifs trong Ubuntu 16.04 sử dụng giao thức SMB1 theo mặc định.

Trong các phiên bản sau mount.cifs, phiên bản SMB mặc định là 2.1 hoặc 3.0.

Các máy chủ Windows hiện tại không hỗ trợ giao thức SMB 1.0 nữa, trừ khi được cấu hình cụ thể trong sổ đăng ký của họ để chấp nhận nó. Vì vậy, theo mặc định, họ từ chối các kết nối từ máy khách bằng giao thức SMB1. Điều này dẫn đến thông báo sai lệch "Máy chủ bị hỏng".

Nhưng một số hệ thống cũ hơn (thường là NAS) không hỗ trợ giao thức 2.1 hoặc 3.

Giải pháp là yêu mount.cifscầu sử dụng đúng giao thức để kết nối với máy chủ của bạn, sử dụng vers=tùy chọn. Ví dụ: để kết nối với máy Windows 10:

mount -t cifs ... -o vers=3.0,...

hoặc đến một NAS cũ từ Ubuntu 18.04 trở lên:

mount -t cifs ... -o vers=1.0,...

Từ man mount.cifs(trong Ubuntu 16.04):

   vers=
       SMB protocol version. Allowed values are:

       ·   1.0 - The classic CIFS/SMBv1 protocol. This is the default.

       ·   2.0 - The SMBv2.002 protocol. This was initially introduced in
           Windows Vista Service Pack 1, and Windows Server 2008. Note
           that the initial release version of Windows Vista spoke a
           slightly different dialect (2.000) that is not supported.

       ·   2.1 - The SMBv2.1 protocol that was introduced in Microsoft
           Windows 7 and Windows Server 2008R2.

       ·   3.0 - The SMBv3.0 protocol that was introduced in Microsoft
           Windows 8 and Windows Server 2012.

       Note too that while this option governs the protocol version used,
       not all features of each version are available.

Nếu bạn xác định gắn kết của mình /etc/fstab, nó có thể trông giống như thế này:

//server/share  /mnt/share  cifs  defaults,vers=3.0,...your_other_options...,nofail,x-systemd.device-timeout=15 0 0

cifs Vers = 1.0, thông tin đăng nhập = / root / .smbcredentials, đã làm việc cho tôi trong 18.04 LTS. Bao gồm "mặc định", trong fsatb đã tạo ra một lỗi phân tích cú pháp để xóa văn bản đó để tránh lỗi.
Graham

@Graham smb1 cực kỳ lỗi thời và nguy hiểm. Nó cũng chậm hơn. Cố gắng đến ít nhấtvers=2.1
Joel Coehoorn

@JoelCoehoorn nhưng Vers = 1.0 hoạt động trong khi các phiên bản sau không ... Tôi bắt đầu từ 3 và thay đổi phiên bản xuống cho đến khi 1.0 hoạt động. Kể từ đó hoàn toàn không có vấn đề gì.
Graham

@Graham Sau đó, bạn cần sửa máy chủ bạn đang kết nối để nó hỗ trợ smb2.1 trở lên. SMB1.0 thực sự rất tệ .
Joel Coehoorn

@JoelCoehoorn Tôi đã làm theo lời khuyên trong chủ đề này: serverfault.com/questions/414074/mount-cifs-host-is-down để giải quyết vấn đề. Chỉ cần thử lại Vers = 3.0 và lỗi tương tự vẫn tồn tại và ổ đĩa không gắn kết. Điều gì là khủng khiếp về Vers = 1.0?
Graham

0

Tôi đã gặp vấn đề tương tự sau khi cập nhật ứng dụng khách của cifs-utils lên 6.7-2. Và về cơ bản, giải pháp từ josepcove và user695658 đã làm việc cho tôi. Nhưng chỉ có giá trị 1.0 cho tùy chọn gắn kết 'Vers' hoạt động với tôi. Có vẻ như giá trị mặc định cho param 'Vers' không còn là 1.0 nữa.


Đây là một bản sao của câu trả lời được chấp nhận.
karel
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.