Làm cách nào để thiết lập máy chủ NFS lưu trữ chia sẻ mạng?


14

Dữ liệu người dùng được lưu trữ trên hai cụm lưu trữ OpenStack Swift khá lớn (> 1 PB). Đặt chúng là Cụm ACụm B .

Ngoài ra, có một số PoP cần tương tác với dữ liệu đó. Các máy chủ trong các PoP này không có đĩa một cách hiệu quả, có nghĩa là không có dữ liệu người dùng nào được lưu trữ trên chúng hoặc từng được tải xuống chúng. PoP có thể được nhóm lại thành các khu vực chung trên thế giới (ví dụ Bắc Mỹ , Nam Phi , Trung Âu và cộng sự).

Một số PoP nằm cách các điểm cuối Swift của bất kỳ cụm nào khá xa, giới thiệu độ trễ không mong muốn. Để giảm thiểu điều này, tôi muốn thiết lập một máy chủ cổng bộ đệm trong mỗi khu vực, nơi sẽ lưu trữ các yêu cầu r / w đến cụm gần nhất.

Hiện tại, các máy khách trong bất kỳ PoP nào truy cập dữ liệu người dùng bằng hệ thống tệp ảo nhanh được gắn vĩnh viễn , là mô-đun FUSE gắn Swift Storage Storage dưới dạng một thiết bị khối (ít nhiều). Tuy nhiên, Svfs không ổn định ở nơi đầu tiên và trong tương lai, khách hàng nên truy cập vào các máy chủ bộ đệm thông qua NFS.

Đây là sơ đồ của một nhánh của kiến ​​trúc mong muốn:

+------------------+                +------------------+    NFS   +------------------+
|    Cluster A     |     SVFS       |  Region 1 Cache  +---------->  R1 PoP a Client |
|                  +---------------->                  |          |                  |
|Persistent Storage|                |Ephemeral  Storage+----+     |Generates R/W Load|
+-----------------++                +------------------+    |     +------------------+
                  |                                         |
                  |                 +------------------+    | NFS +------------------+
                  |      SVFS       |  Region 2 Cache  |    +----->  R1 PoP b Client |
                  +----------------->                  |          |                  |
                                    |Ephemeral  Storage|          |Generates R/W Load|
                                    +------------------+          +------------------+

Tôi quen thuộc với những điều cơ bản của việc thiết lập NFS và svfs.

Câu hỏi đặt ra là : Làm cách nào tôi có thể thiết lập máy chủ bộ đệm để sử dụng tất cả các tài nguyên có sẵn (phân vùng bộ đệm được chỉ định, RAM) để lưu trữ bộ đệm một cách mạnh mẽ và càng nhiều dữ liệu càng tốt trước khi ghi vào điểm gắn kết của Svfs? Về cơ bản, nó đi xuống: Làm thế nào tôi có thể lưu trữ một thư mục trong linux?

Nếu có thể, nên đọc và ghi nên hợp nhất và kích thước khối trong các yêu cầu FUSE tối thiểu là 128k nếu có thể để tối đa hóa thông lượng và giảm thiểu độ trễ nếu bộ đệm cần ghi vào cụm.

Phụ lục 1 : Tôi đã chuyển đổi mô-đun gắn kết cụm từ svfs sang S3QL trên một số máy chủ. Bộ nhớ đệm của S3QL đã cải thiện hiệu suất một chút. Tôi sẽ cố gắng để có được một số dữ liệu hiệu suất cho đầy đủ.


bạn có thể thử bật fs-cache trên các máy khách nfs: cyberciti.biz/faq/
mẹo

Vui lòng xem tại serverfault.com/a/441443/345699 . Có thể điều này sẽ giúp trong nhiệm vụ của bạn
Steven K7FAQ

Câu trả lời:


1

Nếu các cơ chế linux vốn có (như cachefsaka cachefilesd) không hoạt động VÀ bạn có ngân sách, bạn có thể xem xét WAFS (dịch vụ tệp diện rộng). Đây là những thiết bị được thiết kế để lưu trữ dữ liệu NFS (và CIFS) tích cực, để thử và ẩn các độ trễ thường liên quan đến các liên kết WAN.


1

Tôi thực sự không có chuyên gia về lĩnh vực này (nhưng nó chắc chắn là thú vị!).

Những gì tôi đã tìm kiếm gần đây chủ yếu là dm-cache cho LVM, với SSD là phần bộ nhớ đệm của nó. Dưới đây là một văn bản ví dụ từ readhat có cái nhìn tổng quan tốt, nhưng nó không bị ràng buộc với RH: https://www.redhat.com/en/blog/improving-read-performance-dm-cache

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.