ZFS는 로컬 저장소로 적합합니까?

ZFS는 로컬 저장소로 적합합니까?

나는 ZFS에 대해 읽고 잠시 동안 그것을 내 컴퓨터에서 사용하려고 생각했지만 메모리 요구 사항에 대해 읽는 것보다 두 번 생각했습니다.

ZFS를 로컬 저장소로 사용하는 것이 합리적입니까, 아니면 저장소로 사용되는 서버에 더 적합합니까? (다른 용도로 사용되는 서버의 경우에도 이는 과잉인 것 같습니다).

답변1

ZFS에는 특별히 높은 메모리 요구 사항이 없습니다.

댓글에서 지적했듯이,특정 기능ZFS(특히 중복 제거 및 L2ARC)를 사용하려면 일정량의 메모리가 필요합니다.

그러나 이러한 기능은 해당 기능을 사용해야 하는 특정 사용 사례가 없으면 사용할 가능성이 없는 기능입니다.

첫 번째 레이어 ARC를 갖춘 ZFS(적응형 교체 캐시)는 다른 파일 시스템 및 캐시보다 메모리를 많이 소모하지 않습니다. 사용하기 때문에예를 들어 대신에가장 최근에 사용됨캐시 알고리즘은 일부 작업 부하에서 사용 가능한 캐시 RAM을 보다 효율적으로 사용할 수 있습니다.

어떤 ZFS하다필요하다ECC RAM입니다. 이는 서버에서는 어디에나 존재하지만 개인 시스템에서는 거의 발견되지 않습니다(많은 저가형 Intel CPU는 ECC RAM도 지원하지 않습니다). 이 요구 사항은 ZFS의 자가 치유 속성에서 비롯됩니다.RAM 문제는 잠재적으로 데이터를 파괴할 수 있습니다.ZFS를 실행할 때. ZFS에는 이를 확인할 코드가 없습니다. 아마도 부분적으로는 다음과 같습니다.소프트웨어에서 알 수 있는 100% 확실한 방법은 없는 것 같습니다.시스템이 ECC RAM을 사용하는지 여부.

ZFS가 적합한지 여부는 수행하려는 작업에 따라 달라지며, NTFS가 적합한지 여부도 수행하려는 작업에 따라 달라집니다. 그러나 ZFS는 다른 파일 시스템이 제공하지 않거나 거의 제공하지 않는 여러 기능을 제공하며 이는 특정 시나리오에서 매우 유용할 수 있습니다.일부그 중 다음은 다음과 같습니다.

  • 엔드투엔드 데이터 무결성을 보장합니다. 특정 읽기가 성공하면 해당 위치에 원래 기록된 것과 동일한 데이터가 반환된다는 것을 확실히 알 수 있습니다. 이는 자동 데이터 손상과 같은 것이 없음을 의미합니다. 데이터를 다시 가져오거나 I/O 오류가 발생합니다.
  • 파일 시스템 인식 스트라이핑 및 중복성. 일반 RAID 컨트롤러는 전체 저장 장치를 디스크상의 데이터 구조에 대한 지식이 전혀 없는 큰 블록 묶음으로 취급합니다. ZFS는 볼륨 관리와 파일 시스템을 결합하므로 오류 발생 시 보다 지능적인 결정을 내릴 수 있습니다. 또한 "가장 중요한 것부터" 리실버 방식이 있습니다. 즉, 파일 시스템의 기능에 중요한 데이터는 장애 후 먼저 리실버링되고 덜 중요한 데이터는 디스크의 데이터 위치에 관계없이 대기하게 됩니다. 저장되었습니다.
  • 계층형 캐싱. 예를 들어, 빠른 SSD L2ARC로 보완되는 RAM ARC를 보유할 수 있으며 회전형 HDD에 대량의 데이터 저장 공간이 있습니다. 작업 데이터 세트를 합리적인 수준의 정확도로 추정할 수 있는 워크로드의 경우 SSD를 모두 사용할 필요 없이 상대적으로 저렴한 비용으로 I/O 성능을 크게 향상시킬 수 있습니다.
  • 실질적으로 무료 파일 시스템. ZFS를 사용하여 "파일 시스템"을 만드는 것은 대부분의 현대 파일 시스템에서 디렉토리를 만드는 것과 거의 다르지 않습니다. 파일 시스템은 최대 할당량과 보장 할당량 모두 서로 다른 할당량을 가질 수 있습니다. 이러한 이유로 ZFS에서는 파일 시스템을 관리 경계로 사용하는 것이 권장되는 경우가 많습니다. 예를 들어 대규모 서버에서는 각 사용자의 홈 디렉터리가 자체 파일 시스템이 될 수 있습니다. 이는 별도의 일반 파티션과 파일 시스템을 생성하여 발생하는 오버헤드 없이 디렉터리 트리의 일부를 서로 격리합니다. 예를 들어, 나는 연간 이메일 아카이브나 월별 사진 등을 분리하기 위해 파일 시스템을 사용합니다.
  • 실질적으로 무료 스냅샷. 몇 시간 전의 파일 모습으로 돌아갈 수 있다는 사실이 몇 번이나 당황스러운 실수로부터 나를 구해줬는지 모르겠습니다. 백업은 유사한 기능을 제공하며 여전히 필요합니다.RAID의 양은 백업이 아닙니다.) 그러나 스냅샷은 훨씬 더 쉽게 사용할 수 있습니다. ZFS에서 스냅샷 자체에는 관련 파일 시스템의 데이터 양에 관계없이 몇 킬로바이트의 메타데이터 저장소만 필요하며 성능 비용이 크게 들지 않습니다.

ZFS를 사용하기 때문에 이들 중 어느 것도 반드시 사용해야 할 필요는 없습니다.그러나 그것들은 거기에 있으며, 활성화하려는 경우 일반적으로 단 한 번의 명령만으로 가능합니다.

자, 이것이 "과잉"입니까?그것은 실제로 당신이 무엇을 하려고 하는지에 따라 많이 달라집니다.내 홈 시스템에서 ZFS(ECC RAM 포함)를 실행합니다. 대부분의 경우 다른 파일 시스템보다 더 많은 소음을 내지 않고 조용히 진행되어 왔지만 실제로 적어도 한 번은 데이터 손상으로부터 나를 구해주었습니다(스크럽에서 몇 개의 섹터를 찾았습니다). 문제를 보이고 있었고자동으로 자동으로 데이터를 복구했습니다.내 개입이 필요하지 않습니다). 개인적으로 나는 그렇게 생각한다.그 데이터를 저장한 이유는그 이유는 나중에 데이터를 참조하고 싶을 가능성이 높습니다. 이제 생각해 보세요우주는 당신의 데이터를 싫어합니다.

계속 증가하는 스토리지 크기와 기본적으로 항상 일정한 비트 오류율(미디어 클래스당)로 인해 I/O 오류가 덜 일반적이지는 않을 것입니다. 내가 선호하는 리셀러를 살펴보면 Seagate와 HGST 모두 높지만 극단적이지는 않은 가격으로 확실히 개인이 이용할 수 있는 가격으로 8TB HDD를 제공합니다. 이는 약 6.4×10^13비트입니다. 10^-14비트 오류율로,단일 전체 미디어 읽기 패스라도~이다통계적으로 가능성이 매우 높음전체(4KiB) 섹터를 읽을 수 없게 만드는 I/O 문제가 발생합니다. (통계적으로 10TB HDD에 도달할 때쯤에는단일 전체 디스크 읽기에는 읽을 수 없는 섹터가 하나 이상 발생합니다..) 다음과 같은 연구 결과가 있습니다.감지되지 않은읽기 오류는 우리가 인정하고 싶은 것보다 훨씬 더 자주 발생하므로, 쉽게 사용할 수 있는 링크가 없지만 온디스크 ECC 알고리즘을 개선하려는 HDD 제조업체의 노력을 절망하게 됩니다. NTFS, ext4, UFS+, HFS+ 등과 같은 최신 파일 시스템은 이러한 상황을 처리할 준비가 되어 있지 않습니다.

이것이 바로 ZFS 및 Btrfs와 같은 틈새 파일 시스템이 채우려는 목표입니다.

관련 정보