크기가 다른 디스크를 분할하여 안정성을 높이시겠습니까?


8

ZFS가 동일한 크기를 가진 모든 디스크를 선호한다는 것을 알고 있습니다. 그러나 크기가 다른 디스크 (1TB와 1.5TB)가 두 개인 경우 특정 중복성을 원하지만 미러링은 원하지 않습니다. 그래서 두 개의 디스크를 5 개의 파티션으로 자르고 각 파티션은 약 500GB가되고 "raidz"풀을 생성합니다. zfs는 행복합니다. 실제로 설정하면 안정성이 향상됩니까? 디스크가 완전히 버스트되지 않고 디스크의 일부만 실패하더라도 여전히 데이터에 액세스 할 수 있다고 생각합니다.


5
이것은 신뢰성을 추가하지 않고 성능을 저하시킵니다.
Michael Hampton

1
내가받은 대부분의 답변 / 의견은 이유를 추론하기에 충분히 깊지 않았습니다. 단순한 "모범 사례에 대하여"또는 "동일한 디스크는 상식적으로 이해된다"는 사실은 나에게 큰 의미가 없습니다. 분명히, 내가 가지고있는이 독특한 디스크를 고려할 때, 나는 신뢰성과 성능면에서 최고를 추구 하지 않을 것입니다. 내가 가진 것을 감안할 때 무엇을 할 수 있는지 묻고 있습니다. 또한, "Master FreeBSD ZFS"라는 책에서 저자들은 구 / 솔라리스 시대에 전체 디스크 프로비저닝이 결정적인 것으로 여겨졌지만 지금은 그렇지 않다고 분명히 밝혔습니다. 파티션 기반 프로비저닝은 우수하거나 권장됩니다.
python152

특히 패리티 기반 중복의 경우 동일한 크기에 대한 절대 요구 사항이 없습니다 (zfs 책은 다른 공급 업체의 동일한 용량 드라이브가 다른 크기로 끝났다고 말한 것을 기억합니다). ZFS 데이터 배치 알고리즘이 패리티 비트 확산과 균형을 맞추고 성능을 균형있게 처리하는 방법을 결정합니다.
python152

@ python152 항상 단점에 따라 달라질 수 있는지에 달려 있습니다 (ZFS는 실제로 매우 유연하며 모범 사례는 규칙이 아니라 권장 사항입니다). 다운 타임을 수용 할 수 있고 파티션 관리에 확신이있는 경우 부분적으로 고장난 디스크를 교체하는 것이 중요하지 않습니다. 백업 하드웨어가 디스크, 파티션 또는 파일인지에 관계없이 존재하는 RAID5 쓰기 구멍에 대해서는 여전히주의해야합니다.
user121391

1
@ user121391 ZFS raidz는 RAID5 쓰기 구멍이 없습니다. blogs.oracle.com/bonwick/entry/raid_zpthree.org/2012/12/05/zfs-administration-part-ii-raidz
nickcrabtree

답변:


3

디스크가 완전히 버스트되지 않고 디스크의 일부만 실패하더라도 여전히 데이터에 액세스 할 수 있다고 생각합니다.

이론적으로이 생각은 맞습니다. RAIDZ1 vdev의 단일 장치에서 오류가 발생하는 한 ZFS는 다른 장치에 오류가 없다고 가정하여 오류를 알리고 수정할 수 있습니다.

실제로는 여러 가지가 있습니다.

  • 오류는 파티션에 걸쳐있을 수 있으므로 둘 이상의 장치에 영향을 미치므로 복구 할 수없는 오류 또는 전체 풀 손실 (위치 및 오류 양에 따라 다름)이 발생할 수 있습니다. RAIDZ2 또는 Z3을 사용하여이를 다소 완화 할 수 있지만 항상 문제가 있습니다.
  • 파티션을 리 실버 링하는 동안 디스크는 동일한 디스크에 동시에 무작위로 읽고 (2 회) 쓰고 (1 회) 기록해야합니다. 순차적 리 실버 링과 함께 Solaris 11.2를 사용하지 않으면 매우 느려집니다. 리 실버 프로세스가 완료 될 때까지 다른 파티션의 오류에 취약합니다. 리 실버 링 시간이 더 길면 추가 URE가 발생할 가능성이 커집니다. 또한 드라이브에 추가로드가 발생하여 드라이브가 완전히 고장날 가능성이 높아집니다.
  • 세 번째 파티션 (1.5TB 디스크의 마지막 파티션)에 풀의 성능을 저하시키고 교체를 요청하기에 충분한 오류가 있다고 가정하십시오. 다른 디스크를 추가 할 수 없으면 종료 / 내보내기없이 교체를 수행 할 수 없으며 심지어 평소보다 더 복잡합니다.

이러한 점을 바탕으로 신뢰성이 주요 목표라면이를 수행하지 않는 것이 좋습니다. 고정 된 하드웨어 상황을 가정하면 다음 중 하나를 수행합니다.

  1. 미러를 사용하고 500GB를 잃지 만 향후 쉽게 확장 할 수있는 간단한 설치
  2. 두 개의 별도 풀을 사용 copies = 2하고 더 작은 오류에 대해 약간의 복원력을 원할 경우 (전체 디스크 장애로 인해 설정에 비해 2/5 또는 3/5의 데이터 만 죽임)
  3. 케이크를 먹고 먹고 싶다면 ZFS 이외의 다른 파일 시스템을 사용하십시오.

5

당신이 묘사하는 것은 약간 끈적입니다.

ZFS는 크기와 기능이 동일한 전체 디스크를 원합니다. 이것은 여러 가지 이유로 중요하지만 상식적으로도 의미가 있습니다.

앞에서 설명한 상황에서하고있는 일은 환경에 복잡성을 더하고 위험을 증가시키는 것입니다.


1
성능 저하는 말할 것도 없습니다.
Michael Hampton

@MichaelHampton 어때요?
cat

2
@cat ZFS는 실제로 2 개가있을 때 5 개의 스핀들이 있다고 생각하기 때문에.
Michael Hampton

4

이런 식으로하자 :

  • 디스크 1에 1TB의 데이터가 있으면 디스크 2에 복제 할 수 있으며 두 디스크 중 하나를 잃을 수 있습니다.

  • 디스크 2에 1.5TB의 데이터가있는 경우 첫 번째 1TB의 데이터 만 디스크 1에 복제 할 수 있습니다. 이 시나리오에서 디스크 2가 실패하면 데이터가 손실됩니다.

ZFS는 매우 유능하지만 일반적으로 위 두 지점에 따라 혼합 디스크 설정은 어리 석고 유용하지 않습니다. 안정성과 중복성에 관심이있는 경우 두 번째 디스크도 1TB 인 것처럼 가장하십시오.


4
이 답변이 "답변"에 맞지 않는다고 생각하기 때문에이 비트를 주석에 넣었습니다. 그러나 디스크의 모든 공간을 실제로 사용하려면 1TB 미러를 설정하고 그런 다음 마지막 500GB를 스크래치 공간 및 임시 파일 (예 : 브라우저 다운로드 폴더와 같은 오래된 파일을 캐시에 저장하는 것이 좋습니다)에 대한 복제되지 않은 일반 볼륨으로 사용하십시오.하지만 실제로 아무것도 없습니다. 잃어 버렸다면 놓치세요).
Benny Mackney
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.