Ngăn chặn kết nối NFS bị hỏng do đóng băng hệ thống máy khách


21

Chúng tôi có chia sẻ NFS 4, chia sẻ âm lượng giữa một số máy chủ (máy chủ NFS và máy khách tất cả Debian 8). Chúng tôi đã có một số vấn đề gần đây khi mất điện mạng sẽ đóng băng các hệ thống máy khách.

NFS của chúng tôi lựa chọn là tối thiểu, chỉ rw(và do đó giá trị mặc định hard, fg, vv).

Tôi hiện đang thử nghiệm các tùy chọn này, nhưng không nhận được hành vi mà tôi mong đợi: rw,soft,bg,retrans=6,timeo=150

(Tôi đã tăng các lần truy xuất để bù đắp một số rủi ro mềm)

Quy trình tôi đang làm để kiểm tra là:

  • Máy khởi động
  • cd đến /mnt/mountpoint
  • Xác minh kết nối NFS ok
  • cd /
  • giết mạng ifdown eth0
  • cd đến /mnt/mountpoint
  • ls

Tại thời điểm này, dòng lệnh đóng băng và tôi không thể ngắt nó. Sau một thời gian, thông báo 'nfs: server [servername] không phản hồi, hết thời gian`, dường như lặp lại một lần một phút (không xác định).

Những gì tôi muốn / mong đợi xảy ra cho hoạt động không thành công và trả lại quyền kiểm soát.

Xin vui lòng ai đó có thể cho tôi biết tôi đang sai ở đâu với các cài đặt này?

(PS: Tôi cũng đã thử gắn với autofs, nhưng thấy hành vi tương tự)

Cảm ơn bạn


3
Tôi sẽ không đề nghị softtrong bất kỳ trường hợp nào. Nó cho phép dữ liệu bị loại bỏ do lỗi . Thay vào đó tôi đề nghị hard,intr.
roaima

2
@roaima - Cảm ơn. Ý kiến ​​đó dường như rất phổ biến trên web :) Rắc rối là tình trạng hiện tại mà chúng tôi gặp phải hardcũng tệ như chúng tôi (hệ thống chết và chết cho đến khi được khởi động lại). intrkhông được hỗ trợ trong NFS4 theo người đàn ông.
UpTheCux

2
(Sửa chữa, có vẻ như intrnó được hỗ trợ bởi NFS4, nhưng không phải bởi hạt nhân> 2.6.25)
UpTheCalet

Tôi nghĩ rằng điều khác với các câu trả lời 'tiêu chuẩn' là bạn đang thay đổi thư mục làm việc hiện tại thành điểm gắn kết. Bạn có nhận được hành vi tương tự mà không có cd, nhưng thay vào đó làm ls /mnt/mountpoint? Có thể sau khi lsthất bại, trình bao của bạn đang thử các hoạt động của hệ thống tệp phụ thuộc vào PWD. (Thậm chí tệ hơn, nếu bạn đủ dại dột để đặt .vào $PATH)
Toby Speight

Câu trả lời:


4

intrsẽ cho phép bạn lấy lại quyền kiểm soát khi bạn đánh ^C, nhưng thường thì không ngay lập tức.

   intr           If an NFS file operation has a major timeout and it is hard mounted, then allow signals to interupt the
                  file  operation  and cause it to return EINTR to the calling program.  The default is to not allow file
                  operations to be interrupted.

Như bạn nói, kỳ vọng là vấn đề ở đây. Các sự cố mạng có thể là tạm thời, nhưng việc không hoạt động là vĩnh viễn. Vì vậy, hầu hết các hoạt động mặc định chỉ đơn giản là chặn cho đến khi hoạt động hoàn thành.

Đây là câu trả lời chuẩn, nhưng nhìn vào một trang người đàn ông hiện tại tôi thấy điều này:

                  The  intr / nointr mount option is deprecated after ker-
                  nel 2.6.25.  Only SIGKILL can interrupt  a  pending  NFS
                  operation on these kernels, and if specified, this mount
                  option is ignored  to  provide  backwards  compatibility
                  with older kernels.

Vì vậy, nó dường như không phải là vấn đề của NFS3 / NFS4, mà là một quyết định về cách thức intrhoạt động. Vì vậy, bạn sẽ có thể KILLxử lý, nhưng điều đó có thể không cung cấp cho bạn nhiều tiện ích.

Tôi không thể tìm thấy các cuộc thảo luận về lý do tại sao các tùy chọn đã được gỡ bỏ. Bạn có thể giết -KILL quá trình của bạn?


Cảm ơn, nhưng theo người đàn ông intrđược hỗ trợ bởi nfs 2/3 chứ không phải 4.
UpTheCalet

@UpTheCalet, tôi không hiểu tại sao lại như vậy. Tôi không có một hệ thống debian ở đây nhưng nó được đề cập rõ ràng là có sẵn. Bạn đã thử chưa? "xâm nhập Điều này sẽ cho phép các hoạt động của NFS4 (trên các khung cứng) bị gián đoạn trong khi chờ phản hồi từ máy chủ."
BowlOfRed

2
Vâng, tôi đã thử nó, và nó dường như không có tác dụng. Man nói rằng nó bị bỏ qua trong các phiên bản kernel gần đây.
UpTheCux

Không thể giết chết một quá trình vì toàn bộ hệ thống đóng băng. Không có lệnh nào có thể được ban hành theo kinh nghiệm của tôi. (Mặc dù trong một số trường hợp có thể SSH vào một máy bị đóng băng như vậy.)
MountainX cho Monica Cellio

3

Một số câu trả lời của tôi là ý kiến, dựa trên kinh nghiệm. Nơi tôi có sự thật tôi sẽ (cố gắng nhớ) liên kết với họ.

  1. NFS 4 được coi là một cải tiến so với phiên bản 2 và 3. Tuy nhiên, tôi chưa thấy trường hợp sử dụng mạnh mẽ nào cần cải tiến. Có lẽ đó là vì tôi nhắm đến việc xuất các hệ thống tệp cho các máy khách Windows với Samba và các máy khách Unix / Linux bằng NFS.
  2. Tôi sẽ không đề nghị softtrong hầu hết mọi trường hợp. Nó cho phép dữ liệu bị loại bỏ do lỗi . Thay vào đó tôi đề nghị hard,intr.
  3. Như bạn chỉ ra, intrkhông hợp lệ cho NFS 4, nhưng có vẻ như đây là thay đổi kernel chứ không phải là NFS.
  4. NFS Automorer ( autofs) hoạt động tốt cho các trường hợp sử dụng của tôi với NFS phiên bản 2 và 3 và quản lý để giúp bảo vệ hệ thống máy khách của tôi khỏi lỗi máy chủ bằng cách chỉ cài đặt hệ thống tệp NFS trong khi chúng được yêu cầu.

Đề nghị của tôi cho bạn sẽ là xem xét chuyển từ NFS 4 sang NFS 3 và xem điều đó có giúp ích cho trường hợp sử dụng cụ thể của bạn không. Đừng nghĩ về nó như một sự hạ cấp.


1
Cảm ơn, nhưng tôi không thể chuyển sang NFS3 và ngay cả khi tôi, như bạn nói, intrkhông được hỗ trợ trên các phiên bản kernel gần đây.
UpTheCux

2
Ah yeah có vẻ như intr được hỗ trợ trong NFS4 (nó được liệt kê trong cả hai tùy chọn chỉ 2/3 4 tùy chọn duy nhất trong con người, hơi khó hiểu), nhưng chỉ không được hỗ trợ trong các phiên bản kernel gần đây.
UpTheCux

1
"Tôi sẽ không đề nghị mềm trong mọi trường hợp" - thực sự? Trong trường hợp của tôi, tôi có một máy chủ web bận rộn gắn kết một thư mục hình ảnh. Nếu máy chủ lưu trữ hình ảnh bị hỏng và chúng tôi sử dụng hard, toàn bộ trang web sẽ ngừng hoạt động. Nếu chúng ta sử dụng soft, chúng ta có thể có một vài hình ảnh bị hỏng (mặc dù hệ thống bộ nhớ đệm của chúng ta giảm thiểu điều này gần như hoàn toàn). Nguy cơ softcho phép tham nhũng tập tin thực sự không phải là vấn đề lớn. Tôi muốn có một tập tin hình ảnh bị hỏng hơn là một trang web xuống!
Doug McLean

1
@DougMcLean cũng từng gặp phải trường hợp tương tự (trang trại bận rộn, máy chủ hình ảnh, NFS ...) Tôi sẽ nói đó là một trường hợp hơi chuyên biệt. Nếu máy chủ hình ảnh của tôi không đáng tin cậy, tôi nghi ngờ tôi có thể đã giải quyết softnhư một giải pháp chấp nhận được. Trả lời sửa đổi từ "không bao giờ" thành "gần như không bao giờ". Cảm ơn!
roaima

1
Nếu bộ nhớ của tôi là chính xác, vấn đề đóng băng hệ thống này cũng đã có trong NFS v3.
MountainX cho Monica Cellio
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.