Thêm ổ đĩa vào RAID 10 Array


11

Làm cách nào để phát triển mảng RAID10 bằng mdadm?

Rõ ràng tôi sẽ cần thêm 2 ổ đĩa cùng một lúc, hoặc nó sẽ phải là 4 ổ đĩa?

Tôi có cảm giác nó chỉ là một ý tưởng tồi.

Hay sẽ khôn ngoan hơn khi chỉ chọn RAID5?


Thông thường, nếu ai đó hỏi tôi rằng họ có cần RAID 10 không, điều đó có nghĩa là họ không cần nó. Tại sao không phải là Raid 5 hay Raid 6?
Surfasb

Tôi đã hy vọng hiệu năng ghi tốt hơn RAID5 .. Nhưng tôi đoán việc thiếu các quy tắc linh hoạt đó ..
stuartc

Nhìn chung, RAID 5/6 sẽ cung cấp hiệu suất ghi tốt hơn RAID 10/01. Bởi vì bạn đang phân phối ghi trên tất cả các ổ đĩa so với chỉ một nửa ổ đĩa.
Surfasb

6
@surfasb "RAID 5/6 sẽ cung cấp hiệu suất ghi tốt hơn RAID 10" không, bởi vì việc phân phối ghi trên nhiều ổ đĩa sẽ nặng hơn bởi hình phạt ghi của RAID5 / 6

@JackDoumund: Thông tin rất tốt.
Surfasb

Câu trả lời:


5

Lần trước tôi đã kiểm tra, mdadm sẽ không cho phép bạn - hãy raid10. Bây giờ tôi đã lướt qua trang chủ của mdadm và nó vẫn cho biết: Các tùy chọn tăng trưởng hiện được hỗ trợ bao gồm thay đổi kích thước hoạt động của các thiết bị thành phần và thay đổi số lượng thiết bị hoạt động ở cấp RAID 1/4/5/6, thay đổi cấp độ RAID giữa 1, 5, và 6, thay đổi kích thước khối và bố cục cho RAID5 và RAID5, cũng như thêm hoặc xóa bitmap có mục đích ghi.


Cảm ơn! Được đánh giá cao, một gợi ý hay nữa điều này cũng sẽ không xảy ra nhanh chóng là tôi không thể tìm thấy một thẻ RAID phần cứng nào cả .. RAID5 đó là ..
stuartc

2
RAID5 có thể rất chậm trên một số khối lượng công việc. Bạn định làm gì
Cá đuối

Chủ yếu chỉ là lưu trữ phương tiện, nhưng cũng gắn một chia sẻ NFS để chỉnh sửa ảnh, vì vậy hy vọng sẽ có một số tốc độ ghi tốt cũng như đọc.
stuartc

16

Để phát triển RAID 10, bạn cần mdadm trong phiên bản tối thiểu. 3.3 và phiên bản kernel tối thiểu 3.5. Bạn cũng cần một số lượng đĩa chẵn - những đĩa không ghép đôi chỉ có thể hoạt động như một phụ tùng hoặc cuối cùng, để phát triển thành chế độ xuống cấp (không được kiểm tra).

Dưới đây là ví dụ về việc phát triển RAID 10 từ 4 ổ đĩa lên 6 bằng cách sử dụng mdadm 3.3-2ubfox2 @ Linux 4.2.0-10-generic. Đã thử nghiệm với dữ liệu ext4 trên đó, hệ thống tập tin không được kết nối, ext4 được mở rộng sau khi RAID phát triển mà không gặp vấn đề gì.

~$ cat /proc/mdstat
md126 : active raid10 sdd1[1] sdc1[0] sdf1[3] sde1[2]
976428032 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
bitmap: 0/8 pages [0KB], 65536KB chunk

~$ sudo mdadm /dev/md126 --add /dev/sdi1 /dev/sdj1
mdadm: added /dev/sdi1
mdadm: added /dev/sdj1
~$ sudo mdadm --grow /dev/md126 --raid-devices=6

~$ cat /proc/mdstat
md126 : active raid10 sdj1[5] sdi1[4] sdd1[1] sdc1[0] sdf1[3] sde1[2]
1464642048 blocks super 1.2 512K chunks 2 near-copies [6/6] [UUUUUU]
bitmap: 0/6 pages [0KB], 131072KB chunk

1
Đây nên là câu trả lời được chấp nhận ngày nay. Tôi đã tự làm nó.
Kyle

vì tôi chỉ phát hiện ra bản thân một cách khó khăn, điều này chỉ áp dụng cho đột kích 10, gần 2 bố cục. raid10, far2 vẫn không thể phát triển. xem tức là ở đây: wiki.archlinux.org/index.php/RAID#Nested_RAID_levels
gabtub

9

Tôi nhận ra điều này đã hơn một năm tuổi nhưng ai đó có thể thấy điều này hữu ích ...

Bạn có thể mở rộng một mảng đột kích 10, nhưng không phải là cách bạn đang hy vọng. Bạn sẽ phải làm tổ nhiều cấp độ của cuộc đột kích. Điều này có thể được thực hiện với mdadm trên 2 ổ đĩa trong đột kích 10, hiệu năng khá tốt tùy thuộc vào bố cục, nhưng bạn sẽ phải thực hiện nhiều 2 đĩa đột kích 10 mảng, sau đó gắn chúng vào nút logic. Sau đó, để mở rộng thêm một vài chi tiết, và sọc trên đó. Nếu đó là trường hợp sử dụng của bạn (cần mở rộng nhiều) thì bạn nên khôn ngoan sử dụng một mảng chẵn lẻ, có thể được phát triển.

Đây là những hạn chế bạn gặp phải với đột kích 10, trong khi vẫn duy trì hiệu suất đọc / ghi tốt hơn. Và một điều rõ ràng, cuộc đột kích 5/6 hoàn toàn không "Nói chung, cung cấp hiệu suất viết tốt hơn ...". Raid 5/6 có ưu / nhược điểm tương ứng của riêng họ giống như đột kích 10, nhưng hiệu suất viết không phải là chuyên nghiệp cho đột kích 5/6.

Ngoài ra, bạn không chỉ định kích thước ổ đĩa của mình nhưng hãy cẩn thận với cuộc đột kích 5 trên các ổ đĩa lớn mới. Mặc dù nếu bạn cẩn thận, bạn có thể khôi phục từ một lỗi đọc không thể phục hồi, bạn có nguy cơ ngừng hoạt động và khả năng không thể phục hồi hoàn toàn.

--edit để thêm thông tin-- Sử dụng các công cụ như hdparm (hdparm -i) và lshw để lấy số sê-ri cùng với tên thiết bị (/ dev / sda) khi bạn gặp lỗi. Điều này sẽ đảm bảo bạn loại bỏ thiết bị chính xác khi thay thế. Mũi tên lên trên nhận xét của Travis vì nó rất chính xác và bố cục đẹp, nhưng như thường lệ, cân nhắc ưu và nhược điểm của mọi giải pháp.


9

Một số tin tức tuyệt vời từ thông báo phát hành cho mdadm 3.3:

Đây là một bản phát hành mới lớn vì vậy đừng quá ngạc nhiên nếu có một vài vấn đề ...

Một số điểm nổi bật là:

...

  • Mảng RAID10 có thể được định hình lại để thay đổi số lượng thiết bị , thay đổi kích thước khối hoặc thay đổi bố cục giữa 'gần' và 'bù'. Điều này sẽ luôn thay đổi data_offset và sẽ thất bại nếu không có chỗ cho data_offset được di chuyển.

...

Theo câu trả lời này trên U & L, bạn cũng sẽ cần ít nhất linux 3.5.


3
Tôi đã thử nghiệm trồng mdadm raid10 bằng mdadm v3.3.2 với kết quả hỗn hợp. Tôi thấy rằng tôi không thể phát triển một cuộc đột kích10 mà tôi đã tạo ra với phiên bản trước đó của mdadm. Một raid10 được tạo ra với phiên bản 3.3, tôi đã có thể định hình lại / phát triển. Vì vậy, nếu bạn đang ở trong tình huống muốn phát triển raid10 (nhưng không thể), có thể là một ý tưởng tốt để tạo raid10 mới bằng cách sử dụng mdadm mới nhất.
adalle

6

Tôi biết đó là công việc nhiều hơn và có thể gây nhầm lẫn, nhưng bạn luôn có thể sọc nhiều gương.

Ví dụ, tôi chỉ thiết lập một mảng 4 ổ đĩa đột kích 10 mảng và sau đó muốn thêm một mảng 4 ổ đĩa đột kích 10 mảng khác. Chỉ cần sử dụng mdadm để tạo một mảng đột kích 10 mới trên các ổ đĩa mới. Sau đó, bạn có thể tạo một mảng đột kích 0 khác bằng cách sử dụng hai thiết bị đột kích hiện có. Tuy nhiên tôi sẽ sử dụng các tính năng của lvm để tạo sọc, do đó giữ cho các cấu hình mdadm và các thiết bị / dev / md ở trạng thái dễ hiểu. Một trong hai phương pháp sẽ hoạt động, và có thể có nhiều hơn nhưng đó là những gì tôi có thể làm ngoài đỉnh đầu.


Cách tuyệt vời để quản lý một tập dữ liệu đang phát triển, dễ dàng hơn nhiều so với hầu hết. Phần khó khăn là theo dõi ổ đĩa nào bị lỗi trong đó thiết lập gương nào. Nhưng vâng gợi ý tuyệt vời!
stuartc

3

Bạn không thể phát triển một mảng RAID10, điều này là đúng. Nhưng bạn có thể bắt đầu với hai ổ đĩa (với chi phí không dư thừa tại thời điểm này) và sau đó, thêm hai ổ đĩa nữa. Tôi đã sử dụng phương pháp này để chuyển từ mảng RAID5 với bốn ổ đĩa sang RAID10 với bốn ổ đĩa.

Tôi đã làm suy giảm RAID5 và loại bỏ một đĩa ra khỏi mảng. Điều này đã cho tôi hai đĩa miễn phí để sử dụng. Sau đó, tôi đã tạo ra một mảng RAID10 với một cái gì đó dọc theo dòng 'mdadm --create --level 10 / dev / md0 / dev / sda1 thiếu / dev / sdc1 bị thiếu'. Điều này là đủ để bắt đầu mảng.

Khi tôi đã chuyển dữ liệu từ mảng RAID5 xuống cấp sang mảng RAID10, tôi đã thêm hai đĩa RAID5 vào mảng RAID10 và thêm một đĩa dự phòng.

Có lẽ là một ý tưởng tốt nếu ai đó hiểu biết nhiều hơn tôi có thể nói về bất kỳ tác động hiệu suất nào mà điều này có thể có. Nhưng lý do chính cho bài viết của tôi là để cho thấy rằng có thể bắt đầu với RAID10 và hai ổ đĩa.

Lưu ý: hãy đọc bài đăng trên diễn đàn sau để hỏi và trả lời xem thứ tự đĩa trong mdadm có vấn đề không .

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.