Những lợi thế / bất lợi của gắn kết cứng so với mềm trong UNIX là gì?


23

Câu hỏi này có thể khác nhau giữa các distro nhưng, nói chung, những lợi thế / bất lợi của việc sử dụng ngàm cứng hay mềm trong thế giới UNIX là gì?

Có những tình huống nhất định trong đó một người có lợi hơn hoặc sử dụng khá phổ biến?

Câu trả lời:


21

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.


8

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.


8
tùy chọn xâm nhập không được chấp nhận và bị bỏ qua trong các phiên bản gần đây trên linux từ: linux.die.net/man/5/nfs : Tùy chọn mount int / nointr không được dùng sau kernel 2.6.25. Chỉ SIGKILL mới có thể làm gián đoạn hoạt động NFS đang chờ xử lý trên các hạt nhân này và nếu được chỉ định, tùy chọn gắn kết này bị bỏ qua để cung cấp khả năng tương thích ngược với các hạt nhân cũ hơn.
Ryan Horrisberger

5

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.


Tôi đồng ý với đề nghị chung của bạn re cứng gắn kết. Tuy nhiên, một số người triển khai VMWare trên NFS khuyên bạn nên sử dụng giá treo cứng. Tôi không quen thuộc 100% với lý do tại sao họ làm điều đó, nhưng đó là điều cần xem xét và nghiên cứu kỹ trước khi thực hiện.
duffbeer703

Cho rằng các giá treo cứng bị treo vĩnh viễn và trong các máy Olden Days đôi khi sẽ bị treo khi khởi động lại vì giá treo NFS cứng, không thể mất dữ liệu trên các giá treo cứng? Hãy tưởng tượng rằng máy chủ tệp NFS của bạn bị hỏng, bây giờ khách hàng của bạn không thể truy cập được, họ hoàn toàn bối rối, bạn khởi động lại chúng ... khả năng ghi của họ không còn nữa. Quay trở lại những ngày trước khi gắn kết mềm tồn tại, gắn kết cứng gây ra vấn đề khởi động lại máy tính. Nếu bạn khởi động máy chủ tệp trước máy khách, máy khách sẽ bị treo. Đôi khi, chúng ta phải quay vòng chúng. Mọi người mắc sai lầm. Nó vẫn còn là một vấn đề ngày hôm nay?
Mike S

@MikeS Có rất nhiều thiết lập như vậy đang chạy rất vui vẻ. Bạn không bao giờ biết những gì bạn sẽ gặp phải trong phòng thí nghiệm hoặc nhà máy nơi máy móc hàng thập kỷ vẫn đang vui vẻ kiểm soát thiết bị. Đó không phải là vấn đề quá lớn đối với những người làm việc trên những thứ hiện đại. Nhưng vâng, giá treo cứng có thể khiến bạn mất dữ liệu (nhưng giá treo cũng có thể!) - nhưng bất kỳ hệ thống tệp mạng nào không sử dụng bộ nhớ đệm I / O được hỗ trợ bằng pin đều có khả năng tương tự cho vấn đề đó. Gắn kết cứng chỉ làm cho nó thêm khủng khiếp khi tự động phát hiện và phục hồi.
Tim Post

2

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 ....


nfsv4 không còn hỗ trợ mềm? Theo trang man, "Tùy chọn được hỗ trợ bởi tất cả các phiên bản Các tùy chọn này hợp lệ để sử dụng với bất kỳ phiên bản NFS nào. Mềm / cứng Xác định hành vi khôi phục của máy khách NFS sau khi hết yêu cầu NFS. Nếu không có tùy chọn nào được chỉ định (hoặc nếu tùy chọn cứng được chỉ định), các yêu cầu NFS được thử lại vô thời hạn. Nếu tùy chọn mềm được chỉ định, thì máy khách NFS không thực hiện được yêu cầu NFS sau khi gửi lại truyền lại, khiến máy khách NFS trả về lỗi cho ứng dụng gọi điện. " Xem linux.die.net/man/5/nfs
Mike S

Tôi nghĩ rằng bạn đang mâu thuẫn với chính mình ... "mềm chỉ được sử dụng bởi những người không hiểu ..." và "đối với hệ thống tập tin ro, sử dụng mềm là an toàn ..." Ngoài ra, hãy xem bài đăng của @Tim Post, ở trên .
Mike S
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.