스트라이프 어레이(zfs/lvm?)의 한 디스크에 각(전체) 파일을 저장합니다.

스트라이프 어레이(zfs/lvm?)의 한 디스크에 각(전체) 파일을 저장합니다.

내 구성은 스트라이프 어레이로 사용하려는 HDD 드라이브 2개(3TB + 4TB)입니다.

저는 이것을 달성하고 싶습니다. 내 드라이브 중 하나에 오류가 발생하면 내 파일(양호한 드라이브에 있는)의 절반이 안전하다는 것이 보장됩니다. 즉, 내 각 파일이완전히스토리지는 두 개의 드라이브에 분산(블록으로 분할)되지 않고 두 드라이브 중 하나에 있습니다.

이 작업을 ZFS 또는 LVM으로 수행할 수 있습니까?

그렇지 않다면 이 작업에 대한 다른 옵션이 있을까요?

마찬가지로 두 개의 드라이브를 하나의 큰 파티션으로 병합하고 싶습니다. 두 번째 드라이브가 닫힐 때 첫 번째 드라이브에 저장된 파일에 액세스하고 싶습니다.

답변1

ZFS에서 가능한 유일한 구성은 각각 하나의 디스크로 구성된 두 개의 별도 풀을 만드는 것입니다.

풀에 연결하면 스트라이프 방식으로 연결되며 하나의 디스크가 손실되면 전체 풀에 치명적입니다. "copies=2"를 사용하지 않으면 단일 파일의 손실도 치명적입니다.

Lambert의 제안은 좋은 해결 방법이지만 3+4TB 대신 2x3TB를 갖게 되므로 2.0 이상의 압축이 필요합니다(이미 단일 사용자 시스템에서는 달성하기 어렵습니다).

답변2

마침내 몇 가지 조사 끝에 내가 찾던 것을 찾았습니다.

올바른 키워드는 "union mount"입니다.

Linux에는 몇 가지 옵션이 있습니다.

나의 최종 선택은파일 시스템 병합. 이유를 설명하겠습니다.

OverlayFS는 커널에 내장되어 있습니다(이것이 큰 장점입니다). 하지만. 설계상 항상 한 파티션에 쓰고 다른 파티션은 변경되지 않은 상태로 유지됩니다. 이는 읽기 전용 파티션을 쓰기 가능하게 만들어야 할 때 편리하지만(LiveCD에서와 같이) 두 파티션에 동일하게 쓰고 싶습니다.

다음은 UnionFS와 aufs입니다. UnionFS에 대해서는 잘 모르겠지만 aufs에는 aufs 패치를 적용하기 위해 커널 재구축이 필요하므로 이는 권장되지 않습니다.

세 번째 옵션은 FUSE 기반 소프트웨어입니다. 그 중 일부(funionfs)는 배포판 저장소에서 찾을 수 없고 일부(unionfs-fuse)는 버전 번호가 1.0이므로 상당히 원시적이라고 가정합니다.

그래서 나는 mergefs를 시도했지만 어떤 단점도 찾지 못했습니다(내 사용 사례에서는). 모든 파일 시스템과 모든 크기의 논리 볼륨을 사용할 수 있습니다. 파일은 모든 드라이브(예: RAID0, lvm 및 zfs)에 분산되지 않습니다. 일부 드라이브(전체 드라이브보다 적음)를 사용할 수 없는 경우에도 일부 데이터에 계속 액세스할 수 있습니다. 균형! (새 파일은 여유 공간이 더 많은 드라이브에 기록됩니다.) 커널을 다시 빌드할 필요도 없습니다 :)

관련 정보