실용적인 RAID 성능?


8

나는 항상 다음을 RAID의 일반적인 규칙이라고 생각했습니다.

  • RAID 0 : 스트리핑으로 인한 READ 및 WRITE의 최고의 성능, 최대 위험
  • RAID 1 : 중복, READ에 적합
  • RAID 0 + 1 (01) : RAID 1의 중복성과 RAID 0의 성능을 결합
  • RAID 1 + 0 (10) : RAID 0 + 1의 약간 더 나은 버전
  • RAID 5 : 좋은 읽기 성능, 나쁜 쓰기 성능, 중복

이 가정이 정확합니까? (및 R / W IO 성능을위한 JBOD 설정과 비교하는 방법)

실제적인 RAID 설정이 게임, 비디오 편집, 데이터베이스 (Acccess 또는 SQL) 등 다른 응용 프로그램에 더 적합합니까?

하드 디스크 드라이브에 대해 생각했지만 솔리드 스테이트 드라이브에도 적용됩니까?


각 RAID 클래스의 중복성에 대한 나의 이해는 꽤 좋으며, 읽기 및 쓰기 I / O 성능이 확실하지 않습니다.
wag2639

JBOD는 성능이나 중복성을 제공하지 않는다는 것을 알고 있으며 기본 참조로 언급했습니다.
wag2639

답변:


12

레이드 0 . 읽기 및 쓰기 속도가 뛰어납니다. 멤버 디스크 수가 증가함에 따라 장애 위험이 증가했습니다. 패리티가 없습니다.

레이드 1 . 드라이버가 올바르게 구현 된 경우에만 뛰어난 읽기 속도 -Areca 및 LSI RAID 컨트롤러를 사용하면 Raid 1 세트에 대해 Raid 0 세트 (10 % 이내)와 거의 동일한 읽기 기능을 제공 할 수 있습니다. 소프트웨어 RAID 솔루션에는 OS 소프트웨어와 마더 보드 소프트웨어의 두 가지 유형이 있습니다.

대부분의 마더 보드 유형 Raid는 우수한 Raid 1 읽기 성능을 제공하지 않습니다. 지난번에 Windows와 Linux를 확인했을 때 Raid 1 읽기가 제대로 구현되지 않았습니다. BSD는 roundrobin read 메소드를 사용하는 Raid 1 구현을 올바르게 구현했습니다.

즉, 중복성을 위해 Raid 1을 사용하고 고급 컨트롤러를 사용하는 경우 읽기 속도를 사용하십시오.

레이드 1/0 및 레이드 0/1 . 이것은 조합적인 것입니다. 디스크가 10 개 있다고 가정 해 봅시다. 레이드 1/0은 세트 A (1 + 2), 세트 B (3 + 4), 세트 C (5 + 6), 세트 D (7 + 8), 세트 E (9+)의 각 세트에 미러가 있다는 것입니다 10) 그런 다음 5 세트 (AE)에 스트립 세트를하십시오. 이러한 방식으로 각 세트마다 하나의 드라이브 장애가 발생할 수 있지만 동일한 세트에서 두 개의 드라이브가 고장난 경우 완료됩니다.

Raid 0/1은 스트립 세트 A (1 + 2 + 3 + 4 + 5)와 세트 B (6 + 7 + 8 + 9 + 10)를 갖고 두 세트를 미러링하는 것입니다. 이렇게하면 드라이브 2와 드라이브 9에 장애가 발생하면 대부분의 컨트롤러는이를 전체 장애로 간주합니다 (사실, 여전히 모든 데이터가 있음).

둘 사이의 성능 차이는 거의 없지만 일반적으로 Raid 컨트롤러에서 두 가지를 모두 얻는다고 생각하지 않습니다.

레이드 5 . 매우 혼합 된 백 : 순차 읽기의 경우 RAID 1/0보다 빠르며 임의 읽기의 경우 약간 느립니다. raid 5의 성능은 컨트롤러 속도에 따라 크게 달라집니다 (예 : 온보드 습격을 많이 기대할 수 없음).

레이드 6 . Raid 5에 비해 이중화가 증가했습니다. 언제든지 두 개의 드라이브가 고장날 수 있으며, 1 개의 드라이브가 고장 난 후 어레이를 재 구축 할 때 여전히 중복성이 존재합니다 (레이드 5 드라이브가 고장 나면 어레이는 RAID 0과 유사합니다-모든 드라이브 고장 = 총 손실 ).

JBOD . 내가 생각할 수있는 이점이 없습니다.


고마워 .. 그래서 내가 읽고있는 것에서, 성능 게임의 목표로 일반 소비자 마더 보드를 사용하면 별도의 전용 RAID 컨트롤러를 얻지 않고도 RAID 0이 가장 좋습니다. (내가 os + 프로그램을 다시 설치해야하고 데이터가 다른 곳에있을 수 있습니다, raid 5 배열 가능)
wag2639

2
당신은 매우 정확합니다. 비록 메인 보드 레이드를 사용하는 성능이 OS 기반 소프트웨어 레이드를 사용하는 것과 크게 다르지 않을 것입니다. (물론 차이점은 OS 기반 소프트웨어 레이드에서는 시스템 드라이브를 습격 할 수 없다는 것입니다). 또한, 마더 보드 raid의 raid5 성능은 한심한 경우도 있습니다 (일부 경우 15-20MB / s 이하)!
bubu

2

귀하의 질문에서 알 수 있듯이, 실제로 "최상의"RAID 구성은 없으며 특정 상황에 가장 적합하며 비용은 종종 가장 중요한 요소 중 하나입니다.

컨트롤러와 소프트웨어를 최소화하지 않으면 여기에 내 규칙이 있습니다.

RAID 0은 한 번에 많은 디스크를 읽고 쓸 수 있기 때문에 가장 빠르며 중복을위한 공간을 낭비하지 않습니다. 디스크를 잃어 버리면 세트를 잃게되므로 RAID 0은 신경 쓰지 않는 시스템에서만 사용해야하며 복원하기 쉽고 소중한 데이터가 포함되어 있지 않습니다. 솔직히 말해서 게임 머신이이 시나리오에 맞을 수도 있지만, 속도 차이가 그다지 눈에 띄지 않아서 머신을 다시 빌드해야 할 위험이 커질 것입니다. 그런 종류의 것을 필요로하는 소프트웨어가 있다면 정말 빠른 "스크래치"영역에도 유용 할 수 있습니다.

RAID 1은 일반적으로 2 개의 디스크로 구성된 가장 일반적인 미러 설정입니다. 읽기는 일반적으로 단일 디스크보다 두 배 빠르지 만 쓰기는 단일 디스크보다 약간 느립니다. 서버에서 RAID 1은 운영 체제 파일을위한 탁월한 선택입니다. 또한 중복성이 필요하고 스토리지 요구가 RAID 5를 요구할만큼 크지 않으며 추가 읽기 속도의 이점을 얻을 수도 있습니다 (데이터베이스 로그 파일은 일반적으로 RAID 1에 배치됨).

RAID 2 ~ 4 (문제는 아님)는 일반적으로 엔터프라이즈 측의 특정 공급 업체 제품을 제외하고는 사용되지 않습니다.

RAID 5는 중복성에 너무 많은 공간을 낭비하지 않고 추가 디스크의 성능을 계속 향상시키는 것 사이의 절충안입니다. 모든 디스크가 참여할 수 있으므로 읽기 속도가 매우 좋습니다. RAID 5에서는 쓰기 속도가 문제가 될 수 있지만 상황에 따라 때로는 과장되어 있다고 생각합니다. 패리티 계산을 수행하는 하드웨어의 경우에도 각 논리 쓰기 작업에는 4 개의 I / O (데이터 디스크에서 읽기, 패리티 디스크에서 읽기, 데이터 디스크 쓰기, 패리티 디스크 쓰기)가 필요하므로 RAID 5에서 작은 임의 쓰기가 발생합니다. 안전 수준은 여전히 ​​우수하면서 디스크 세트에서 나가는 스토리지 양을 최대화하려면 RAID 5를 선택하십시오. 응용 프로그램의 성능 요구가 높고 적은 양의 임의 쓰기 (가상 머신 하드 디스크, 데이터베이스 데이터 파일)가 필요한 경우를 피하십시오. 또한 최신 대형 디스크는 RAID 5 세트의 일부로 장애가 발생하면 재 구축하는 데 시간이 오래 걸리므로 두 번째 디스크 장애로 인해 데이터가 더 오래 위험에 노출 될 수 있습니다. RAID 6은 더 나쁜 임의 쓰기 성능을 희생하여이 위험을 줄일 수 있습니다.

RAID 1/0 및 0/1은 거의 동일한 성능 특성을 갖습니다. 실패는 전체 디스크 스트라이프가 아닌 관련된 디스크 쌍만 재구성하는 것을 의미하기 때문에 1/0이 바람직합니다. RAID 1/0은 질문에서 언급 된 것 중 가장 빠른 범용 구성입니다. RAID 5는 특정 상황에서 이길 수 있지만 읽기 및 쓰기 성능은 모두 뛰어납니다 (모든 디스크에서 한 번에 읽기가 발생할 수 있으며 여러 디스크에서 쓰기가 이루어져야하지만 RAID 5와 같이 읽기 / 읽기 / 쓰기 / 쓰기주기가 필요하지 않음). RAID 1/0은 (의외로) 거의 모든 경우에서 가장 비쌉니다. 성능이 중요하고 데이터가 가치가 높으며 다운 타임을 허용하지 않는 경우에만 사용해야합니다. 데이터베이스 서버 (또는 최소한 데이터 파일)는 종종 RAID 1/0에 적합한 후보가됩니다.

솔리드 스테이트 드라이브는 특히 이중화 값을 위해 RAID 구성에 넣을 수 있습니다. 많은 SSD가 특히 읽기 작업의 경우 연결된 버스 (SATA)보다 성능이 우수하므로 RAID의 성능 효과는 SSD와 비교할 수 없습니다.


0

하드웨어 RAID 컨트롤러를 구입하는 경우 RAID5를 사용하십시오. 오버 헤드가 가장 적으며 하드웨어 RAID 컨트롤러는 하드웨어의 패리티 비트를 계산하기 때문에 쓰기 오버 헤드를 거의 제거합니다. 또한 Raid5는 여러 디스크를 동시에 읽고 읽기 및 쓰기 속도를 향상시킵니다.

예. 이는 솔리드 스테이트 드라이브에도 적용됩니다. Raid0의 SSD 테스트에서 거의 선형 속도 증가가 나타났습니다.

Raid5는 서버 세계에서 가장 많이 사용되는 기술이지만 하드 드라이브가 2 개인 랩탑의 경우 raid1을 미러링하는 것이 좋습니다.

JBOD는 하드 드라이브에 장애가 발생하더라도 중복성이 없지만 설정에 따라 데이터를 스트라이핑하여 RAID와 같은 성능을 향상시킬 수 있습니다.


1
JBOD는 크기가 다른 디스크에 사용하도록 설계 되었기 때문에 일반적으로 스트라이핑 할 수 없습니다. 크기가 같으면 RAID 1 또는 RAID 0을 대신 사용해야합니다.
다스 안드로이드
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.