놀랍게도 CentOS 7 설치 프로그램을 사용하면 약 17GB 디스크와 26GB 디스크로 구성된 RAID0 장치를 만들 수 있었습니다. 허용되더라도 논리적 크기는 2 * min(17 GB, 26 GB) ~= 34 GB
.
$ cat /sys/block/md127/md/dev*/size
16955392
26195968
$ df -h |grep md
/dev/md127 44G 1.9G 40G 5% /
동일한 디스크 케이스와 비교하여 md 하위 시스템의 성능은 어떻습니까? 2개의 디스크에 단순 균형 스트라이핑을 수행할 수 없기 때문입니다.
답변1
raid.wiki.kernel.org설명하다:
RAID0/스트라이프 모드: 장치는 크기가 동일해야 합니다(꼭 그럴 필요는 없음). [...] 한 장치가 다른 장치보다 훨씬 큰 경우 RAID 장치에서 추가 공간이 계속 활용되지만 RAID 장치의 고급 쓰기 중에 이 더 큰 디스크에만 액세스하게 됩니다. 물론 성능이 저하됩니다.
이 표현이 좀 어색하긴 하지만mdadm의 Wikipedia 페이지그것은 이렇게 말합니다 :
RAID 0 – 블록 수준 스트라이핑. MD는 다양한 길이의 장치를 처리할 수 있으며 더 큰 장치의 추가 공간은 스트라이프되지 않습니다.
따라서 크기가 각각 4 및 2 "블록"인 두 개의 디스크로 단순화된 경우 다음과 같은 결과를 얻을 수 있습니다.
disk0 disk1
00 01
02 03
04
05
"청크" 04-05 읽기는 disk0에서만 수행되어야 하므로 스트라이핑 이점이 없습니다. md
장치는 분할이 가능해야 하므로 장치의 시작과 끝 부분에 파티션을 테스트하여 속도 차이가 눈에 띄는지 확인할 수 있습니다.
답변2
매뉴얼 페이지에서md(4)
:
The RAID0 driver assigns the first chunk of the array to the first device, the second chunk to the second device, and so on until all drives have been assigned one chunk. This collection of chunks forms a stripe. Further chunks are gathered into stripes in the same way, and are assigned to the remaining space in the drives. If devices in the array are not all the same size, then once the smallest device has been exhausted, the RAID0 driver starts collecting chunks into smaller stripes that only span the drives which still have remaining space.
답변3
예, 성능에 영향을 미칩니다. 귀하의 경우 두 개의 디스크에 두 개의 파티션이 있습니다. 첫 번째 파티션은 17GB이고 두 번째 파티션은 26G입니다.
raid0 디스크의 최종 크기는 약 17+26=43GB입니다. 처음 2*17=34GB를 쓸 때 성능은 평소와 같습니다. 단일 디스크의 약 2배입니다(충분한 버스 처리량 가정). 마지막 26~17=9GB 쓰기시 성능은 디스크 1개와 동일합니다.
따라서 주로 성능상의 이유로 raid0을 사용하는 경우 파티션 크기 간의 큰 차이를 피해야 합니다.
더 큰 파티션을 만들기 위해 더 작은 파티션을 사용하는 것처럼 쉽게 사용한다면 일반적으로 문제가 되지 않습니다. 이 경우 일부 성능 개선의 추가 이점을 얻을 수 있습니다. 성능에 관심이 없다면 linear
대신 를 사용하여 raid0
하드웨어 오류 발생 시 데이터를 더 쉽게 복구할 수 있습니다.