Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Các công nghệ cải thiện hiệu suất dựa trên việc sử dụng SSD và được sử dụng rộng rãi trong các hệ thống lưu trữ đã được phát minh từ lâu. Trước hết, đó là việc sử dụng SSD làm không gian lưu trữ, hiệu quả 100% nhưng đắt tiền. Do đó, công nghệ mệt mỏi và bộ nhớ đệm được sử dụng, trong đó SSD chỉ được sử dụng cho dữ liệu (“nóng”) phổ biến nhất. Việc phân cấp phù hợp với các tình huống sử dụng dữ liệu “nóng” trong thời gian dài (ngày-tuần). Ngược lại, bộ nhớ đệm được sử dụng trong thời gian ngắn (phút-giờ). Cả hai tùy chọn này đều được triển khai trong hệ thống lưu trữ QSAN XCubeSAN. Trong bài viết này, chúng ta sẽ xem xét việc thực hiện thuật toán thứ hai - Bộ nhớ đệm SSD.

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Bản chất của công nghệ bộ nhớ đệm SSD là sử dụng SSD làm bộ đệm trung gian giữa ổ cứng và RAM của bộ điều khiển. Tất nhiên, hiệu suất của SSD thấp hơn hiệu suất của bộ nhớ đệm của chính bộ điều khiển, nhưng âm lượng thì cao hơn nhiều. Do đó, chúng tôi có được sự thỏa hiệp nhất định giữa tốc độ và âm lượng.

Chỉ định sử dụng bộ đệm SSD để đọc:

  • Sự chiếm ưu thế của thao tác đọc so với thao tác ghi (thường là điển hình nhất cho cơ sở dữ liệu và ứng dụng web);
  • Sự hiện diện của nút thắt cổ chai ở dạng hiệu suất của mảng ổ cứng;
  • Lượng dữ liệu cần thiết nhỏ hơn kích thước của bộ đệm SSD.

Các chỉ dẫn sử dụng bộ đệm SSD đọc + ghi đều giống nhau, ngoại trừ bản chất của hoạt động – loại hỗn hợp (ví dụ: máy chủ tệp).

Hầu hết các nhà cung cấp bộ lưu trữ đều sử dụng bộ đệm SSD chỉ đọc trong sản phẩm của họ. Sự khác biệt cơ bản QSAN Chúng cũng cung cấp khả năng sử dụng bộ đệm để ghi. Để kích hoạt chức năng bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN, bạn phải mua giấy phép riêng (được cung cấp dưới dạng điện tử).

Bộ đệm SSD trong XCubeSAN được triển khai vật lý dưới dạng nhóm bộ đệm SSD riêng biệt. Có thể có tới bốn người trong số họ trong hệ thống. Tất nhiên, mỗi nhóm sử dụng bộ SSD riêng. Và đã có trong thuộc tính của đĩa ảo, chúng tôi xác định xem nó có sử dụng nhóm bộ đệm hay không và thuộc tính nào. Việc bật và tắt việc sử dụng bộ nhớ đệm cho các ổ đĩa có thể được thực hiện trực tuyến mà không cần dừng I/O. Bạn cũng có thể thêm ổ SSD vào nhóm và xóa chúng khỏi đó. Khi tạo bộ nhớ đệm nhóm SSD, bạn cần chọn chế độ nó sẽ hoạt động ở chế độ nào: chỉ đọc hoặc đọc + ghi. Tổ chức vật lý của nó phụ thuộc vào điều này. Vì có thể có một số nhóm bộ đệm nên chức năng của chúng có thể khác nhau (nghĩa là hệ thống có thể có cả nhóm bộ đệm đọc và đọc + ghi cùng một lúc).

Nếu sử dụng nhóm bộ đệm chỉ đọc, nó có thể bao gồm 1-8 ổ SSD. Các đĩa không nhất thiết phải có cùng dung lượng và cùng một nhà cung cấp vì chúng được kết hợp thành cấu trúc NRAID+. Tất cả các ổ SSD trong nhóm đều được chia sẻ. Hệ thống cố gắng song song hóa các yêu cầu gửi đến giữa tất cả các ổ SSD một cách độc lập để đạt được hiệu suất tối đa. Nếu một trong các ổ SSD bị lỗi, sẽ không có gì xấu xảy ra: xét cho cùng, bộ đệm chỉ chứa một bản sao dữ liệu được lưu trữ trên mảng ổ cứng. Chỉ là dung lượng bộ đệm SSD có sẵn sẽ giảm (hoặc trở thành XNUMX nếu sử dụng bộ đệm SSD gốc từ một ổ đĩa).

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Nếu bộ đệm được sử dụng cho các hoạt động đọc + ghi thì số lượng ổ SSD trong nhóm phải là bội số của 1 vì nội dung được phản ánh trên các cặp ổ đĩa (cấu trúc NRAID 1+ được sử dụng). Việc sao chép bộ đệm là cần thiết vì nó có thể chứa dữ liệu chưa được ghi vào ổ cứng. Và trong trường hợp này, lỗi SSD từ nhóm bộ đệm sẽ dẫn đến mất thông tin. Trong trường hợp NRAID XNUMX+, lỗi SSD sẽ chỉ dẫn đến việc bộ đệm được chuyển sang trạng thái chỉ đọc, với dữ liệu chưa được ghi sẽ được chuyển vào mảng ổ cứng. Sau khi thay thế ổ SSD bị lỗi, bộ đệm sẽ trở về chế độ hoạt động ban đầu. Nhân tiện, để bảo mật tốt hơn, bạn có thể chỉ định các thiết bị dự phòng nóng chuyên dụng cho bộ nhớ đệm đọc + ghi.

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Khi sử dụng chức năng bộ nhớ đệm SSD trong XCubeSAN, có một số yêu cầu về dung lượng bộ nhớ của bộ điều khiển lưu trữ: bộ nhớ hệ thống càng nhiều thì nhóm bộ đệm sẽ có sẵn càng lớn.

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Không giống như hầu hết các nhà sản xuất hệ thống lưu trữ, những người chỉ cung cấp tùy chọn bật/tắt bộ đệm SSD, QSAN cung cấp nhiều tùy chọn hơn. Đặc biệt, bạn có thể chọn chế độ vận hành bộ đệm tùy theo tính chất của tải. Có ba mẫu cài sẵn gần nhất trong hoạt động của chúng với các dịch vụ tương ứng: cơ sở dữ liệu, hệ thống tệp, dịch vụ web. Ngoài ra, quản trị viên có thể tạo hồ sơ của riêng mình bằng cách đặt các giá trị tham số bắt buộc:

  • Kích thước khối (Kích thước khối bộ đệm) - 1/2/4 MB
  • Số lượng yêu cầu đọc một khối để nó được sao chép vào bộ đệm (Ngưỡng phổ biến khi đọc) – 1..4
  • Số lượng yêu cầu ghi một khối để nó được sao chép vào bộ đệm (Ngưỡng điền khi ghi) – 0..4

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Cấu hình có thể được thay đổi nhanh chóng, nhưng tất nhiên phải có nội dung của việc đặt lại bộ nhớ đệm và quá trình "khởi động" mới của nó.

Xem xét nguyên lý hoạt động của bộ đệm SSD, chúng ta có thể nêu bật các thao tác chính khi làm việc với nó:

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Đọc dữ liệu khi nó không có trong bộ đệm

  1. Một yêu cầu từ máy chủ đến bộ điều khiển;
  2. Vì những cái được yêu cầu không có trong bộ đệm SSD nên chúng được đọc từ ổ cứng;
  3. Dữ liệu đã đọc được gửi đến máy chủ. Đồng thời tiến hành kiểm tra xem các khối này có “nóng” hay không;
  4. Nếu có, chúng sẽ được sao chép vào bộ đệm SSD để sử dụng tiếp.

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Đọc dữ liệu khi nó có trong bộ đệm

  1. Một yêu cầu từ máy chủ đến bộ điều khiển;
  2. Vì dữ liệu được yêu cầu nằm trong bộ đệm SSD nên nó sẽ được đọc từ đó;
  3. Dữ liệu đã đọc được gửi đến máy chủ.

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Ghi dữ liệu khi sử dụng bộ đệm đọc

  1. Yêu cầu ghi từ máy chủ đến bộ điều khiển;
  2. Dữ liệu được ghi vào ổ cứng;
  3. Một phản hồi cho biết việc ghi thành công sẽ được trả về máy chủ;
  4. Đồng thời, kiểm tra xem khối có “nóng” hay không (so sánh tham số Ngưỡng Populate-on-Write). Nếu có thì nó sẽ được sao chép vào bộ đệm SSD để sử dụng sau.

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Ghi dữ liệu khi sử dụng bộ đệm đọc + ghi

  1. Yêu cầu ghi từ máy chủ đến bộ điều khiển;
  2. Dữ liệu được ghi vào bộ đệm SSD;
  3. Một phản hồi cho biết việc ghi thành công sẽ được trả về máy chủ;
  4. Dữ liệu từ bộ đệm SSD được ghi vào ổ cứng ở chế độ nền;

Kiểm tra hành động

Kiểm tra đứng

2 máy chủ (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) được kết nối bằng hai cổng qua Fibre Channel 16G trực tiếp với hệ thống lưu trữ XCubeSAN XS5224D (RAM 16GB/bộ điều khiển).

Chúng tôi đã sử dụng 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, kết hợp trong RAID5 (15+1) cho mảng dữ liệu và 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s làm bộ đệm

2 tập đã được tạo: một tập cho mỗi máy chủ.

Kiểm tra 1. Bộ đệm SSD chỉ đọc từ 1-8 SSD

Bộ nhớ cache SSD

  • Loại I/O: Tùy chỉnh
  • Kích thước khối bộ đệm: 4MB
  • Ngưỡng điền khi đọc: 1
  • Ngưỡng điền khi ghi: 0

Mẫu I/O

  • Công cụ: IOmeter V1.1.0
  • Công nhân: 1
  • Nổi bật (Độ sâu hàng đợi): 128
  • Thông số truy cập: 4KB, 100% đọc, 100% ngẫu nhiên

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Về lý thuyết, càng có nhiều ổ SSD trong nhóm bộ đệm thì hiệu suất càng cao. Trong thực tế, điều này đã được xác nhận. Sự gia tăng đáng kể duy nhất về số lượng ổ SSD với số lượng ổ đĩa nhỏ không dẫn đến hiệu ứng bùng nổ.

Kiểm tra 2. SSD cache ở chế độ đọc + ghi với 2-8 ổ SSD

Bộ nhớ cache SSD

  • Loại I/O: Tùy chỉnh
  • Kích thước khối bộ đệm: 4MB
  • Ngưỡng điền khi đọc: 1
  • Ngưỡng điền khi ghi: 1

Mẫu I/O

  • Công cụ: IOmeter V1.1.0
  • Công nhân: 1
  • Nổi bật (Độ sâu hàng đợi): 128
  • Thông số truy cập: 4KB, ghi 100%, ngẫu nhiên 100%

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Kết quả tương tự: tăng trưởng và mở rộng hiệu suất bùng nổ khi số lượng ổ SSD tăng lên.

Trong cả hai thử nghiệm, lượng dữ liệu đang hoạt động đều nhỏ hơn tổng kích thước bộ nhớ đệm. Do đó, theo thời gian, tất cả các khối đã được sao chép vào bộ đệm. Và trên thực tế, công việc đã được thực hiện với SSD, thực tế không ảnh hưởng đến ổ cứng. Mục đích của các thử nghiệm này là để chứng minh rõ ràng tính hiệu quả của việc làm nóng bộ nhớ đệm và tăng hiệu suất của nó tùy thuộc vào số lượng ổ SSD.

Bây giờ chúng ta hãy quay lại trái đất và kiểm tra một tình huống thực tế hơn, khi lượng dữ liệu lớn hơn kích thước bộ đệm. Để quá trình kiểm tra có thể vượt qua trong một khoảng thời gian hợp lý (thời gian khởi động bộ nhớ đệm tăng lên đáng kể khi kích thước ổ đĩa tăng lên), chúng tôi sẽ giới hạn kích thước ổ đĩa ở mức 120GB.

Kiểm tra 3. Mô phỏng cơ sở dữ liệu

Bộ nhớ cache SSD

  • Loại I/O: Cơ sở dữ liệu
  • Kích thước khối bộ đệm: 1MB
  • Ngưỡng điền khi đọc: 2
  • Ngưỡng điền khi ghi: 1

Mẫu I/O

  • Công cụ: IOmeter V1.1.0
  • Công nhân: 1
  • Nổi bật (Độ sâu hàng đợi): 128
  • Thông số truy cập: 8KB, 67% đọc, 100% ngẫu nhiên

Triển khai bộ nhớ đệm SSD trong hệ thống lưu trữ QSAN XCubeSAN

Phán quyết

Tất nhiên, kết luận rõ ràng là hiệu quả tốt của việc sử dụng bộ đệm SSD để cải thiện hiệu suất của bất kỳ hệ thống lưu trữ nào. Áp dụng cho QSAN XCubeSAN Tuyên bố này được áp dụng đầy đủ: chức năng bộ nhớ đệm SSD được triển khai một cách hoàn hảo. Điều này liên quan đến việc hỗ trợ các chế độ đọc và đọc + ghi, cài đặt linh hoạt cho mọi tình huống sử dụng cũng như hiệu suất tổng thể của toàn bộ hệ thống. Do đó, với mức chi phí rất hợp lý (giá giấy phép tương đương với giá của 1-2 ổ SSD), bạn có thể tăng đáng kể hiệu suất tổng thể.

Nguồn: www.habr.com

Thêm một lời nhận xét