NFS đọc bộ đệm hoạt động như thế nào trên Debian?


12

Tôi đang dự định sử dụng NFS để phục vụ nhiều tệp nhỏ. Chúng sẽ được đọc rất thường xuyên vì vậy bộ nhớ đệm phía máy khách là rất quan trọng. NFS có xử lý việc này không? Có cách nào để tăng bộ nhớ đệm phía máy khách theo một cách nào đó không?

... Hay tôi nên xem xét một giải pháp khác? Đồng bộ hóa bằng cách sử dụng rsync hoặc unison định kỳ không phải là một tùy chọn vì các tệp được sửa đổi ở phía máy khách theo thời gian.

Câu trả lời:


6

Đầu tiên, NFS không cung cấp sự kết hợp bộ nhớ cache, vì vậy nếu bạn cần điều đó, bạn phải tìm nơi khác.

Những gì NFS chỉ định là một mô hình yếu hơn được gọi là tính nhất quán gần mở. Có nghĩa là khi một tệp được đóng, mọi dữ liệu bẩn sẽ được chuyển đến máy chủ. Ngược lại, khi một tệp được mở, kiểm tra thuộc tính được thực hiện, nghĩa là nếu máy khách có các trang được lưu trong bộ nhớ cache từ tệp đó, nó sẽ kiểm tra xem các trang đó có còn hợp lệ hay không.

Mặc dù không có trong thông số kỹ thuật, hầu hết các máy khách NFS đều có một thứ gọi là thời gian chờ bộ đệm thuộc tính, tức là các thuộc tính của một thư mục hoặc tệp đã mở có thể bao nhiêu trước khi máy khách liên lạc với máy chủ để xác nhận lại chúng. Trên Linux, hãy xem các tùy chọn gắn kết actimeo = vv. Giá trị cao hơn cho phép bộ nhớ đệm tích cực hơn, nhưng làm tăng nguy cơ sử dụng dữ liệu cũ nếu một số khách hàng khác cập nhật tệp trong thời gian đó.


Cảm ơn bạn đã trả lời của bạn. Vì vậy, để tôi hiểu điều này một cách chính xác, "bộ đệm thuộc tính" phía máy khách chỉ chứa một bộ đệm cho các thuộc tính tệp / dir tức là. bộ đệm không chứa bất kỳ nội dung tập tin?
Ztyx

Có, máy khách lưu trữ nội dung tệp trong bộ đệm trang, giống như đối với hệ thống tệp cục bộ. Các thuộc tính được sử dụng để quyết định xem và khi nào nội dung tệp được lưu trong bộ nhớ cache bị vô hiệu.
janneb

Ah. Cảm ơn bạn rất nhiều vì đã trả lời này. Chúc một ngày tốt lành.
Ztyx

Khi bạn nói "trang", điều đó có nghĩa là các phần của tệp có thể được lưu trong bộ nhớ cache và các phần của tệp có thể không? Nó không phải là một bộ đệm tập tin là nó? Đó là các phân mục của tệp có thể được lưu trữ.
CMCDragonkai

@CMCDragonkai: Hạt nhân theo dõi nội dung tệp được lưu trong bộ nhớ cache ở mức độ chi tiết của trang (thường là 4KB), vì vậy, có, nó có thể lưu trữ một phần của tệp. Tôi không chắc chắn chính xác việc vô hiệu hóa bộ đệm hoạt động như thế nào đối với NFS, tôi đoán là sau khi hết thời gian chờ bộ đệm thuộc tính khi nó liên lạc với máy chủ để xác nhận lại và nếu xác nhận lại thất bại, thì nó sẽ loại bỏ tất cả các trang được lưu trong bộ nhớ cache của tệp đó.
janneb
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.