제목 질문에 답하려면, TL;DR

제목 질문에 답하려면, TL;DR

저는 FreeNAS를 고려하고 있습니다. 그리고 그 안에 있는 저장소로 내가 할 수 있는 일과 할 수 없는 일에 대해 내가 이해한 것이 올바른지 미리 확인하고 싶습니다.

  1. 초기 구축: 서로 미러링되는 2개의 6TB 드라이브가 포함된 스토리지 풀 1개, 총 유효 용량은 6TB입니다(반올림 및 오버헤드 무시).

  2. 첫 번째 확장(2.5~3년 후): 서버에 2개의 12TB 드라이브를 추가합니다. 이를 두 번째 미러링 쌍으로 구성하고 기존 스토리지 풀에 추가합니다. 사용 가능한 스토리지를 18TB로 늘립니다.

  3. 두 번째 확장 단계 1(5.5~7.5년 후): 서버에 2개의 24TB 드라이브를 추가합니다. 미러링된 쌍으로 구성하고 기존 스토리지 풀에 추가합니다. 사용 가능한 스토리지를 42TB로 늘립니다.

  4. 두 번째 확장 2단계(1단계 직후): 6TB 드라이브에서 모든 데이터의 균형을 재조정하고 풀에서 제거한 다음 서버에서 물리적으로 제거합니다. 남은 사용 가능한 저장 공간은 36TB입니다.

내 생각은 다음과 같습니다.

  • 거의 3년마다 필요한 스토리지 용량이 두 배로 늘어나는 것은 2008년부터 현재까지 WHS 서버에 대한 나의 경험의 연속입니다.

  • 24TB 드라이브를 추가한 후 6TB 드라이브는 전체 스토리지 중 무시할 수 있는 부분(1/7)만 제공하며 계속 사용하면 안정성이 더 중요한 문제가 될 만큼 오래되었습니다(욕조 곡선의 잘못된 측면). . 그들이 살아남는다면 내 성장 속도로 인해 48TB 드라이브를 구입해야 하는 시간이 반년 조금 더 늘어날 뿐입니다. 그래서 그들은 나에게 많은 시간을 주지 못할 것입니다.

  • 드라이브를 4개로 제한하면 NAS에 소형 mini-ITX 폼 팩터를 사용할 수 있습니다. 그 이상으로 올라가는 것은 더 크고 더 비싼 설정을 의미합니다. (2개의 드라이브가 열린 케이스 상단에 놓여 있고 전선이 삐져나와 있는 것은 하루나 이틀 동안의 전환 시간 동안 허용되지만 장기간은 허용되지 않습니다.)

  • 또한 이전 약 3년간의 업그레이드(1.5-3TB(2012) 및 3-6TB(현재/가까운 미래))에서와 같이 더 큰 드라이브의 가용성에 대해 평소와 같이 비즈니스를 가정하고 있습니다. 그리고 새로운 드라이브가 무엇이든 사용할 수 있을 만큼 충분히 안정적일 것입니다(즉, 습격의 종말은 결코 일어나지 않습니다).

답변1

우선:나는 6~7년 후의 발전에 대해 추측하지 않을 것입니다.이것은 오늘에 관한 것이며 가장 가까운 미래에 관한 것입니다. 에 대한TL;DR, 이 답변의 하단을 참조하십시오.

현재 ZFS에서는 풀에서 vdev를 제거하는 것을 허용하지 않습니다. 또한 기본 "재조정" 기능도 없습니다(검색:블록 포인터 재작성,bp 다시 쓰기또는bpo 다시 쓰기이에 대해 자세히 알아보려면). ZFS하다미러링된 중복성 수준을 줄일 수 있지만 raidzN, vdev는 그렇지 않지만 원하는 것은 아닙니다. (ZFS에서 스트라이핑은 아무 말도 하지 않을 때 얻는 것입니다.)

기본적으로 풀은 각각 하나 이상의 저장 장치로 구성된 스트라이프 세트로 생각할 수 있으며, 그 중 후자(vdev)만 중복 구성으로 배열할 수 있습니다. 임의로 높은 수준의 중복성을 갖도록 각 vdev를 구성할 수 있지만모든풀이 완벽하게 작동하려면 풀의 vdev가 중복성 임계값 이상으로 유지되어야 합니다. vdev가 실패하면기껏해야해당 vdev에 저장된 데이터만 손실되며, 어떤 데이터가 어떤 vdev에 저장되는지 적극적으로 제어할 수 있는 방법이 없습니다(다른 단점이 있는 별도의 풀에 저장하는 것 외에는).

첫 번째 확장 이후 설명한 것과 같은 "미러링된" 풀이 있는 경우 실제로는 두 개의 vdev가 있습니다. 각각은 미러링된 물리적 저장 장치 쌍으로 구성되며, 두 개의 vdev는 스트라이프되어 풀을 형성합니다. 2-vdev 2-드라이브-각-미러 풀은 하나의 실패한 드라이브로 인해 중단될 수 있으며하나다른 미러 세트가 완벽하게 작동하더라도 해당 미러 세트의 다른 드라이브에 오류가 발생했습니다. 이러한 오류가 발생하면 다른 무슨 일이 일어나더라도 일부 데이터가 손실됩니다.

ZFS 풀에서 용량을 늘리는 일반적인 방법은 다음과 같습니다.드라이브를 제자리에서 교체더 큰 드라이브의 경우 풀이 새 드라이브로 리실버링되도록 한 다음 더 이상 사용되지 않는 이전 드라이브를 물리적으로 제거하십시오. 일반적으로 zpool replace프로세스 전반에 걸쳐 원하는 중복 수준을 유지하기 위해 기존 드라이브와 새 드라이브를 모두 연결하여 이를 사용하려고 합니다 . 일반적인 대안은 풀의 기존 vdev와 동일한 중복성 수준을 가진 vdev를 추가하는 것입니다. 다시 말하지만, ZFS는 스트라이프 세트의 일부 제거를 지원하지 않고 풀은 스트라이프 vdev로만 구성되므로 vdev를 추가한 후에는 제거할 수 없습니다. ZFS를 처음 접하는 많은 사람들이 이 함정에 빠지며, 사용하는 정확한 명령에 주의를 기울이지 않으면 혼란에 빠지기 쉽습니다.

ZFS 리실버 작동 방식으로 인해 리실버링은 관련 드라이브에 극도로 고통스럽습니다. 기존 RAID 리실버는 일반적으로 사용자 활동으로 인한 소량의 무작위 I/O가 산재된 순차적인 반면, ZFS 리실버는 사용자 활동으로 인한 무작위 I/O가 산재된 거의 완전히 무작위 I/O입니다. 미러 세트는 수명 전반에 걸쳐 거의 동일한 활동을 보여왔습니다. 한 드라이브가 한계에 도달했거나 심지어 사망한 경우 다른 드라이브도 한계에 있을 가능성이 높습니다. 며칠 동안 계속해서 리실버링 시련을 겪는다면 매우 쉽게 한계에 부딪힐 수 있습니다. (개인적인 경험에 비추어 볼 때 6TB의 데이터를 리실버하려면 대략 일주일 정도의 리실버 프로세스가 필요하다고 추측합니다. 모든 손잡이를 돌리더라도최대 11, 순수 순차 처리량을 기반으로 합니다. 이는 ZFS의 온디스크 형식 및 리실버링 전략을 고려할 때 완전히 비현실적입니다.적어도운전에 대한 순전한 공포의 약 17시간. 내 추측으로는 6TB 리실버를 드라이브 남용의 두 배 이하, 즉 하루 반 이하로 줄일 수 있는 방법은 없을 것이라는 것입니다.)

또한 그러한 드라이브가 실현된다고 가정할 때 2x24TB 또는 심지어 2x12TB 미러 구성에 대해서도 매우 심각한 의구심을 가질 것입니다. 우리는 이미 현재 드라이브 크기로 물리학의 경계를 약간(말장난 의도는 아님) 확장하고 있습니다. 드라이브 신뢰성을 가정하면,URE, 오늘날과 유사하게 유지됩니다(비트 읽기당 10^-14 ~ 10^-15 섹터 오류, 이는 제조업체 데이터 시트에서 영원히 맴돌던 위치). 통계적으로 전체 내용을 읽을 수는 없습니다. 오류가 하나도 발생하지 않는 12TB 드라이브(12TB는 약 9×10^13비트이며 반올림하면 10^14가 됩니다). 이것을 24TB 드라이브에 적용하면 통계적으로 다음과 같은 결과를 얻게 됩니다.적어도한 번의 전체 읽기 패스에서 하나 또는 두 개의 전체 섹터 오류(약 2*10^14비트를 읽기 때문에). 10^-15개의 URE 드라이브를 사용하더라도 그다지 만족스럽지는 않습니다(그러면 절반 읽기 패스가 아닌 5개 읽기 패스를 보게 됩니다). 물론 이것은 통계 및 사양입니다. 실제로 읽기 오류는 함께 클러스터되는 경향이 있으며 드라이브는 어느 시점에서 왼쪽 오른쪽 및 중앙에서 오류가 발생하기 시작하기 전에 수많은 전체 읽기에 대해 문제 없는 서비스를 제공할 수 있습니다.

대부분의 비서버 스피너는 1~3년 동안만 보증된다는 점을 고려하면 그보다 더 오래 작동할 세트는 없을 것으로 예상됩니다. 반면 귀하의 계획에서는 교체되기 전 최소 6년 동안 기능을 유지해야 합니다. . 서버 스피너도 일반적으로 5년 동안만 보증되지만 일반적으로 24x7 작동은 5년입니다. 내 개인적인 경험에 따르면 Seagate의 Constellation ES 시리즈와 같은 고급 소비자 드라이브는 유령을 포기하고 데이터 천국으로 가기 전에 거의 이 수준의 의무를 제공할 수 있습니다. (개인적인 일화: 1TB Constellation ES.2가 재미있어지기 시작했을 때까지 4년 9~10개월 정도 사용했지만 실패할 정도는 아니었습니다.)

일반적으로 스피너 크기가 3~4TB 표시에 도달하거나 더 중요한 데이터의 경우 더 작아지면 ZFS를 실행하는 많은 사람들이 이중 중복성을 사용한다는 점을 고려하십시오. 이에 대한 타당한 이유가 있습니다:저장 장치 오류그리고 그것놀라운 빈도로 발생합니다. ZFS의 경우 플래터에서 여전히 읽을 수 있는 원시 비트를 돌려주는 것 이상의 것을 원한다면 훨씬 더 비싼 데이터 복구 서비스를 찾고 있으며, 나는 그런 데이터 복구 소프트웨어를 알지 못합니다. ZFS 풀을 원격으로 처리할 수도 있습니다. ZFS가 풀을 가져올 수 없는 경우 가장 실용적인 대답은 백업하지 않은 데이터가 손실된 것으로 간주하는 것입니다.다른 곳에서.

제목 질문에 답하려면, TL;DR

FreeNAS/ZFS를 사용하면 이런 방식으로 스토리지를 관리할 수 있나요?

엄밀히 말하면 기술적인 측면에서는 그렇습니다. 그러나 나는정말전혀 추천하지 않을 것입니다.하드웨어의 운영 범위를 너무 많이 확장하고 있습니다.내가 그것에 대해 편안함을 느낄 수 있도록, 그것을 지지하는 것은 말할 것도 없고. (이 답변은 귀하가 요청한 파일 시스템에 관계없이 거의 동일합니다.)

관련 정보