mdadm을 사용하여 RAID10 어레이를 어떻게 확장합니까?
분명히 한 번에 2 개의 드라이브를 추가해야합니까, 아니면 4 개의 드라이브 여야합니까?
나는 그저 나쁜 생각을 가지고 있습니다.
아니면 RAID5를 선택하는 것이 현명할까요?
mdadm을 사용하여 RAID10 어레이를 어떻게 확장합니까?
분명히 한 번에 2 개의 드라이브를 추가해야합니까, 아니면 4 개의 드라이브 여야합니까?
나는 그저 나쁜 생각을 가지고 있습니다.
아니면 RAID5를 선택하는 것이 현명할까요?
답변:
마지막으로 확인했을 때 mdadm은 --grow raid10을 허용하지 않습니다. 지금 mdadm 맨 페이지를 살펴 보았는데 여전히 다음과 같이 말합니다. 현재 구성 요소 장치의 활성 크기 변경 및 RAID 레벨 1/4/5/6에서 활성 장치 수 변경, RAID 레벨 1, 5, 6, RAID5 및 RAID5의 청크 크기 및 레이아웃 변경, 쓰기 의도 비트 맵 추가 또는 제거.
RAID 10을 늘리려면 min 버전의 mdadm이 필요합니다. 3.3 및 커널 버전 최소 3.5. 짝수의 디스크도 필요합니다. 페어링되지 않은 디스크는 예 비용으로 만 사용되거나 결국에는 성능이 저하 된 모드 (테스트되지 않음)로 확장 될 수 있습니다.
다음은 Linux 4.2.0-10-generic에서 mdadm 3.3-2ubuntu2를 사용하여 RAID 10을 4 개의 드라이브에서 6으로 증가시키는 예입니다. ext4 데이터를 테스트 한 결과 파일 시스템이 마운트 해제되었으며 RAID가 아무 문제없이 커지면 ext4가 확장되었습니다.
~$ 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 년 이상 된 것을 알고 있지만 누군가 이것이 도움이 될 수 있습니다 ...
레이드 10 배열을 확장 할 수 있지만 원하는 방식으로 확장 할 수는 없습니다. 여러 레벨의 공격대를 중첩해야합니다. RAID 10의 2 개 드라이브에서 mdadm을 사용하여 레이아웃에 따라 성능을 향상시킬 수 있지만, 2 개의 디스크 RAID 10 어레이를 여러 개 만든 다음 논리 노드에 연결해야합니다. 그런 다음 몇 개 더 확장하고 그 위에 줄무늬를 추가하십시오. 그것이 유스 케이스 (많은 확장이 필요하다면)라면 패리티 배열을 사용하는 것이 현명 할 것입니다.
이는 raid 10에서 얻을 수있는 제한 사항이며 전반적인 읽기 / 쓰기 성능을 향상시킵니다. 설명은 5/6을 습득하는 것은 절대적으로 "일반적으로 더 나은 쓰기 성능을 제공하지 않습니다 ..."는 아닙니다. 레이드 5/6은 레이드 10과 마찬가지로 각각의 장단점이 있지만 쓰기 성능은 레이드 5/6의 프로가 아닙니다.
또한 드라이브의 크기를 지정하지 않았지만 새로운 대형 드라이브에서 RAID 5를주의하십시오. 주의를 기울이면 복구 할 수없는 읽기 오류에서 복구 할 수 있지만 가동 중지 시간과 전혀 복구 할 수없는 위험이 있습니다.
-정보를 추가하려면 편집-실패시 hdparm (hdparm -i) 및 lshw와 같은 도구를 사용하여 장치 이름 (/ dev / sda)과 함께 일련 번호를 가져옵니다. 이렇게하면 교체 할 때 올바른 장치를 제거 할 수 있습니다. Travis의 의견은 매우 정확하고 레이아웃이 훌륭하지만 일반적으로 모든 솔루션의 장단점에 가중치를 둡니다.
mdadm 3.3 릴리스 발표에 대한 좋은 소식 :
이것은 새로운 주요 릴리스이므로 몇 가지 문제가 있어도 놀라지 마십시오 ...
일부 주요 특징은 다음과 같습니다.
...
- RAID10 어레이 는 장치 수 를 변경하거나 청크 크기를 변경하거나 '가까운'과 '오프셋'사이의 레이아웃 을 변경하도록 재구성 할 수 있습니다 . 이것은 항상 data_offset을 변경하며 data_offset을 이동할 공간이 없으면 실패합니다.
...
U & L에 대한이 답변 에 따르면 최소한 Linux 3.5도 필요합니다.
나는 그것이 더 효과적이고 혼란 스러울 수 있음을 알고 있지만 항상 여러 개의 거울을 스트라이프 할 수 있습니다.
예를 들어 방금 4 드라이브 RAID 10 어레이를 설정하고 다른 4 드라이브 RAID 10 어레이를 추가하려고합니다. mdadm을 사용하여 새 드라이브에 새 RAID 10 어레이를 만드십시오. 그런 다음 두 개의 기존 RAID 장치를 사용하여 다른 RAID 0 어레이를 만들 수 있습니다. 그러나 lvm의 기능을 사용하여 스트라이프를 생성하므로 mdadm 구성 및 / dev / md 장치를 이해하기 쉬운 상태로 유지합니다. 어느 방법이든 효과가있을 것입니다. 아마도 더 많을 수도 있지만 그것이 제가 머리 꼭대기에서 할 수있는 일입니다.
RAID10 어레이를 확장 할 수는 없습니다. 그러나 당신이 수 후 두 (이 시점에서 중복 기능의 비용) 드라이브로 시작 이후, 더 두를 추가합니다. 이 방법을 사용하여 4 개의 디스크 드라이브가있는 RAID5 어레이에서 4 개의 디스크 드라이브가있는 RAID10으로 전환했습니다.
RAID5의 성능을 저하시키고 어레이에서 하나의 디스크를 제거했습니다. 이것은 자유롭게 사용할 수있는 두 개의 디스크를 주었다. 그런 다음 'mdadm --create --level 10 / dev / md0 / dev / sda1 missing / dev / sdc1 missing'줄을 따라 RAID10 배열을 만들었습니다. 이것은 배열을 시작하기에 충분했습니다.
성능이 저하 된 RAID5 어레이에서 RAID10 어레이로 데이터를 옮길 때 RAID5 어레이 중 두 개를 RAID10 어레이에 추가하고 여분의 것을 여분으로 추가했습니다.
내가 아는 사람보다 성능에 미치는 영향에 대해 이야기 할 수있는 사람이 있다면 좋을 것입니다. 그러나 내 게시물의 주요 이유는 RAID10과 두 개의 드라이브로 시작하는 것이 가능하다는 것을 보여주기 위해서입니다.
참고 : mdadm의 디스크 순서가 중요한지 묻고 대답하는 다음 포럼 게시물을 읽으십시오 .