대용량 NAS를위한 RAID 구성


13

24TB 1TB 디스크 NAS 상자를 만들려고 생각하고 있지만 최고의 드라이브 구성이 무엇인지 잘 모르겠습니다. areca ARC-1280ML-2G 컨트롤러를 사용하고 24 개의 드라이브를 모두 걸고 있습니다.

우리가 저장하는 데이터 유형으로 인해 하나의 볼륨으로 마운트하고 싶습니다. 우리가 한 가지 미친 아이디어는 6 개의 4 디스크 RAID 5 볼륨을 구성한 다음 6 개의 볼륨에 대해 소프트웨어 RAID 5를 수행하는 것이 었습니다. 그것은 하나의 볼륨이 우리에게 죽을 수 있다는 것을 의미하며 우리는 여전히 데이터를 잃지 않을 것입니다.

이것이 R & D 프로젝트라는 점에 주목해야합니다. 곧 고 가용성을 위해 수십 테라 바이트의 스토리지가 필요할 예정인 애플리케이션이 있습니다. 그러나 초기 R & D 단계에서는 위험을 감수 할 수 있습니다.

이 유형의 구성에 가장 적합한 솔루션은 무엇입니까? 24 개의 1TB 디스크를 사용하면 동시에 (또는 첫 번째 장애 후 볼륨을 재 구축하는 데 걸리는 시간 내에) 둘 이상의 장애가 발생할 가능성이 있으므로 좋은 솔루션을 찾는 데 어려움을 겪고 있습니다.

답변:


10

원하는 것에 대한 RAID 레벨이 이미 있습니다. RAID 10이라고합니다.

최근 몇 년 동안 전문가 및 소비자 수준 드라이브의 MTBF가 몇 배나 증가했으며, 수정할 수없는 오류율은 비교적 일정하게 유지되었습니다. 이 속도는 10 ^ 14 비트로 추정되므로 소비자 SATA 드라이브 인 source의 경우 12 테라 바이트 당 1 비트를 읽습니다 .

따라서 24Tb 드라이브 패스를 스캔 할 때마다 최소 2 개의 단일 비트 오류가 발생합니다. 이러한 각 오류는 RAID5 재 구축을 트리거하며, 재 구축 중에 두 번째 오류가 발생하면 이중 오류가 발생합니다.


수정할 수없는 오류율에 대한 우수한 점이지만 세 번째 단락에서는 "통계적으로 발생합니다 ..."라고 추가해야합니다. 읽기 오류 (또는 오류가 없음)는 확실하지 않기 때문입니다.
Matt Simmons

재 구축하기 전에 다시 읽으려고하지 않습니까?
Antoine Benkemoun 2016 년

Antoine : 물론입니다. 그러나 실제로 읽을 수 없다면 IIRC 패리티에서 데이터를 가져 오기 위해 다시 빌드해야합니다.
Matt Simmons

@Antonie, 이들은 수정할 수없는 읽기 오류입니다. 즉, 드라이브 ECC 논리로 수정할 수없는 오류입니다 (1 : 10 ^ 14보다 훨씬 높은 속도로 오류를 수정합니다)
Dave Cheney

이것들은 쓰기 오류로 인한 오류입니까? 두 번째 읽기가 성공하지 못하도록하는 것은 무엇입니까?
Antoine Benkemoun 2016 년

11

이것은 정확히 나의 일상적인 작업입니다. Linux 스토리지 서버를 구축하는 것입니다.

  • Areca 카드가 정상입니다. RAID-6에서 사용할 수 있으며 합리적인 보안을 제공합니다. 옵션 배터리 백업 장치구입하십시오 .
  • 데스크탑 드라이브가 아닌 엔터프라이즈 급 디스크를 사용하십시오 . 당신은 당신의 서버에 400 달러를 더 소비 할 것이지만 그만한 가치가 있습니다. 여분의 드라이브 두 개를 구입하십시오. 엉망으로 만들지 말고 동일한 모델의 디스크를 사용하십시오.
  • 파일 시스템의 경우 XFS를 사용하십시오 . 농담이 아니라면, ext3과 친구들은 16TB 이상의 파일 시스템을 사용하지 않아도됩니다. 심각한 충돌이 발생하더라도 xfs_repair는 20TB 볼륨 (15 분, 더 이상)에서 상당히 빠릅니다.
  • LVM2를 사용하는 것이 좋습니다. 많이 수정하지 않더라도 스토리지 관리가 쉬워집니다.
  • areca 관리 도구를 설치하고 크론 작업을 작성하여 상태 확인과 함께 매일 이메일을 보내십시오.
  • 백업을 잊지 마십시오 . RAID는 백업이 아닙니다. 누군가 중요한 파일을 삭제하면 적절한 백업 없이는 복구 할 수 없습니다. 개인적으로 rdiff-backup 을 사용 하여 모든 중요한 데이터를 한 달의 기록이있는 전용 서버에 저장합니다. 파일 서버에 두 개의 RAID 볼륨을 작성하고 다른 하나에 백업 할 수도 있습니다.

6

와우, RAID5보다 RAID5? 성능 문제를 논의하고 싶습니까? 당신은 톤이 있습니다. 당신이 그들에게 매달린 호스트에는 패리티를 계산하는 새끼 고양이가 있고, 그 패리티를 3 개의 드라이브에 쓴 다음 THAT 패리티의 패리티를 계산하여 해당 세트의 4 번째 드라이브에 씁니다. 와!

RAID10에 대해 이야기하겠습니다. 기본적으로 RAID 1이지만 드라이브를 반으로 나누고 미러링합니다. 2 개의 드라이브를 잃어도 여전히 괜찮을뿐 아니라 성능도 뛰어나다는 것은 내결함성이 있습니다.

엄청난 양의 공간이 필요하지 않지만 24TB 어레이가 더 나은 작업을 수행하고 있지만 절대적으로 긍정적이어야하는 경우 RAID60을 고려할 수 있습니다. 기본적으로 미러 된 드라이브 세트를 사용하는 RAID6입니다. 드라이브의 약 절반이 손실되고 성능이 저하되지만 데이터가있을 것임을 거의 보장 할 수 있습니다.

실제로 RAID10을 사용합니다. 잘 수행하고 잘 작동합니다. 필자가 말했듯이 fsck 및 chkdsk와 같은 것들이 영원히 걸리고 더 중요한 것은 읽기 오류의 통계적 가능성 때문에 내 생각에 많은 디스크에서 거대한 RAID 세트를 만들면 안된다는 에반의 의견 개별 디스크 크기만큼 증가합니다. 세트당 7-10 개의 디스크를 권장합니다. 해당 스핀들 수로 매우 적절한 크기의 RAID 볼륨 3 개를 생성 할 수 있습니다.

어떤 디스크를 선택하든 두 개의 디스크를 핫 스페어에 두어 어레이가 교체를 기다리지 않고 즉시 재 구축을 시작할 수 있도록하십시오. 디스크가 죽 자마자 시계는 다른 디스크로 이동하기 시작합니다.


@Matt : RAID 세트의 크기에 대해 이야기하는 것이 아니라 파일 시스템의 크기에 대해 이야기하고 있습니다. 호스트 OS가 파일 시스템 등을 "손상"했기 때문에 파일 시스템 유형에 관계없이 큰 단일 파일 시스템을 사용하면 파일 시스템 검사를 실행해야 할 때 다운 타임이 많이 발생합니다.
Evan Anderson

@Evan-죄송합니다. 그러나 그것은 그것에 대한 또 다른 논쟁이기도합니다.
Matt Simmons

@ 매트 : 무엇에 대한 논쟁? RAID 컨테이너의 레이아웃과 해당 RAID 컨테이너의 파일 시스템 수는 직교 관심사입니다. 당신은하지 않습니다 하나의 RAID 컨테이너에서 단일 파일 시스템을 가지고, 그리고 파일 시스템은 대부분의 운영 체제에서 여러 RAID 컨테이너에 걸쳐있을 수 있습니다.
Evan Anderson

둘 다 맞습니다. 우리는 동의합니다. 검사 시간이 잘못되어 파일 시스템을 너무 크게 만들면 안됩니다. 읽기 오류의 통계적 가능성이 증가하기 때문에 레이드 볼륨을 너무 크게 만들면 안됩니다.
Matt Simmons

2

RAID 1 + 0이 아닌 이유는 무엇입니까? 컨트롤러 수준에서 모두 처리됩니다 ...


1

"R & D"라고 말했지만 "고 가용성"이라고 말한 것을 알고 있습니다. DIY 솔루션의 "저축"과 상용 SAN 장비 구매에 의문을 제기합니다. DIY 솔루션에 문제가 발생하면 누구에게도 도움을 요청하지 않는 것이 불가피한 위치에있게됩니다. 시간당 다운 타임 비용은 얼마입니까? 다운 타임 비용으로 일부 중간 계층 SAN 장비의 비용을 상당히 빨리 소비 할 수 있으며, 데이터 손실로 인한 비용을 무시할 수 있습니다.

기본 디스크에 대한 작업에 관계없이 큰 단일 파일 시스템을 만들지 않습니다.

파일 시스템 손상은 실제 가능성입니다 (RAID 컨트롤러 문제, OS 버그 등). 용량이 큰 파일 시스템 검사는 영원히 수행 될 것입니다. 논리적으로 결합되어 단일 파일 시스템으로 표시 될 수있는 여러 볼륨을 사용하는 것이 좋습니다. 파일 시스템이 손상되면 논리 볼륨의 일부를 잃게되지만 여전히 "작동"상태가됩니다.

예를 들어, Windows 환경에서 파일로 채워진 20TB NTFS 볼륨에서 CHKDSK를 실행하면 SLOW가 됩니다. 이런 종류의 환경에서는 여러 개의 작은 NTFS 볼륨을 만들어 논리적으로 DFS를 사용하여 단일 네임 스페이스로 결합했습니다.


1

wazoox, 답변이 좋습니다 나는 그에게 더 많은 포인트를 줄 담당자가 없지만 다음을 추가 할 것입니다.

RAID 6 또는 10 개 디스크 당 최소 2 개의 라이브 패리티 디스크, 최대 16 개 당신이 저하와 함께 살 수 없다면 그 줄무늬를 미러링해야합니다.

리눅스 경로를 사용하는 경우 하드웨어 RAID 카드 (배터리 백업 포함)를 사용하거나 디스크 인클로저에 RAID 컨트롤러를 사용합니다. xfs는 Linux에서 선택한 파일 시스템이지만 xfs_check를 실행해야하는 경우 xfs에서 약 50TB의 파일 시스템은 16GB 이상의 RAM을 사용한다는 점에 동의합니다.

NetApp과 같은 좋은 NAS 박스는 장기적으로 훨씬 덜 작업하기 때문에 진지하게 고려할 것입니다. 귀하의 스토리지 관리자 시간이 회사에 얼마나 가치가 있는지에 달려 있습니다.

nfs / samba의 성능을 높이는 것은 약간 어두운 작업입니다. 10GB ether 또는 1GB / sec의 집계 만 사용 하시겠습니까? (Broadcomm 카드, 특히 10GB 카드는 사용하지 마십시오).

LVM2는 더 똑똑하지는 않지만 빠르지 않기 때문에 스냅 샷을 사용하지 마십시오.

이 백업은 시간이 걸릴 것임을 기억하십시오.

시스템이 프로덕션 환경에 들어가기 전에 실패 할 수있는 방법을 테스트하고 모든 잘못되었을 때 문서를 찾을 수있는 곳에 문서를 작성하십시오.


1

읽기 / 쓰기 비율에 따라 다릅니다. 우리는 많은 HP MSA70 외장 25 디스크 SAS 드라이브 인클로저를 사용하며 읽기 / 쓰기 비율이 99 % : 1 %이므로 항상 단일 RAID6 어레이로 생성하므로 R6이 쓰기 속도가 가장 느리다는 것을 신경 쓰지 않습니다 ( 여전히 꽤 빠르며 다른 것에 비해 그렇게 좋지는 않습니다). 이런 방식으로 우리는 23 개의 디스크에 해당하는 데이터를 사용할 수 있으며 매우 좋고 랜덤 한 읽기 및 전체 읽기 대역폭 이점과 같이 두 가지 디스크 장애에서도 살아남을 수 있습니다.

대략적인 지침으로 RAID5 어레이는 한 어레이에 약 14 개의 디스크를 가져서는 안되며, RAID6는 최대 54 개의 디스크로 충분해야합니다. 어레이가 클수록 읽기 및 쓰기 성능과 느리게 재건하는 데는 시간이 많이 걸리지 만 좋은 절충이 될 수 있습니다.


0

시작을 위해 두 개의 대기 디스크를 추가합니다.

RAID 5 또는 6은 임의 읽기 또는 대량 순차 읽기 및 쓰기에 적합합니다. RAID 5+는 작은 쓰기 작업에서 4 배의 시간이 걸리기 때문에 많은 작은 쓰기 작업을하려면 RAID 10을 사용하십시오.

쓰기 캐시를 켜려면 배터리로 백업해야합니다.

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