RAID 10 어레이에 드라이브 추가


11

mdadm을 사용하여 RAID10 어레이를 어떻게 확장합니까?

분명히 한 번에 2 개의 드라이브를 추가해야합니까, 아니면 4 개의 드라이브 여야합니까?

나는 그저 나쁜 생각을 가지고 있습니다.

아니면 RAID5를 선택하는 것이 현명할까요?


일반적으로 누군가 RAID 10이 필요한지 묻는다면 필요하지 않습니다. 왜 Raid 5 또는 Raid 6을 사용하지 않습니까?
surfasb

RAID5보다 쓰기 성능이 향상되기를 바랐지만 유연성 규칙이 부족하다고 생각합니다.
stuartc

일반적으로 RAID 5/6은 RAID 10/01보다 우수한 쓰기 성능을 제공합니다. 모든 드라이브에 쓰기를 분배하고 드라이브의 절반 만 분배하기 때문입니다.
surfasb

6
@surfasb "RAID 5/6은 RAID 10보다 우수한 쓰기 성능을 제공합니다."아니요, 더 많은 드라이브에 쓰기를 분배하는 것이 RAID5 / 6의 쓰기 페널티

@ JackDouglas : 아주 좋은 정보입니다.
surfasb

답변:


5

마지막으로 확인했을 때 mdadm은 --grow raid10을 허용하지 않습니다. 지금 mdadm 맨 페이지를 살펴 보았는데 여전히 다음과 같이 말합니다. 현재 구성 요소 장치의 활성 크기 변경 및 RAID 레벨 1/4/5/6에서 활성 장치 수 변경, RAID 레벨 1, 5, 6, RAID5 및 RAID5의 청크 크기 및 레이아웃 변경, 쓰기 의도 비트 맵 추가 또는 제거.


감사! 감사합니다. 또한 이것이 빠르게 일어나지 않을 것이라는 또 다른 좋은 힌트 중 하나는 하드웨어 RAID 카드를 찾을 수 없다는 것입니다. RAID5 ..
stuartc

2
RAID5는 일부 워크로드에서 고통스럽게 느려질 수 있습니다. 무엇을하려고합니까?
Stingray

대부분 미디어를 저장하고 사진 편집을 위해 NFS 공유를 마운트하기 때문에 읽기뿐만 아니라 쓰기 속도도 좋기를 바랐습니다.
stuartc

16

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
요즘은 이것이 받아 들여 져야합니다. 나는 그것을 스스로했다.
Kyle

내가 방금 어려운 길을 알게 되었기 때문에 이것은 raid 10, near2 레이아웃에만 적용됩니다. raid10, far2는 여전히 성장할 수 없습니다. 즉 여기를 참조하십시오 : wiki.archlinux.org/index.php/RAID#Nested_RAID_levels
gabtub

9

나는 이것이 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의 의견은 매우 정확하고 레이아웃이 훌륭하지만 일반적으로 모든 솔루션의 장단점에 가중치를 둡니다.


9

mdadm 3.3 릴리스 발표에 대한 좋은 소식 :

이것은 새로운 주요 릴리스이므로 몇 가지 문제가 있어도 놀라지 마십시오 ...

일부 주요 특징은 다음과 같습니다.

...

  • RAID10 어레이 는 장치 수 를 변경하거나 청크 크기를 변경하거나 '가까운'과 '오프셋'사이의 레이아웃 을 변경하도록 재구성 할 수 있습니다 . 이것은 항상 data_offset을 변경하며 data_offset을 이동할 공간이 없으면 실패합니다.

...

U & L에 대한이 답변 에 따르면 최소한 Linux 3.5도 필요합니다.


3
혼합 결과와 함께 mdadm v3.3.2를 사용하여 mdadm raid10을 늘리는 실험을했습니다. 이전 버전의 mdadm으로 만든 raid10을 키울 수 없다는 것을 알았습니다. v3.3으로 만든 raid10은 형태를 바꾸고 성장할 수있었습니다. 따라서 raid10을 키우고 싶지만 최신 mdadm을 사용하여 새 raid10을 만드는 것이 좋습니다.
adalle

6

나는 그것이 더 효과적이고 혼란 스러울 수 있음을 알고 있지만 항상 여러 개의 거울을 스트라이프 할 수 있습니다.

예를 들어 방금 4 드라이브 RAID 10 어레이를 설정하고 다른 4 드라이브 RAID 10 어레이를 추가하려고합니다. mdadm을 사용하여 새 드라이브에 새 RAID 10 어레이를 만드십시오. 그런 다음 두 개의 기존 RAID 장치를 사용하여 다른 RAID 0 어레이를 만들 수 있습니다. 그러나 lvm의 기능을 사용하여 스트라이프를 생성하므로 mdadm 구성 및 / dev / md 장치를 이해하기 쉬운 상태로 유지합니다. 어느 방법이든 효과가있을 것입니다. 아마도 더 많을 수도 있지만 그것이 제가 머리 꼭대기에서 할 수있는 일입니다.


증가하는 데이터 집합을 관리하는 가장 좋은 방법은 대부분의 것보다 훨씬 쉽습니다. 까다로운 부분은 어떤 미러 세트에서 어떤 드라이브가 고장 났는지 추적하는 것입니다. 그러나 좋은 제안입니다!
stuartc

3

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의 디스크 순서가 중요한지 묻고 대답하는 다음 포럼 게시물을 읽으십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.