Câu trả lời:
Gắn kết cứng thường được sử dụng cho các tài nguyên khối như đĩa cục bộ hoặc SAN. Gắn kết mềm thường được sử dụng cho các giao thức tệp mạng như NFS hoặc CIFS.
Ưu điểm của mount mềm là nếu máy chủ NFS của bạn không khả dụng, kernel sẽ hết thời gian hoạt động I / O sau một khoảng thời gian được cấu hình sẵn. Nhược điểm là nếu trình điều khiển NFS của bạn lưu trữ dữ liệu và thời gian gắn kết mềm, ứng dụng của bạn có thể không biết ghi vào ổ đĩa NFS nào thực sự được cam kết vào đĩa.
gắn kết cứng và "xâm nhập" (gián đoạn) là một sự thỏa hiệp tốt (đối với các hạt nhân trước 2.6.25, xem bình luận của Ryan Horrisberger). Ứng dụng không bị lừa về việc viết thành công, tuy nhiên bạn có thể giết chúng nếu có thứ gì đó làm tắc nghẽn các ống.
Gắn kết cứng bằng cách sử dụng một số loại hệ thống tệp mạng (nfs hoặc cầu chì) có thể (đôi khi) chặn vĩnh viễn trong khi cố gắng thiết lập lại kết nối bị hỏng. Điều này có nghĩa là, mọi quá trình cố gắng truy cập mount đó sẽ chuyển sang chế độ ngủ đĩa (D) cho đến khi thiết bị khả dụng trở lại hoặc hệ thống được khởi động lại.
Ngủ đĩa không thể bị gián đoạn hoặc bị giết. Nó giống như zombie của quá trình zombie.
Nói tóm lại, không bao giờ sử dụng giá treo cứng cho các hệ thống tệp mạng. Bạn muốn hệ thống tập tin bị lỗi (ngay lập tức, xử lý bằng cách sử dụng các tòa nhà) nếu không thể I / O. Mặt khác, bộ nhớ mà họ yêu cầu cũng có thể bị rò rỉ nếu FS thất bại.
mềm chỉ được sử dụng bởi những người không hiểu nguyên tắc của nfs. mềm / cứng phụ thuộc vào việc sử dụng hệ thống tập tin. Đối với nhiệm vụ quan trọng, ứng dụng luôn luôn sử dụng các giá trị gắn kết cứng để ngăn ngừa hỏng tệp (đây là lý do tại sao nó được mặc định cho hầu hết các hệ thống). đối với hệ thống tập tin ro, an toàn khi sử dụng phần mềm và được ưu tiên. bằng cách nfsv4 không còn hỗ trợ mềm ....