Hiệu suất RAID thực tế?


8

Tôi đã luôn nghĩ rằng những điều sau đây là một quy tắc chung cho RAID:

  • RAID 0: Hiệu suất tốt nhất để ĐỌC và VIẾT khỏi bị tước, rủi ro lớn nhất
  • RAID 1: Dự phòng, phù hợp cho ĐỌC (Tôi tin rằng nó có thể đọc từ các phần khác nhau của tệp từ các ổ cứng khác nhau), không phải là tốt nhất cho VIẾT
  • RAID 0 + 1 (01): kết hợp dự phòng RAID 1 với hiệu năng của RAID 0
  • RAID 1 + 0 (10): phiên bản RAID 0 + 1 tốt hơn một chút
  • RAID 5: hiệu năng ĐỌC tốt, hiệu suất VIẾT xấu, dự phòng

LÀ ĐÁNH GIÁ NÀY ĐÚNG? (và làm thế nào để họ so sánh với thiết lập JBOD cho hiệu suất IO của R / W)

Các thiết lập RAID thực tế nhất định có tốt hơn cho các ứng dụng khác nhau: chơi game, chỉnh sửa video, cơ sở dữ liệu (Acccess hoặc SQL) không?

Tôi đã suy nghĩ về các ổ đĩa cứng nhưng điều này cũng áp dụng cho các ổ đĩa trạng thái rắn?


Sự hiểu biết của tôi về sự dư thừa của từng lớp RAID là khá tốt, tôi chỉ không chắc về hiệu năng I / O đọc và ghi.
wag2639

Đối với JBOD, tôi biết nó không cung cấp hiệu suất hoặc dự phòng, tôi chỉ đề cập đến nó như một tài liệu tham khảo cơ bản.
wag2639

Câu trả lời:


12

Đột kích 0 . Tuyệt vời đọc và viết tốc độ. Rủi ro thất bại tăng lên khi số lượng đĩa thành viên tăng lên. Không có chẵn lẻ.

Đột kích 1 . Tốc độ đọc tuyệt vời chỉ khi trình điều khiển được triển khai đúng cách - Nếu bạn sử dụng bộ điều khiển đột kích Areca và LSI, chúng có thể cung cấp khả năng đọc gần như tương tự cho các bộ Raid 1 như bộ Raid 0 (trong vòng 10%). Lưu ý rằng đối với các giải pháp đột kích phần mềm, có hai loại, phần mềm hệ điều hành và phần mềm bo mạch chủ.

Hầu hết các loại Raid bo mạch chủ không cung cấp hiệu suất đọc Raid 1 tốt. Lần trước tôi đã kiểm tra Windows và Linux cũng không thực hiện tốt việc đọc Raid 1. BSD đã triển khai Raid 1 được triển khai chính xác, sử dụng phương pháp đọc roundrobin.

Nói tóm lại, hãy sử dụng Raid 1 để dự phòng và cho tốc độ đọc nếu bạn sử dụng các bộ điều khiển tiên tiến.

Đột kích 1/0 & Đột kích 0/1 . Đây là một điều kết hợp. Giả sử bạn có 10 đĩa. Raid 1/0 là có gương trong mỗi bộ: Bộ A (1 + 2), Bộ B (3 + 4), Bộ C (5 + 6), Bộ D (7 + 8), Bộ E (9+ 10), sau đó Thực hiện một dải được đặt trên 5 bộ (AE). Bằng cách này, mỗi bộ có thể có một lỗi ổ đĩa, nhưng nếu hai ổ đĩa bị lỗi trong cùng một bộ thì bạn đã hoàn thành.

Raid 0/1 là để có bộ dải A (1 + 2 + 3 + 4 + 5) và đặt B (6 + 7 + 8 + 9 + 10) và phản chiếu hai bộ. Theo cách này, nếu ổ 2 và ổ 9 không thành công, hầu hết các bộ điều khiển đều coi đây là lỗi hoàn toàn (trên thực tế, bạn vẫn có tất cả dữ liệu).

Có rất ít sự khác biệt về hiệu năng giữa hai loại này nhưng tôi không nghĩ bạn thường nhận được cả hai từ bộ điều khiển Raid.

Đột kích 5 . một túi rất hỗn hợp: đối với việc đọc tuần tự, nó nhanh hơn đột kích 1/0 và đối với việc đọc ngẫu nhiên thì nó hơi chậm mà. Lưu ý rằng hiệu suất của cuộc đột kích 5 phụ thuộc rất nhiều vào tốc độ của bộ điều khiển (ví dụ: bạn không thể mong đợi nhiều trong cuộc đột kích trên tàu).

Đột kích 6 . Sự dư thừa tăng so với Raid 5. hai ổ đĩa có thể bị hỏng bất cứ lúc nào và khi xây dựng lại mảng sau 1 ổ đĩa vẫn không có dự phòng (lưu ý rằng khi đột kích 5 ổ đĩa không thành công, mảng này tương tự như đột kích 0 - bất kỳ ổ đĩa nào bị hỏng = mất toàn bộ ).

JBOD . Không có lợi thế mà tôi có thể nghĩ ra.


cảm ơn .. vậy từ những gì tôi đang đọc, sử dụng bo mạch chủ chung của người tiêu dùng với mục tiêu chơi game hiệu năng, đột kích 0 là tốt nhất mà không cần một bộ điều khiển đột kích chuyên dụng riêng biệt? (Tôi không quan tâm nếu tôi phải cài đặt lại chương trình os + và dữ liệu sẽ ở nơi khác, có thể đột kích 5 mảng)
wag2639

2
bạn nói rất đúng mặc dù tôi e rằng hiệu suất sử dụng đột kích bo mạch chủ sẽ không khác lắm so với sử dụng đột kích phần mềm dựa trên hệ điều hành (mặc dù vậy, sự khác biệt là ổ đĩa hệ thống của bạn không thể bị đột kích trong cuộc đột kích phần mềm dựa trên hệ điều hành). Ngoài ra, hiệu suất raid5 trong cuộc đột kích bo mạch chủ rất thảm hại (giảm 15-20 MB / giây trong một số trường hợp!)
bubu

2

Như câu hỏi của bạn ngụ ý, thực sự không có cấu hình RAID "tốt nhất", chỉ tốt nhất cho một hoàn cảnh cụ thể, với chi phí thường là một trong những yếu tố quan trọng nhất.

Không cần đi sâu vào các chi tiết nhỏ của bộ điều khiển và phần mềm, đây sẽ là quy tắc của tôi.

RAID 0 là nhanh nhất vì bạn có thể đọc và ghi vào nhiều đĩa cùng một lúc và không có dung lượng nào bị "lãng phí" cho sự dư thừa. Mất bất kỳ ổ đĩa nào và bạn mất bộ, vì vậy RAID 0 chỉ nên được sử dụng trên máy bạn không quan tâm hoặc dễ khôi phục và không chứa dữ liệu bạn coi trọng. Một máy chơi game có thể phù hợp với kịch bản này, mặc dù thành thật mà nói, sự khác biệt về tốc độ không đáng chú ý đến mức tôi sẽ sẵn sàng chấp nhận rủi ro gia tăng khi phải xây dựng lại máy. Nó cũng có thể hữu ích cho các khu vực "cào" thực sự nhanh nếu bạn có phần mềm cần loại đó.

RAID 1 là thiết lập nhân bản rất phổ biến, thường là 2 đĩa. Việc đọc nói chung chỉ nhanh gấp đôi so với một đĩa đơn, trong khi việc ghi chỉ chậm hơn một chút so với một đĩa đơn. Trên các máy chủ, RAID 1 là một lựa chọn tuyệt vời cho các tệp hệ điều hành của bạn. Nó cũng là một lựa chọn tốt khi bạn cần dự phòng, nhu cầu lưu trữ của bạn không lớn đến mức yêu cầu RAID 5 và bạn có thể được hưởng lợi từ tốc độ đọc thêm (tệp nhật ký cơ sở dữ liệu thường được đặt trên RAID 1).

RAID 2 đến 4 (không có trong câu hỏi) thường không được sử dụng trừ các sản phẩm của nhà cung cấp nhất định về phía doanh nghiệp.

RAID 5 là một sự thỏa hiệp giữa việc không lãng phí quá nhiều dung lượng cho sự dư thừa và vẫn có được hiệu năng bổ sung của các đĩa phụ. Tốc độ đọc rất tốt vì tất cả các đĩa có thể tham gia. Tốc độ ghi đôi khi có thể là một vấn đề với RAID 5, mặc dù tôi nghĩ rằng điều này đôi khi được cường điệu hóa tùy thuộc vào tình huống. Ngay cả với phần cứng thực hiện tính toán chẵn lẻ, ghi ngẫu nhiên nhỏ phải chịu trên RAID 5 vì mỗi thao tác ghi logic cần 4 I / O (đọc từ đĩa dữ liệu, đọc từ đĩa chẵn lẻ, ghi đĩa dữ liệu, ghi đĩa chẵn lẻ). Chọn RAID 5 khi bạn muốn tối đa hóa dung lượng lưu trữ bạn nhận được từ bộ đĩa trong khi vẫn có mức độ an toàn tốt. Tránh khi ứng dụng của bạn có nhu cầu hiệu năng cao và yêu cầu ghi rất nhiều ngẫu nhiên nhỏ (đĩa cứng máy ảo, tệp dữ liệu cơ sở dữ liệu). Ngoài ra, hãy lưu ý rằng các ổ đĩa lớn hiện đại cần một thời gian để xây dựng lại khi chúng bị lỗi như là một phần của bộ RAID 5 và điều đó khiến dữ liệu của bạn có nguy cơ bị lỗi đĩa thứ hai lâu hơn. RAID 6 có thể giảm rủi ro này với chi phí hiệu năng ghi ngẫu nhiên kém hơn.

RAID 1/0 và 0/1 có khá nhiều đặc điểm hiệu năng giống nhau. Tuy nhiên, 1/0 là tốt hơn bởi vì thất bại có nghĩa là chỉ xây dựng lại cặp đĩa liên quan chứ không phải toàn bộ dải đĩa. RAID 1/0 là cấu hình mục đích chung nhanh nhất trong số những cái được đề cập trong câu hỏi. Hiệu suất đọc và ghi đều tuyệt vời (về cơ bản có thể xảy ra từ tất cả các đĩa, việc ghi phải xảy ra với nhiều đĩa nhưng không cần chu trình đọc / đọc / ghi / ghi như RAID 5) mặc dù RAID 5 có thể giành chiến thắng trong một số trường hợp nhất định. RAID 1/0 là (không ngạc nhiên) cũng đắt nhất trong hầu hết các trường hợp. Nó chỉ nên được sử dụng khi hiệu suất rất quan trọng, dữ liệu có giá trị cao và ứng dụng không có dung sai cho thời gian ngừng hoạt động. Thông thường các máy chủ cơ sở dữ liệu (hoặc ít nhất là các tệp dữ liệu của họ) tạo ra các ứng cử viên tốt cho RAID 1/0.

Ổ đĩa thể rắn thực sự có thể được đưa vào cấu hình RAID, đặc biệt là giá trị dự phòng của nó. Mặc dù vậy, nhiều ổ SSD có thể vượt trội hơn so với bus (SATA) mà chúng được gắn vào, đặc biệt là đối với các hoạt động đọc, do đó hiệu quả hoạt động của RAID kém hấp dẫn hơn với SSD.


0

Nếu bạn mua bộ điều khiển đột kích phần cứng, hãy đi với RAID5. Nó có ít chi phí hoạt động nhất và bộ điều khiển đột kích phần cứng sẽ gần như loại bỏ hình phạt ghi trên đầu vì nó tính toán các bit chẵn lẻ trong phần cứng. Raid5 cũng đọc được nhiều đĩa đồng thời cải thiện tốc độ đọc và ghi.

Vâng, điều này cũng áp dụng cho các ổ đĩa trạng thái rắn là tốt. Một thử nghiệm về SSD trong Raid0 cho thấy tốc độ tăng gần như tuyến tính.

Raid5 cho đến nay là công nghệ được sử dụng nhiều nhất trong thế giới máy chủ, nhưng đối với chỉ một máy tính xách tay chỉ có 2 ổ cứng, tôi đề nghị raid1 nhân đôi.

JBOD không có dự phòng trong trường hợp ổ cứng bị lỗi nhưng tùy thuộc vào cài đặt có thể sọc dữ liệu để tăng hiệu suất như đột kích.


1
JBOD không thể sọc thường vì nó được thiết kế để sử dụng với các đĩa có kích thước khác nhau - nếu bạn có cùng kích thước, bạn nên sử dụng RAID 1 hoặc RAID 0 thay thế.
Darth Android
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.