Tại sao RAID 1 + 6 không phải là cách bố trí phổ biến hơn?


17

Tại sao các cấp RAID lồng nhau 1 + 5 hoặc 1 + 6 gần như không nghe thấy? Các mức lồng nhau RAID bài viết Wikipedia hiện đang thiếu phần của họ. Tôi không hiểu tại sao chúng không phổ biến hơn RAID 1 + 0, đặc biệt khi so sánh với phản chiếu ba lần RAID 1 + 0.

Rõ ràng là thời gian xây dựng lại đang ngày càng trở nên có vấn đề vì công suất ổ đĩa đang tăng nhanh hơn hiệu suất hoặc độ tin cậy của chúng. Tôi đã nói rằng RAID 1 xây dựng lại nhanh hơn và một mảng RAID 0 của cặp RAID 1 sẽ tránh được vấn đề, nhưng chắc chắn là một cặp RAID 5 hoặc 6 cặp RAID 1. Ít nhất tôi mong đợi chúng là một giải pháp thay thế chung cho RAID 1 + 0.

Đối với các ổ đĩa 16 trên 1TB, đây là các tính toán của tôi về xác suất ngây thơ của việc sử dụng sao lưu, tức là với giả định đơn giản hóa rằng các ổ đĩa này độc lập với xác suất chẵn:

RAID | storage | cumulative probabilities of resorting to backup /m
 1+0 |     8TB | 0, 67, 200, 385, 590, 776, 910, 980, 1000, 1000, 1000
 1+5 |     7TB | 0,  0,   0,  15,  77, 217, 441, 702,  910, 1000, 1000
 1+6 |     6TB | 0,  0,   0,   0,   0,   7,  49, 179,  441,  776, 1000
(m = 0.001, i.e. milli.)

Nếu điều này là chính xác thì rõ ràng RAID 1 + 6 đáng tin cậy hơn so với RAID 1 + 0 chỉ giảm 25% dung lượng lưu trữ. Như trường hợp nói chung, thông lượng ghi lý thuyết (không tính thời gian tìm kiếm) là dung lượng lưu trữ / kích thước mảng × số lượng ổ đĩa × thông lượng ghi của ổ đĩa chậm nhất trong mảng (cấp độ RAID có độ dự phòng cao hơn có khả năng khuếch đại ghi cao hơn cho ghi không điền vào một dải nhưng điều này phụ thuộc vào kích thước khối) và thông lượng đọc lý thuyết là tổng thông lượng đọc của các ổ đĩa trong mảng (ngoại trừ RAID 0, RAID 5 và RAID 6 vẫn có thể bị giới hạn về mặt lý thuyết bởi lưu lượng chậm nhất, chậm thứ 2 và chậm nhất thứ 3 đọc thông lượng tương ứng). Tức là, giả sử các ổ đĩa giống hệt nhau, tương ứng là 8 ×, 7 ×,

Bên cạnh đó, hãy xem xét một RAID 0 tăng gấp bốn lần của RAID 1 gấp ba, tức là RAID 1 + 0 triple mirroring của 12 ổ đĩa, và gấp sáu lần RAID 6 RAID 1 cặp, tức là RAID 1 + 6 của 12 ổ đĩa. Một lần nữa, đây là các ổ đĩa 1TB giống hệt nhau. Cả hai bố cục đều có cùng số lượng ổ đĩa (12), cùng dung lượng lưu trữ (4TB), cùng tỷ lệ dự phòng (2/3), cùng thông lượng ghi tối đa (4 ×) và cùng thông lượng đọc tối đa ( 12 ×). Dưới đây là tính toán của tôi (cho đến nay):

RAID      | cumulative probabilities of resorting to backup /m
1+0 (4×3) | 0, 0, 18,  ?,   ?,   ?,   ?,   ?, 1000
1+6 (6×2) | 0, 0,  0,  0,   0,  22, 152, 515, 1000

Đúng, điều này có thể trông giống như quá mức cần thiết, nhưng khi sử dụng phản chiếu ba lần để tách bản sao để sao lưu, RAID 1 + 6 cũng có thể được sử dụng, chỉ bằng cách đóng băng và loại bỏ 1 trong mỗi ổ của tất cả trừ 2 ổ RAID 1 cặp và trong khi làm như vậy, nó vẫn có độ tin cậy tốt hơn nhiều khi bị suy giảm so với mảng RAID 1 + 0 bị suy giảm. Dưới đây là tính toán của tôi cho 12 ổ đĩa xuống cấp 4 theo cách này:

RAID      | cumulative probabilities of resorting to backup /m
1+0 (4×3) | (0, 0, 0, 0), 0, 143, 429, 771, 1000
1+6 (6×2) | (0, 0, 0, 0), 0,   0,  71, 414, 1000

Tuy nhiên, thông lượng đọc có thể bị giảm xuống còn 6 × trong thời gian này đối với RAID 1 + 6, trong khi RAID 1 + 0 chỉ giảm xuống còn 8 ×. Tuy nhiên, nếu một ổ đĩa bị lỗi trong khi mảng ở trạng thái xuống cấp này, mảng RAID 1 + 6 sẽ có cơ hội duy trì ở mức khoảng 50 × 50 hoặc bị giới hạn ở mức 5 ×, trong khi đó mảng RAID 1 + 0 sẽ được giới hạn xuống một nút cổ chai 4 × . Thông lượng ghi nên không bị ảnh hưởng (thậm chí có thể tăng nếu các ổ đĩa được sao lưu là ổ đĩa chậm nhất hạn chế).

Trên thực tế, cả hai có thể được coi là 'phản chiếu ba lần' vì mảng RAID 1 + 6 bị suy giảm có khả năng tách ra một nhóm RAID 6 gồm 4 ổ đĩa. Nói cách khác, bố cục RAID 1 + 6 12 ổ đĩa này có thể được chia thành 3 mảng RAID 6 bị suy giảm (nhưng có chức năng)!

Vì vậy, có phải hầu hết mọi người đã không đi sâu vào toán học một cách chi tiết? Chúng ta sẽ thấy nhiều RAID 1 + 6 hơn trong tương lai chứ?


2
Mặc dù calc của bạn dường như không tính đến sự khuếch đại ghi để tạo ra sự tương đương.
JamesRyan

1
@JamesRyan: Vâng, tôi thực sự đã cân nhắc rằng sự tương đương cần viết. Đó là những gì dung lượng lưu trữ / kích thước mảng của dữ liệu dành cho - - đối ứng của điều này là hệ số khuếch đại ghi, không bao gồm khuếch đại ghi thêm liên quan đến các ổ đĩa trạng thái rắn. Lưu ý rằng điều này bao gồm cả khuếch đại ghi của dự phòng RAID 1. Về cơ bản, hệ số khuếch đại ghi bằng với nghịch đảo của 1 trừ đi tỷ lệ dự phòng. Vì vậy, dự phòng 50% cho hệ số khuếch đại ghi là 2; Dự phòng 62,5% (10/16) cho hệ số khuếch đại ghi là ~ 2,67 (16/6).
James Haigh

1
không, điều đó không đúng Mỗi lần ghi RAID6 cần 6 IO và mỗi lần ghi RAID1 cần 2 IO, đây là các phép nhân. Vì vậy, trong RAID 1 + 6, mỗi lần ghi sẽ mất 12 IO, đối với RAID 10 là 2 IO. Ghi thông lượng trên 12 ổ đĩa sẽ là 1x cho RAID1 + 6 và 6x cho RAID10!
JamesRyan

@JamesRyan: Ồ, tôi thấy bạn đang đi đâu bây giờ - đối với ghi ít hơn một dải đầy đủ, hệ số khuếch đại ghi có thể tăng gấp đôi cho RAID 1 + 6 do đó giảm một nửa thông lượng ghi tối đa. Đối với một dải đầy đủ, có 12 ghi trong ví dụ 6 × 2, nhưng bạn quên rằng đây là dữ liệu dành cho 4 khối dữ liệu. Đối với các khối tương ứng 4, 3, 2, 1, các hệ số khuếch đại ghi là (6 × 2) / 4 = 3, (5 × 2) / 3 = ~ 3,33, (4 × 2) / 2 = 4, ( 3 × 2) / 1 = 6, cho thông lượng ghi tối đa là 4 ×, 3,6 ×, 3 ×, 2 ×. Đối với RAID 1 + 0 4 × 3, nó (4 × 3) / 4, (3 × 3) / 3, (2 × 3) / 2, (1 × 3) / 1 cho hằng số 4 ×. Tiết
James Haigh

2
Bạn đã tuyên bố dựa trên tính toán của mình rằng RAID1 + 6 có cùng thông lượng ghi như RAID10 với bộ ba. Trong thực tế, RAID1 + 6 thậm chí không từ xa thông lượng ghi của RAID10 nên các tính toán của bạn hoặc các giả định mà chúng dựa trên đều sai . Tôi đã cố gắng giúp bạn hiểu lý do tại sao, nếu bạn từ chối lắng nghe thì chúng tôi có thể lãng phí thời gian của chúng tôi nhưng chính bạn là người đang lãng phí nó.
JamesRyan

Câu trả lời:


17

Nói chung, tôi muốn nói RAID 1 + 0 sẽ có xu hướng được sử dụng rộng rãi hơn 1 + 5 hoặc 1 + 6 vì RAID 1 + 0 đủ tin cậy và cung cấp hiệu năng tốt hơn một chút và lưu trữ có thể sử dụng nhiều hơn.

Tôi nghĩ rằng hầu hết mọi người sẽ coi sự thất bại của một cặp RAID 1 đầy đủ trong nhóm RAID 1 + 0 là một sự kiện cực kỳ hiếm gặp, đáng để phá vỡ các bản sao lưu cho - và có lẽ không quá nhiệt tình về việc nhận dưới 50% vật lý của họ đĩa như không gian có thể sử dụng.

Nếu bạn cần độ tin cậy tốt hơn RAID 1 + 0, thì hãy dùng nó! ..nhưng hầu hết mọi người có lẽ không cần điều đó.


1
Vấn đề mà tôi gặp phải với RAID 1 + 0 là nó có tỷ lệ tin cậy đối với việc lưu trữ. Nếu RAID 6 có thể mở rộng tùy ý cho bất kỳ số lượng chẵn lẻ nào (dưới n - 1) thì với cùng một ổ đĩa, bạn có thể đạt được cả dung lượng lưu trữ tăng độ tin cậy tốt hơn RAID 1 + 0. Đối với ví dụ trên, nếu có thể có RAID 6 với 4 chẵn lẻ, bạn sẽ có dung lượng lưu trữ lớn hơn 50% và lưu lượng ghi tối đa so với RAID 1 + 0 nhưng có độ tin cậy cao hơn đặc biệt. RAID 6 với 3 hoặc 4 chẵn lẻ sẽ có sự đánh đổi lưu trữ đáng tin cậy.
James Haigh

4
@JamesHaigh RAID 6 vs RAID 1 + 0 là một cuộc thảo luận khác nhiều so với RAID 1 + 6 so với RAID 1 + 0, bạn đã thay đổi chủ đề. ZFS raidz3 có vẻ như nó sẽ lên hẻm của bạn? Dù sao, theo quan điểm của bạn, có một số lợi thế về hiệu năng mà RAID 1 + 0 duy trì so với RAID 6, chẳng hạn như ghi một khối nhỏ cần chạm vào số lượng ổ đĩa nhỏ hơn nhiều (và quay lại raidz3, ZFS xử lý thông minh này bằng cách viết nhiều bản sao đầy đủ thay vì ghi vào tất cả các đĩa để ghi nhỏ)
Shane Madden

Xin lỗi, vâng, tôi nghĩ rằng đây thực sự là những gì tôi đang theo đuổi. Kể từ lần bình luận cuối cùng đó, tôi đã viết một câu hỏi mới cụ thể về RAID với 3 điểm tương đương trở lên . Điều đó sẽ tốt hơn RAID 1 + 6 tôi nghĩ. Nó cũng sẽ linh hoạt và đơn giản hơn để có được sự đánh đổi mong muốn. Bạn có thể muốn tiếp tục điều này trên câu hỏi đó.
James Haigh

3
RAID 6 không thể được mở rộng tuyến tính, vì nó không hoạt động theo cách đó. Việc tính toán hội chứng cho sự tương đương thứ hai sẽ không quy mô tầm thường cho bên thứ ba. Nhưng bạn hoàn toàn có thể dễ dàng thực hiện các nhóm RAID 6 nhỏ hơn - không có lý do thực sự nào bạn cần thực hiện 14 + 2, và thay vào đó có thể thực hiện 2 + 2 hoặc 4 + 2 và đạt được độ tin cậy cao.
Sobrique 11/03/2015

1
@JamesHaigh Điều bạn dường như muốn là một cuộc đột kích 12 chiều. Dựa trên logic đi vào tính toán chẵn lẻ, điều đó sẽ loại bỏ các bộ xử lý vĩnh viễn ngay cả với dữ liệu tầm thường. Đơn lẻ về cơ bản là XOR (dễ dàng). Tính chẵn lẻ kép là một cái gì đó để làm với hình vuông (không khó, nhưng không dễ). Ba chẵn lẻ là khối lập phương hoặc tương tự (cứng). Các yêu cầu tương đương 4, 5, 6, 7 hoặc 8 thậm chí còn lớn hơn (theo thang số mũ) (có thể cần máy tính lượng tử để theo kịp). Chỉ cần nhớ rằng khi hình dạng phát triển, có IOERO tăng trong IOPS. Đối với truyền thông, ai quan tâm? Đối với máy ảo, nó sẽ giết chết.
killermist 17/03/2015

16

Câu trả lời thực tế nằm ở đâu đó tại điểm giao giữa các thông số kỹ thuật của bộ điều khiển RAID phần cứng, kích thước đĩa trung bình, các yếu tố hình thức ổ đĩa và thiết kế máy chủ.

Hầu hết các bộ điều khiển RAID phần cứng bị giới hạn ở cấp độ RAID mà chúng hỗ trợ. Dưới đây là các tùy chọn RAID cho bộ điều khiển mảng thông minh HP ProLiant:

[raid=0|1|1adm|1+0|1+0adm|5|50|6|60]

lưu ý: "adm" chỉ là phản chiếu ba lần

Hỗ trợ bộ điều khiển RAID LSI: 0, 1, 5, 6, 10, 50, and 60

Vì vậy, các bộ điều khiển này chỉ có khả năng RAID 50 và 60 ở mức lồng nhau. LSI ( nhũ danh Dell PERC ) và HP chiếm phần lớn thị trường bộ điều hợp lưu trữ máy chủ doanh nghiệp. Đó là lý do chính khiến bạn không thấy thứ gì đó như RAID 1 + 6 hoặc RAID 61 trong lĩnh vực này.

Ngoài sự cân nhắc đó, các cấp RAID lồng nhau ngoài RAID 10 yêu cầu số lượng đĩa tương đối lớn. Do dung lượng ổ đĩa ngày càng tăng hiện nay (với các ổ đĩa SAS và SATA 3,5 "gần như), cùng với thực tế là nhiều khung máy chủ được thiết kế xung quanh các lồng ổ đĩa 8 x 2,5", không có nhiều cơ hội để cấu hình vật lý RAID 1+ 6 hoặc RAID 61.

Các lĩnh vực mà bạn có thể thấy một cái gì đó như RAID 1 + 6 sẽ là các giải pháp RAID phần mềm khung lớn. Linux MD RAID hoặc ZFS chắc chắn có khả năng của nó. Nhưng vào thời điểm đó, lỗi ổ đĩa có thể được giảm thiểu bằng các đĩa dự phòng nóng hoặc lạnh. Độ tin cậy của RAID ngày nay không phải là vấn đề lớn, miễn là bạn tránh được các kết hợp phần cứng và cấp độ RAID độc hại (ví dụ: đĩa RAID 5 và 6TB). Ngoài ra, hiệu suất đọc và ghi sẽ được trừu tượng hóa bằng các lớp phân lớp và bộ đệm. Khối lượng công việc lưu trữ trung bình thường được hưởng lợi từ cái này hay cái khác.

Vì vậy, cuối cùng, dường như nhu cầu / nhu cầu không có ở đó.


1
Có một nhu cầu ở dạng sao chép mảng. Tôi biết một số trang web thực hiện DR đa trang web, thực tế nói RAID 10 hoặc 5 hoặc 6 được sao chép sang một trang web từ xa (RAID 10 hoặc 5 hoặc 6). Trong một phần không nhỏ - ngoài một mức độ tin cậy đĩa nhất định, bộ xử lý, bộ điều khiển, mạng, nguồn, aircon, trung tâm dữ liệu bắt lửa là mối đe dọa lớn hơn đối với độ tin cậy của bạn.
Sobrique 11/03/2015

1
Tôi không nghĩ OP thậm chí đã cân nhắc việc nhân rộng hoặc sử dụng nhiều trang web.
ewwhite 11/03/2015

1
Không, có lẽ là không. Như bạn nói - không có nhu cầu vì nó quá mức cần thiết. Đó là trường hợp sử dụng duy nhất tôi có thể nghĩ về nơi nó không quá mức cần thiết :)
Sobrique 11/03/2015

Tôi (một thời gian ngắn) đã cấu hình một cái gì đó giống như một cuộc đột kích 6 + 1- một syncmirror cục bộ của Netapp sẽ tạo ra một bản sao giống hệt của chính nó và ghép kênh đọc trên cả hai plex, trong khi phản chiếu ghi. Nó chủ yếu được sử dụng để di chuyển Netapp V-Series sang LUN phụ trợ mới, tuy nhiên nếu tôi muốn tăng gấp đôi độ tin cậy của mình, tôi có thể làm điều đó với điều này.
Basil

12
  • Bạn có lợi nhuận giảm dần về độ tin cậy. RAID 6 không có khả năng kết hợp thất bại ngay cả trên các ổ đĩa SATA khó chịu với tỷ lệ 1 trên 10 ^ 14 UBER. Trên các ổ đĩa FC / SAS, UBER của bạn là 1 trên 10 ^ 16 và bạn cũng nhận được hiệu suất cao hơn đáng kể.

  • Độ tin cậy của nhóm RAID không bảo vệ bạn khỏi việc xóa ngẫu nhiên. (vì vậy dù sao bạn cũng cần sao lưu)

  • vượt quá mức RAID nhất định, tỷ lệ thất bại của bạn trên các đĩa trở nên thấp hơn so với lỗi tổng hợp của cơ sở hạ tầng hỗ trợ (nguồn, mạng, rò rỉ aircon, v.v.)

  • Viết phạt. Mỗi lần ghi vào RAID 61 của bạn sẽ kích hoạt 12 hoạt động IO (được thực hiện một cách ngây thơ). RAID 6 đã rất khó khăn trong các tình huống 'cấp thấp' về mặt IOP trên mỗi lần ghi ngẫu nhiên TB. (và ở tầng cao hơn, tỷ lệ thất bại của bạn tốt hơn 100 lần)

  • đó không phải là "giảm 25%", đó là giảm thêm 25%. 16TB của bạn đang biến thành 6TB. Vì vậy, bạn đang nhận được 37,5% lưu trữ có thể sử dụng. Bạn cần gấp 3 lần số lượng đĩa trên mỗi dung lượng và gấp 3 lần dung lượng trung tâm dữ liệu. Bạn có thể sẽ có được độ tin cậy cao hơn bằng cách tạo ra các bộ RAID6 nhỏ hơn. Tôi chưa hoàn thành việc bẻ khóa số, nhưng hãy thử - ví dụ: tổng số RAID 6 trong bộ 3x 3 + 2 (15 ổ đĩa, ít chi phí lưu trữ hơn so với RAID10 của bạn). Hoặc làm gương 3 chiều thay thế.

Phải nói rằng - nó phổ biến hơn bạn nghĩ để làm điều đó cho DR đa trang web. Tôi chạy các mảng lưu trữ được nhân rộng trong đó tôi đã có các nhóm RAID RAID / 6 / DP không đồng bộ hoặc đồng bộ với một trang web DR. (Đừng đồng bộ hóa nếu bạn có thể tránh nó - nó có vẻ tốt, nó thực sự khủng khiếp).

Với NetApps của tôi, đó là một metrocluster với một số tập hợp nhân đôi. Với VMAX của chúng tôi, chúng tôi Symmetrix Remote Data Base (SRDF). Và 3PAR của tôi làm bản sao từ xa.

Nó đắt tiền, nhưng cung cấp 'mức trung tâm dữ liệu bắt lửa' của DR.

Về ba gương - Tôi đã sử dụng chúng, nhưng không phải là các biện pháp phục hồi RAID trực tiếp, mà là nhân bản đầy đủ như một phần của chiến lược sao lưu. Đồng bộ hóa gương thứ ba, tách nó, gắn nó trên một máy chủ riêng biệt và sao lưu bằng cách sử dụng cơ sở hạ tầng hoàn toàn khác nhau. Và đôi khi xoay gương thứ ba như một tùy chọn phục hồi.

Điểm tôi đang cố gắng thực hiện là theo kinh nghiệm trực tiếp của tôi với tư cách là quản trị viên lưu trữ - trong khoảng ~ 40.000 tài sản trục chính (vâng, chúng tôi thay thế hàng chục ổ đĩa mỗi ngày) - chúng tôi đã phải sao lưu nhiều loại lý do trong 5 năm qua, nhưng không ai trong số họ bị lỗi nhóm RAID. Chúng tôi tranh luận về giá trị tương đối và thời gian phục hồi, điểm khôi phục và cửa sổ ngừng hoạt động có thể chấp nhận được. Và củng cố tất cả những điều này là LUÔN LUÔN chi phí cho khả năng phục hồi thêm.

Mảng của chúng tôi tất cả các phương tiện truyền thông chà và dự đoán lỗi, và tích cực phụ tùng và kiểm tra ổ đĩa.

Ngay cả khi có một triển khai RAID phù hợp, lợi ích chi phí vẫn không có. Tiền chi cho không gian lưu trữ sẽ được đầu tư tốt hơn vào thời gian lưu giữ lâu hơn hoặc chu kỳ sao lưu thường xuyên hơn. Hoặc comms nhanh hơn. Hoặc nói chung là các trục chính nhanh hơn, bởi vì ngay cả với số lượng khả năng phục hồi giống hệt nhau, việc xây dựng lại các phụ tùng nhanh hơn sẽ cải thiện xác suất thất bại gộp của bạn.

Vì vậy, tôi nghĩ rằng tôi sẽ cung cấp câu trả lời cho câu hỏi của bạn:

Bạn không thấy RAID 1 + 6 và 1 + 5 rất thường xuyên, vì lợi ích chi phí đơn giản là không chồng chất lên nhau. Đưa ra một số tiền hữu hạn và được yêu cầu thực hiện giải pháp sao lưu ngay từ đầu, tất cả những gì bạn đang làm là chi tiền để giảm tần suất ngừng hoạt động. Có nhiều cách tốt hơn để tiêu số tiền đó.


Độ tin cậy của nhóm RAID RAID không bảo vệ bạn khỏi việc xóa ngẫu nhiên. (vì vậy dù sao bạn cũng cần sao lưu), tôi không ngụ ý rằng điều này làm cho việc sao lưu không cần thiết (tôi biết rõ rằng RAID không phải là bản sao lưu ). Tôi thực sự ngụ ý điều ngược lại bằng cách nói xác suất tích lũy của Cướp biển dự phòng - Tôi đang coi đó là việc sao lưu là thông lệ tiêu chuẩn. Tôi đồng ý với điểm này, tuy nhiên, nó được trình bày là phản bác lý do của tôi về RAID 1 + 6, điều này không có ý nghĩa gì.
James Haigh

RAID RAID 61 Ethernet - RAID 6 + 1 sẽ là mảng RAID 1 của mảng RAID 6. Đó là một lồng ngược, và tôi nghĩ rằng nó sẽ có độ tin cậy thấp hơn nhiều. Tức là, điều gì xảy ra nếu 3 ổ đĩa bị lỗi trong cùng một mảng RAID 6 lồng nhau? Không phải toàn bộ mảng RAID 6 lồng nhau cần phải xây dựng lại sao? Các ổ đĩa tương tự được lồng vào nhau như RAID 1 + 6 sẽ duy trì các lỗi 3 ổ đĩa tương tự mà không cần ngoại tuyến bất kỳ ổ đĩa làm việc nào.
James Haigh

Lỗi vượt quá mức RAID nhất định, tỷ lệ thất bại của bạn trên các đĩa trở nên thấp hơn so với lỗi tổng hợp của cơ sở hạ tầng hỗ trợ (nguồn, mạng, rò rỉ aircon, v.v.) Đây là mức giảm thêm 25% nữa - Đúng và đúng, đó là cách bố trí lồng nhau quá mức. Nhưng tại sao một người Trái đất lại sử dụng một mảng RAID 0 của bộ ba RAID 1? Cảm ơn đã nhắc nhở tôi về phản chiếu ba lần RAID 1 + 0! Tôi chưa thực hiện được con số giòn giã; Thay vào đó, hay sử dụng gương 3 chiều. Thay vào đó, bạn thực sự nên thực hiện một số tính toán trước khi đưa ra một trường hợp hỗ trợ như một ví dụ. Những tính toán này nên được khám phá trên sàn
James Haigh

1
Kinh nghiệm trực tiếp của tôi là thế này - tôi có 40.000 cọc sợi trong khu đất của mình, với nhiều cấu hình khác nhau. Chúng tôi đã không có một thất bại nhóm đột kích trong 5 năm qua. Tôi đã sử dụng ba gương, nhưng không phải vì khả năng phục hồi - chúng là để tạo bản sao vì lý do dự phòng. Tôi đã sử dụng các bản sao đa trang web vì lý do DR - mà tôi đã sử dụng - nhưng không có bản nào trong số này là cần thiết cho các lỗi của RG.
Sobrique

1
Bạn đang hiểu nhầm viết phạt là gì. Đó là đối với một ghi đè đơn lẻ, bạn phải đọc từ hai thiết bị chẵn lẻ, tính toán chẵn lẻ, viết lại cho bạn hai thiết bị chẵn lẻ và khối mục tiêu của bạn. Do đó, 6 IO mỗi 'viết'. Đây không phải là một phần mềm hoặc giới hạn thực hiện. Bạn giảm nhẹ một phần với bộ nhớ đệm ghi tốt, nhưng chỉ một phần.
Sobrique

3

Các hệ thống hiện đại và tiên tiến không triển khai các hình dạng như vậy bởi vì chúng quá phức tạp, hoàn toàn không cần thiết và trái với bất kỳ hiệu quả nào.

Như những người khác đã chỉ ra, tỷ lệ không gian thô với không gian có thể sử dụng về cơ bản là 3: 1. Đó thực chất là ba bản (hai bản dự phòng). Do chi phí tính toán của "raid6" (gấp đôi, nếu được nhân đôi) và dẫn đến mất IOPS, điều này rất không hiệu quả. Trong ZFS, được thiết kế và điều chỉnh rất tốt, giải pháp tương đương, thông minh về năng lực sẽ là tạo ra một dải gương 3 chiều.

Ví dụ, thay vì gương có hình dạng raid6 / raidz2 6 chiều (tổng cộng 12 ổ), sẽ rất không hiệu quả (cũng không phải là thứ ZFS có bất kỳ cơ chế nào để thực hiện), bạn sẽ có gương 3 chiều 3 chiều (cũng là 12 ổ đĩa). Và thay vì 1 ổ IOPS, bạn sẽ có 4 ổ IOPS. Đặc biệt với máy ảo, đó là một sự khác biệt lớn. Tổng băng thông cho hai hình có thể rất giống nhau trong các lần đọc / ghi tuần tự, nhưng dải gương 3 chiều chắc chắn sẽ phản ứng nhanh hơn với đọc / ghi ngẫu nhiên.

Tóm lại: raid1 + 6 nói chung là không thực tế, không hiệu quả và không có gì ngạc nhiên khi không có bất cứ ai nghiêm túc về lưu trữ sẽ xem xét phát triển.

Để làm rõ sự chênh lệch IOPS: Với một gương có hình dạng raid6 / raidz2, với mỗi lần ghi, tất cả 12 ổ đĩa phải hoạt động như một. Không có khả năng cho tổng hình dạng phân chia hoạt động thành nhiều hành động mà nhiều hình dạng có thể thực hiện độc lập. Với một dải gương 3 chiều, mỗi lần viết có thể là điều mà chỉ một trong 4 gương phải xử lý, do đó, một lần viết khác không cần phải chờ toàn bộ hình dạng omnibus để xử lý trước khi xem xét các hành động tiếp theo .


2

Vì không ai nói điều đó đủ trực tiếp: hiệu suất ghi của Raid6 không tệ hơn một chút. Thật là khủng khiếp ngoài mô tả nếu đặt dưới tải.

Viết tuần tự là OK và miễn là bộ nhớ đệm, viết hợp nhất, vv có thể che đậy nó, nó có vẻ ổn. Dưới tải trọng cao, mọi thứ có vẻ tệ và đây là lý do chính cho thiết lập 1 + 5/6 gần như không bao giờ được sử dụng.


Tôi đồng ý, nhưng đó chủ yếu là vì những gì bạn nói chỉ là một phiên bản siêu tóm tắt của những gì tôi nói. Và tất nhiên tôi đồng ý với chính mình.
killermist 15/03/2015

1

Tìm kiếm lần

Vấn đề là, khuếch đại ghi tìm hành vi rất khác với khuếch đại thông lượng ghi . Sự khuếch đại thông lượng ghi tối thiểu với tính chẵn lẻ xảy ra khi toàn bộ một dải được viết cùng một lúc (hãy gọi tính từ này là 'toàn dải') nhưng ngược lại, sự khuếch đại tìm kiếm ghi tối thiểu xảy ra, ngược lại, khi toàn bộ ghi sau khi tìm kiếm trong thiết bị ảo khớp với một đoạn duy nhất. Trước khi đi vào chi tiết, các mối quan hệ dễ dàng hơn nhiều để truyền đạt dưới dạng bảng:

RAID | write throughput amplification factor | write seek amplification factor
     | full-stripe (e.g.) | single-chunk     | full-stripe  | single-chunk
   0 | 1           ;  1   | 1           ;  1 | n       ; 12 | 1           ;  1
   1 | n           ; 12   | n           ; 12 | n       ; 12 | n           ; 12
   5 | n/(n - 1)   ; ~1.1 | min [3, n]  ;  3 | n       ; 12 | min [3, n]  ;  3
   6 | n/(n - 2)   ;  1.2 | min [5, n]  ;  5 | n       ; 12 | min [5, n]  ;  5
*1+0 | n₁          ;  3   | n₁          ;  3 | n       ; 12 | n₁          ;  3*
 1+5 | n/(n₅ - 1)  ;  2.4 | expr₁       ;  5 | n       ; 12 | expr₁       ;  5
*1+6 | n/(n₆ - 2)  ;  3   | expr₂       ;  8 | n       ; 12 | expr₂       ;  8*
expr₁ = 2n₁ + min [1, n₅ - 2]
expr₂ = 3n₁ + min [2, n₆ - 3]

Trong đó n là tổng số ổ đĩa, n₁ là số lượng ổ đĩa trong các nhóm RAID 1 và n₅ và n₆ là số lượng nhóm trong mảng RAID 5 hoặc RAID 6 tương ứng. Các ví dụ liên quan đến ví dụ 12 ổ đĩa trong câu hỏi (các hàng có liên quan là ' *bolded*'); ví dụ cho các cấp độ RAID 1 + 0, 1 + 5, 1 + 6 lần lượt là 4 × 3, 6 × 2, 6 × 2.

Lưu ý rằng chỉ có hệ số khuếch đại thông lượng ghi toàn dải có liên quan trực tiếp đến tỷ lệ dự phòng. Các trường hợp đơn chunk phức tạp hơn cho những người có tương đương. Chúng phát sinh bởi vì viết một đoạn đơn yêu cầu đọc bất kỳ đoạn nào là dễ nhất trong các đoạn dữ liệu chẵn lẻ hoặc các đoạn dữ liệu khác, trước khi viết các đoạn chẵn lẻ cùng với khối dữ liệu mới. (Chúng không được nhân trực tiếp bởi vì các lần đọc cảm ứng thay vào đó phải được nhân với hệ số khuếch đại đọc / tìm kiếm tương ứng cho RAID 1, cả hai đều là 1; xem bên dưới.)

Thật không may, việc chọn kích thước khối giúp giảm thiểu khuếch đại thông lượng ghi thêm này có tác dụng phụ là thực sự tối đa hóa là khuếch đại tìm kiếm ghi. Đối với các ghi nhỏ với thời gian ghi không đáng kể so với thời gian tìm kiếm, hiệu suất ghi của dải với kích thước khối rất nhỏ (phải là toàn dải) chỉ là 1 ×, như phản chiếu, vì nó yêu cầu tất cả các ổ đĩa phải tìm các khối cho mỗi lần ghi và thông lượng thu được từ việc huy động tất cả các ổ đĩa này là không liên quan. Nó đã chia tỷ lệ thời gian ghi để tìm thời gian cho số lượng ổ đĩa trong mảng, nhưng đối với việc ghi nhỏ thì điều này đã không đáng kể. Sẽ không có nghĩa gì khi sử dụng kích thước khối nhỏ đến mức làm cho ngay cả những chữ viết nhỏ xíu cũng có đầy đủ. Đối với viết đủ nhỏ để cảm nhận được hiệu quả của việc tìm kiếm, tốt nhất là chúng phù hợp trong một đoạn duy nhất.

RAID | large contiguous write throughput    | concurrent tiny writes throughput
     | full-stripe    | single-chunk        | full-stripe | single-chunk
   0 | n×       ; 12× | n×          ; 12×   | 1×     ; 1× | n×          ; 12×
   1 | 1×       ;  1× | 1×          ;  1×   | 1×     ; 1× | 1×          ;  1×
   5 | (n - 1)× ; 11× | max[n/3, 1]×;  4×   | 1×     ; 1× | max[n/3, 1]×;  4×
   6 | (n - 2)× ; 10× | max[n/5, 1]×;  2.4× | 1×     ; 1× | max[n/5, 1]×;  2.4×
*1+0 | n₀×      ;  4× | n₀×         ;  4×   | 1×     ; 1× | n₀×         ;  4×  *
 1+5 | (n₅ - 1)×;  5× | expr₃×      ;  2.4× | 1×     ; 1× | expr₃×      ;  2.4×
*1+6 | (n₆ - 2)×;  4× | expr₄×      ;  1.5× | 1×     ; 1× | expr₄×      ;  1.5×*
expr₃ = n/(2n₁ + min [1, n₅ - 2]) = max [n/(2n₁ + 1), n/(2n₁ + n₅ - 2)]
expr₄ = n/(3n₁ + min [2, n₆ - 3]) = max [n/(3n₁ + 2), n/(3n₁ + n₆ - 3)]

Lưu ý: Có thể bỏ qua các cột thông lượng giữa 2 với kích thước khối hợp lý lớn hơn ghi mà thời gian tìm kiếm là đáng kể, nhưng đủ nhỏ để ghi lớn có đầy đủ. Kích thước khối lớn của cột thông lượng thứ 2 gần giống với các ổ đĩa được kéo dài. Chữ viết 'nhỏ' là nơi ảnh hưởng của thông lượng không đáng kể.

Có kích thước khối nhỏ không phù hợp cũng làm tăng hiệu quả của việc tìm kiếm khuếch đại cho các lần đọc, mặc dù không nhiều và chỉ trong trường hợp toàn dải.

RAID | read throughput amplification factor | read seek amplification factor
     | full-stripe      | single-chunk      | full-stripe (e.g.) | single-chunk
   0 | 1                | 1                 | n      to n;    12 | 1
   1 | 1                | 1                 | 1      to n;  1–12 | 1
   5 | 1                | 1                 | n - 1  to n; 11–12 | 1
   6 | 1                | 1                 | n - 2  to n; 10–12 | 1
*1+0 | 1                | 1                 | n₀     to n;  4–12 | 1           *
 1+5 | 1                | 1                 | n₅ - 1 to n;  5–12 | 1
*1+6 | 1                | 1                 | n₆ - 2 to n;  4–12 | 1           *

Lưu ý: 'đến n' là vì khi chỉ có một lần đọc xảy ra đồng thời, về mặt lý thuyết có thể huy động tất cả các ổ đĩa để tìm đến những nơi thích hợp và đọc chung dữ liệu cho thông lượng đọc tiếp giáp lớn nhất.

RAID | large contiguous read throughput | concurrent tiny reads throughput
     | full-stripe (e.g.)| single-chunk | full-stripe         | single-chunk
   0 | n×          ; 12× | n×     ; 12× | 1×          ;  1×   | n×     ; 12×
   1 | n×          ; 12× | n×     ; 12× | n×          ; 12×   | n×     ; 12×
   5 | n×          ; 12× | n×     ; 12× | n/(n - 1)×  ; ~1.1× | n×     ; 12×
   6 | n×          ; 12× | n×     ; 12× | n/(n - 2)×  ;  1.2× | n×     ; 12×
*1+0 | n×          ; 12× | n×     ; 12× | n₁×         ;  3×   | n×     ; 12×*
 1+5 | n×          ; 12× | n×     ; 12× | n/(n₅ - 1)× ;  2.4× | n×     ; 12×
*1+6 | n×          ; 12× | n×     ; 12× | n/(n₆ - 2)× ;  3×   | n×     ; 12×*

Lưu ý: Một lần nữa, các cột thông lượng giữa có thể được bỏ qua với kích thước khối hợp lý. Cột thông lượng thứ 3 một lần nữa được kết nối chặt chẽ với tỷ lệ dự phòng.

Tuy nhiên, kích thước khối đủ lớn có nghĩa là các lần đọc nhỏ không bao giờ là toàn dải. Vì vậy, được thực hiện hiệu quả và kích thước khối phù hợp, hiệu suất đọc phải tỷ lệ thuận với số lượng ổ đĩa giống hệt nhau khi không bị suy giảm.

Vì vậy, thực sự, "hệ số khuếch đại" phức tạp hơn nhiều so với công thức trong câu hỏi, trong đó chỉ xem xét khuếch đại thông lượng toàn dải. Cụ thể, hiệu suất ghi của 6 × 2 RAID 1 + 6 đối với ghi đồng thời đủ nhỏ để bị ràng buộc tìm kiếm sẽ kém hơn so với 4 × 3 RAID 1 + 0. Và đối với các bài viết nhỏ, tất cả đều được tìm kiếm, hiệu suất chỉ có thể bằng khoảng 3 so với 4 × 3 RAID 1 + 0 ở mức tuyệt đối tốt nhất (nghĩa là được thực hiện hoàn hảo).

Đã giải quyết được vấn đề đó, so sánh 12 ổ không có người chiến thắng hoàn toàn:

                                  | 4×3 RAID 1+0 | 6×2 RAID 1+6
   number of identical 1TB drives | 12           | 12
                 storage capacity | 4TB          | 4TB
            redundancy proportion | 2/3          | 2/3
large contiguous write throughput | 4×           | 4×
 large contiguous read throughput | 12×          | 12×
concurrent tiny writes throughput |*4×           | 1.5×
 concurrent tiny reads throughput | 12×          | 12×
safe number of random drive loses | 2            |*5
    12 - 1 large write throughput | 4×           | 4×
     12 - 1 large read throughput | 8×           |*11×
    12 - 1 tiny writes throughput |*4×           | ~1.42×
     12 - 1 tiny reads throughput | 8×           |*~9.33×
  can split-off a copy for backup | yes[1]       | yes[1]
                  2-site failover | yes          | yes
    2-copy large write throughput | 4×           | 4×
     2-copy large read throughput |*8×           | 6×
    2-copy tiny writes throughput |*4×           | ~1.28×
     2-copy tiny reads throughput |*8×           | 6×
   2-copy safe random drive loses | 1            |*2
2-copy - 1 large write throughput | 4×           | 4×
 2-copy - 1 large read throughput | 4×           |*5× or 6×[2]
2-copy - 1 tiny writes throughput |*4×           | ~1.46× or 1.2×[2]
 2-copy - 1 tiny reads throughput | 4×           |*3.6x or 6×[2]
can be divided into 3 full copies | yes          | yes
                  3-site failover | yes          | yes
    1-copy large write throughput | 4×           | 4×
     1-copy large read throughput | 4×           | 4×
    1-copy tiny writes throughput |*4×           | ~0.85×
     1-copy tiny reads throughput |*4×           | 2×
   1-copy safe random drive loses | 0            | 0
                       complexity |*simple       | more complex

Lưu ý 1: Một bản sao đầy đủ của dữ liệu được lưu trữ tương ứng là một bộ tứ RAID 0 hoặc một mảng RAID 6 bị suy giảm 4/6. Lưu ý 2: Có khả năng thậm chí là lỗi ổ đĩa có làm mất đi một trong 4 cặp RAID 1 bị xuống cấp hay làm giảm một trong 2 cặp bình thường hay không.

Tuy nhiên, nó sẽ tăng gấp đôi hiệu suất đọc của một mảng 6 ổ RAID 6 và thông lượng ghi nhỏ sẽ tốt hơn 25% (1,5 / 1,2) do các lần đọc yêu cầu được phân chia giữa các cặp RAID 1 và rõ ràng RAID 6 có các ứng dụng phù hợp, vì vậy trong các ứng dụng của tính sẵn sàng cao có ghi lớn hơn hoặc được nhiều lo ngại về hiệu suất đọc hơn hiệu suất ghi, có lẽ đó một niche cho RAID 1 + 6 sau tất cả. Nhưng đó không phải là tất cả…

Phức tạp

Đây vẫn chỉ là lý thuyết cho đến nay (chủ yếu là tổ hợp ), trong thực tế, sự phức tạp sẽ có nghĩa là việc triển khai RAID 1 + 6 có thể có những thiếu sót mà bỏ lỡ cơ hội và không đạt được kết quả lý thuyết. RAID 6 đã phức tạp hơn và việc lồng vào làm tăng thêm một chút phức tạp trên đỉnh này.

Ví dụ, không rõ ràng ngay lập tức rằng 6 × 2 RAID 1 + 6 có thể được trừu tượng hóa khi có 3 đầu đọc ảo độc lập có khả năng đọc đồng thời 3 lần đọc lớn liền kề ở tốc độ 4 × mỗi lần, giống như 4 × 3 RAID 1 + 0. Đơn giản chỉ cần lồng 6 cặp RAID 1 trong mảng RAID 6 bằng phần mềm RAID có thể không quá trang nhã; việc thực hiện có thể là ngu ngốc và ly kỳ (mặc dù tôi chưa thử nghiệm giả thuyết này).

Sự phức tạp cũng thể hiện sự gia tăng chi phí phát triển các triển khai và công cụ. Mặc dù có thể có các ứng dụng có thể được hưởng lợi từ việc lồng nhau như vậy, các cải tiến có thể không xứng đáng với chi phí phát triển.


Vui lòng cho biết nguồn của bạn cho thông tin này. Một bài kiểm tra thực tế với các bài viết lớn hoặc nhỏ không đồng nhất với hiệu suất mà bạn đã đề xuất.
JamesRyan

@JamesRyan: Đây không phải là thông tin cũ. Các kết quả lý thuyết được rút ra từ các nguyên tắc cơ bản về cách thức hoạt động của các cấp độ RAID tiêu chuẩn. Tất cả những gì cần thiết cho lý thuyết là sự hiểu biết về cách thức hoạt động của RAID và sự hiểu biết về logic và dẫn xuất toán học. Nếu những tính toán này được thực hiện bởi người khác thì tất nhiên tôi sẽ nêu ra điều này và cung cấp các liên kết để tham khảo nếu có thể. Lưu ý rằng có nhiều cách để triển khai RAID 1 + 6 thực tế có thể dưới mức tối ưu, nhưng các cách triển khai khác nhau sẽ khác nhau. Những gì tôi muốn biết là tại sao bài kiểm tra thực tế của bạn không đồng tình.
James Haigh

@JamesRyan: Xin vui lòng bạn có thể cung cấp thêm chi tiết về việc triển khai bạn đã sử dụng, ổ đĩa nào bạn đã sử dụng, trong cấu hình nào, với phương pháp đo điểm chuẩn nào? Bạn đã thử cả mảng RAID 6 gồm 6 cặp RAID 1 và mảng RAID 0 gồm 4 bộ ba RAID 1 với cùng 12 ổ đĩa và kích cỡ chunk chưa? Đó có phải là RAID phần mềm không?
James Haigh

Vì bạn đang đề xuất một lý thuyết chưa được kiểm chứng thách thức trí tuệ thông thường, tại sao bạn không nêu chi tiết thiết lập của mình ở nơi bạn đã cho thấy nó hoạt động? Tôi đoán rằng vì toán học của bạn khác với mọi nguồn khác về chủ đề này cũng như thế giới thực kiểm tra lý do tại sao nó không hoạt động là toán học của bạn sai.
JamesRyan
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.