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?
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?
Câu trả lời:
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.
Để 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
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.
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.
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.
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 .