Làm cách nào để định cấu hình RAID 5, đặc biệt là kích thước sọc, với ổ đĩa 24 x 1,2 TB cho CentOS 6?


8

Đối với Dell R920 với đĩa 24 x 1,2TB (và RAM 1TB), tôi đang tìm cách thiết lập cấu hình RAID 5 cho IO nhanh. Máy chủ sẽ được sử dụng để lưu trữ các máy ảo KVM sẽ đọc / ghi các tệp ở mọi kích cỡ, bao gồm các tệp rất lớn. Tôi không quan tâm lắm đến an toàn dữ liệu vì nếu máy chủ bị lỗi vì bất kỳ lý do gì, chúng tôi sẽ chỉ cung cấp lại máy chủ từ kim loại trần sau khi thay thế các bộ phận bị lỗi. Vì vậy, hiệu suất là mối quan tâm chính. Chúng tôi đang xem xét RAID 5 vì nó cho phép chúng tôi phân phối dữ liệu qua nhiều trục chính và do đó mang lại cho chúng tôi hiệu suất tốt hơn và, trong khi không phải là mối quan tâm chính của chúng tôi, cũng cung cấp cho chúng tôi một số bảo vệ dữ liệu. NIC của chúng tôi là 10Gbps kép.

Tôi chỉ giới hạn câu hỏi này với RAID 5 vì chúng tôi nghĩ rằng điều này sẽ mang lại hiệu suất tốt nhất. Chỉ khi có một lý do hiệu suất hấp dẫn, chúng tôi sẽ xem xét một cái gì đó khác. Nhưng, tôi nghĩ rằng tôi thích các câu trả lời liên quan đến cấu hình RAID 5.

Được rồi, với những điều đã nêu ở trên, đây là những suy nghĩ cấu hình hiện tại của chúng tôi về:

  • 24 Ổ cứng: RMCP3 : 1.2TB, 10K, 2.5 "6Gbps
  • Bộ điều khiển RAID: H730P, Hỗ trợ 12Gbps SAS, Bộ nhớ cache 2GB NV
  • 1 Hot tùng (chỉ để cung cấp cho chúng tôi một cuộc sống lâu hơn nếu một ổ đĩa không thành công)
  • 23 Ổ dữ liệu (trong đó 1 được tính là Chẵn lẻ và 22 còn lại cho Dữ liệu)
  • Kích thước sọc: 1MB (1MB / 22 ổ dữ liệu = ~ 46,5KB mỗi đĩa - hoặc, tôi có hiểu nhầm kích thước sọc) không?
  • Chính sách đọc: Thích ứng Đọc trước
  • Chính sách viết: Viết lại
  • Chính sách bộ đệm đĩa: Đã bật

Nếu kích thước sọc là TOTAL trên các ổ dữ liệu, thì tôi cho rằng ~ 46,5KB mỗi ổ sẽ cho chúng ta thông lượng rất tốt. Nếu kích thước sọc là trên mỗi trục chính, thì tôi đã hiểu sai tất cả.

Có kích thước sọc cũng kích thước mà một tập tin duy nhất? Ví dụ: nếu có tệp 2KB, việc chọn kích thước sọc 1MB có nghĩa là chúng ta đang lãng phí gần như toàn bộ megabyte? Hoặc nhiều tập tin có thể sống trong một dải?

Cuối cùng, khi chúng tôi cài đặt CentOS 6.5 (hoặc mới nhất), chúng tôi sẽ cần phải làm gì đó đặc biệt để đảm bảo hệ thống tệp sử dụng tối ưu RAID? Ví dụ: mkfs.ext4 có một tùy chọn -E sải bước mà tôi đã nói sẽ tương ứng với cấu hình RAID. Nhưng, trong quá trình cài đặt CentOS, có cách nào để thực hiện việc này không?

Rất cám ơn những suy nghĩ của bạn về cấu hình RAID 5 cho IO nhanh.


4
RAID 5 là thứ bạn không muốn sử dụng nếu bạn muốn hiệu năng ... tốc độ ghi của nó có thể rất tệ.
Nathan C

1
Bạn có thể cung cấp một số bối cảnh về khối lượng công việc đọc / ghi và ứng dụng cho giải pháp lưu trữ này không?
ewwhite

1
nếu bạn muốn hiệu năng, hoàn toàn không sử dụng ổ cứng .. rất có thể bạn có thể đạt được hiệu năng cao hơn với hệ thống lưu trữ SSD tốt hoặc thậm chí là các giải pháp lưu trữ PCIe. nếu bạn không quan tâm nếu dữ liệu bị mất, hãy tìm SSD hoặc thậm chí các giải pháp lưu trữ PCIe.
Dennis Nolte

2
@Tonny Tôi đã xác minh điều này. Tối đa 16 đĩa cho bộ điều khiển đó.
ewwhite

7
Mọi người, xin hãy nhớ rằng bạn không phải là chuyên gia sinh ra, mọi người đều học hỏi ở một số điểm. Hãy tử tế với những người biết ít hơn bạn.
Chris S

Câu trả lời:


12

Vui lòng sử dụng RAID 1 + 0 với bộ điều khiển và thiết lập ổ đĩa của bạn. Nếu bạn cần thêm dung lượng, mức RAID lồng nhau như RAID 50/60 có thể hoạt động . Bạn có thể thoát khỏi RAID 5 trên một số lượng nhỏ ổ đĩa doanh nghiệp (8 ổ đĩa trở xuống) vì thời gian xây dựng lại không tệ. Tuy nhiên, 24 ổ đĩa là một sai lầm khủng khiếp. (Ồ, và vô hiệu hóa tính năng lưu trữ đĩa riêng lẻ ... nguy hiểm)

Có nhiều khía cạnh đối với I / O và hiệu năng lưu trữ cục bộ. Có hoạt động I / O / giây, có thông lượng, có độ trễ lưu trữ. RAID 1 + 0 là sự cân bằng tốt giữa những điều này. Các khía cạnh tích cực ở đây là bạn đang sử dụng đĩa doanh nghiệp, bộ điều khiển phần cứng có khả năng và số lượng đĩa tốt. Bạn cần bao nhiêu công suất?

Bạn có thể gặp giới hạn về số lượng ổ đĩa bạn có thể sử dụng trong một nhóm đĩa ảo. Theo truyền thống, bộ điều khiển PERC / LSI giới hạn ở 16 ổ đĩa cho các cấp RAID đơn và RAID 1 + 0. Hướng dẫn sử dụng xác nhận điều này . Bạn sẽ không thể sử dụng tất cả 24 đĩa trong một RAID 5 hoặc một nhóm RAID 1 + 0 duy nhất.

Một khía cạnh khác để xem xét, tùy thuộc vào khối lượng công việc của bạn, là bạn có thể tận dụng bộ nhớ đệm SSD bằng chức năng Bộ nhớ đệm LSI trên các bộ điều khiển PERC nhất định. Nó có thể không có sẵn cho việc này, nhưng hiểu các mẫu I / O của bạn sẽ giúp điều chỉnh giải pháp lưu trữ.


Theo như các tùy chọn tạo hệ thống tập tin ext4, phần lớn sẽ được trừu tượng hóa bởi bộ điều khiển RAID phần cứng của bạn. Bạn sẽ có thể tạo một hệ thống tập tin mà không có bất kỳ tùy chọn đặc biệt nào ở đây. Các tham số bạn đang đề cập sẽ có tác động nhiều hơn đến giải pháp RAID phần mềm.


Một số thông tin rất hữu ích ở đây. Chúng tôi đang tìm kiếm hiệu suất đầu tiên, tổng không gian đĩa thứ hai. Vì vậy, chúng tôi không xem xét RAID 10 vì chúng tôi sẽ mất một nửa dung lượng ổ đĩa 24TB có sẵn. Nhu cầu của chúng tôi rất nặng về dữ liệu và chúng tôi lướt qua TB dữ liệu khá dễ dàng. Bởi vì hậu quả của lỗi máy chủ là ưu tiên thấp đối với chúng tôi (vì chúng tôi chỉ có thể xây dựng lại máy chủ từ đầu sau khi sửa phần cứng xấu - nghĩa là an toàn dữ liệu KHÔNG phải là vấn đề quan trọng nhất của chúng tôi), chúng tôi muốn tối đa hóa IO đĩa ( cả cục bộ và NFS / câu chuyện khác) và tốc độ xử lý tổng thể.
Steve Amerige

@SteveAmerige Bạn cần bao nhiêu dung lượng đĩa? Bạn không thể sử dụng 24 đĩa trong một nhóm RAID, do đó, có một số cân nhắc thiết kế bổ sung cho môi trường của bạn. Bạn có thể cho chúng tôi biết hệ thống này ở đây để làm gì, loại dữ liệu nào có liên quan và yêu cầu hiệu suất thực sự là gì không?
ewwhite

1
@SteveAmerige Chi tiết hơn! RAID 5 không khởi động. Bạn chỉ KHÔNG nên sử dụng nó trong năm 2014. Đây là loại dữ liệu gì? Công nghệ ảo hóa sẽ là gì? KVM? VMware? Tôi nghĩ rằng thiết kế ở đây thực sự cần một số tinh chỉnh, đặc biệt là trước khi đầu tư vào quá nhiều phần cứng ... Bạn có biết kích thước của "bộ công việc" dữ liệu sẽ là bao nhiêu trên mỗi VM không? Trong trường hợp giá trị đó được biết đến, bạn có thể lưu trữ và tối ưu hóa xung quanh đó. Lưu trữ theo tầng. SSD. Là khối lượng công việc đọc thiên vị hoặc viết thiên vị?
ewwhite

1
RAID 5 would give us some data safety at the expense of effectively 1 hard drive per group, right? Không, không đúng. Với các ổ đĩa có kích thước này và nhiều ổ đĩa trong một nhóm, RAID 5 thực sự mang lại cho bạn 0 an toàn dữ liệu. Cũng có thể ném các đĩa vào hai mảng RAID 0 12 đĩa.
HoplessN00b

1
Cuối cùng, tôi đã thực hiện cấu hình sau của 24 ổ đĩa vật lý: Nhóm đĩa 0, RAID 10 (4 ổ đĩa): VD 0: BOOT 100GB; VD 1: ROOT 2134,5GB. Nhóm đĩa 1, RAID 0 (10 ổ đĩa): VD 2: DATA1, 11172,5GB. Nhóm đĩa 2, RAID 0 (10 ổ đĩa): VD 3: DATA2, 11172,5GB. Có thể tôi không cần phải có các đĩa ảo VD 0 BOOT và VD 1 ROOT riêng biệt. Tôi đã làm điều đó để đảm bảo rằng đĩa khởi động có thể thực hiện khởi động chuẩn (không phải UEFI). Tôi đã sử dụng LVM sau này để tôi có / chỉ sử dụng VD 0 và VD 1; và / dữ liệu đã sử dụng VD 2 và VD 3. Rất cám ơn tất cả các ý kiến!
Steve Amerige

5

KHÔNG sử dụng một mảng RAID 5 trên 24 đĩa 1TB! Tôi không quan tâm nhiều đến những gì bạn thích để giới hạn câu trả lời, đó là một ý tưởng tồi và bạn nên xem xét các lựa chọn khác.

Tỷ lệ của một đĩa không đi lên với mỗi đĩa. Vì vậy, thời gian cần thiết để xây dựng lại. Khi một ổ đĩa bị lỗi và bạn thay thế nó, nó sẽ sử dụng càng nhiều IO trên tất cả các đĩa càng tốt để xây dựng dữ liệu cho ổ đĩa mới. Rất có khả năng một trong 23 đĩa tốt còn lại của bạn sẽ bị lỗi trong quá trình này, buộc bạn phải khôi phục máy chủ từ bản sao lưu. Mà bạn nói rằng bạn không quan tâm ... nhưng bạn có sẵn sàng chấp nhận làm điều đó mỗi tháng một lần không? Mỗi tuần một lần? Khi các đĩa cũ, nó rất có thể trở nên tồi tệ.

Bên cạnh đó, nếu bạn muốn hiệu năng, RAID5 đang dẫn bạn đi sai hướng. Trong nhiều trường hợp, RAID5 có hiệu năng kém hơn các tùy chọn khác, vì nó phải tính toán chẵn lẻ cho mỗi lần ghi và sau đó ghi nó vào ổ đĩa. RAID5 không được thiết kế để thực hiện.

Nếu bạn THỰC SỰ không quan tâm đến dữ liệu của mình, hãy sử dụng RAID 0. Nhưng ngay cả khi đó, hãy tạo một vài mảng riêng biệt, không phải là một RAID 24 đĩa khổng lồ.

Nếu bạn muốn hiệu suất và tính toàn vẹn, hãy sử dụng RAID10. Bạn sẽ mất một số dung lượng đĩa, nhưng tăng hiệu suất khá.

Hoặc bạn có thể xem những thứ như ZFS được thiết kế từ đầu để hoạt động với lượng dữ liệu khổng lồ trên đĩa.


1
FYI, tôi là một nhà phát triển phần mềm quản lý các máy chủ của bộ phận chúng tôi như một công việc phụ. Điều đó có nghĩa là tôi có nhiều lỗ hổng trong kiến ​​thức của mình. Nhưng, tôi đã làm điều này thành công một cách hợp lý trong một vài năm nay. Đây là lần đầu tiên tôi xây dựng một máy chủ lớn này, vì vậy phản hồi của bạn được đánh giá rất cao. Tôi rất đánh giá cao nhận xét của bạn về những hạn chế của RAID 5. Những gì chúng tôi muốn là hiệu suất và tổng dung lượng đĩa trống, nhưng chúng tôi sẵn sàng xem xét các cấu hình RAID mang lại cho chúng tôi một số an toàn dữ liệu (ưu tiên cuối cùng của chúng tôi).
Steve Amerige

1

Lựa chọn của bạn:

  • RAID 0 : Điều này biến tất cả các đĩa của bạn thành một đơn vị không có dự phòng. Điều này có hiệu suất đọc và ghi cao nhất và không gian có thể sử dụng nhiều nhất trong số các tùy chọn, nhưng việc mất một đĩa đơn có nghĩa là mất tất cả dữ liệu.

  • RAID 1 + 0 : Điều này biến tất cả các đĩa của bạn thành một đơn vị với tất cả dữ liệu có trên hai đĩa. Tốc độ đọc tương đương với RAID 0, tốc độ ghi được giảm một nửa (vì bạn cần ghi mỗi phần dữ liệu hai lần) và bạn chỉ có một nửa dung lượng có sẵn. Việc mất một đĩa đơn không ảnh hưởng đến tính khả dụng của dữ liệu và ảnh hưởng tối thiểu đến tốc độ đọc / ghi.

  • RAID 5 : Điều này biến tất cả các đĩa của bạn thành một đơn vị, với giá trị tương đương trên một đĩa. Tốc độ đọc thấp hơn một chút so với RAID 0, tốc độ ghi chậm hơn nhiều, có thể chậm hơn tốc độ ghi của một đĩa không phải RAID (mỗi lần ghi yêu cầu chu kỳ đọc-sửa-ghi trên ít nhất hai đĩa) và bạn mất một không gian giá trị của một đĩa cho thông tin chẵn lẻ. Việc mất một đĩa đơn có thể làm giảm tốc độ đọc lớn (tái tạo lại dữ liệu được lưu trữ trên đó yêu cầu đọc dữ liệu từ tất cả các đĩa khác), nhưng không ảnh hưởng đến tính khả dụng của dữ liệu.

  • RAID 6 : Điều này về cơ bản có tất cả các ưu điểm và nhược điểm của RAID 5, ngoại trừ việc nó lưu trữ một tổng kiểm tra fancier ngoài phép tính chẵn lẻ và có thể xử lý việc mất hai đĩa mà không mất dữ liệu.

Nếu an toàn dữ liệu thực sự không liên quan (điều này bao gồm thời gian khôi phục dữ liệu từ nguồn ban đầu, có thể mất nhiều ngày và mất thời gian để thực hiện lại các phép tính bị gián đoạn), tôi khuyên bạn nên sử dụng RAID 0. Nếu không, bạn có khối lượng công việc gần như độc quyền đọc và bạn muốn một số độ tin cậy, tôi khuyên dùng RAID 6 (nhưng lưu ý rằng hiệu suất sẽ bị ảnh hưởng khi khôi phục từ đĩa bị lỗi). Nếu bạn có khối lượng công việc đọc-ghi, tôi khuyên dùng RAID 1 + 0.

Tùy thuộc vào tính chất chính xác của khối lượng công việc của bạn (ví dụ: nếu một tác vụ nhất định truy cập vào một tập hợp con được xác định rõ của không gian đĩa của bạn), bạn có thể thiết lập nhiều mảng RAID độc lập, do đó, lỗi này sẽ không ảnh hưởng đến các mảng khác .

RAID 5 không cung cấp lợi ích trong tình huống của bạn. Nó có một hình phạt hiệu năng (đặc biệt là để ghi) so với RAID 0 và với số lượng đĩa bạn có, gần như chắc chắn rằng đĩa thứ hai sẽ bị lỗi trong quá trình khôi phục, không mang lại lợi ích an toàn dữ liệu.


1

Được rồi, chỉ cần một câu hỏi rõ ràng - kích thước sọc. Kích thước sọc lớn hơn sẽ tốt hơn trừ khi RAID của bạn câm khi luôn đọc / ghi toàn bộ dải dữ liệu dưới dạng khối I / O tối thiểu.

Tại sao? - kích thước sọc nhỏ ngụ ý liên quan đến một số đĩa vào bất kỳ I / O dài nào, càng ít cơ hội tải nhiều đĩa với một I / O logic. Dải lớn có nghĩa là nhiều cơ hội hơn cho chỉ một đĩa (hoặc một vài) được tham gia vào I / O. Điều này có vẻ như là do thiếu hụt so với nhiều đĩa, nhưng sau đó tải gần như ngẫu nhiên của bạn nhảy vào và bạn nhận ra tải sẽ được trải đều trên tất cả các đĩa nhiều hơn hoặc ít hơn.

Thêm lý thuyết đằng sau điều này có thể được tìm thấy ở đây: http://www.vinumvm.org/vinum/Performance-issues.html

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.