n-out-m 중복성(Reed Solomon과 같은 삭제 코드)으로 파일을 샤딩하는 방법은 무엇입니까?

n-out-m 중복성(Reed Solomon과 같은 삭제 코드)으로 파일을 샤딩하는 방법은 무엇입니까?

file파일을 분할 하는 방법어떤 복구든 사용할 수 있도록 파일을 저장하세요.N그중에는?

처럼 보인다삭제 코딩, 바람직하게는 "최상의 삭제 코드"입니다. (애플리케이션 및 권장 프로그래밍 라이브러리의 또 다른 예: "코드를 지워야 합니다."https://stackoverflow.com/a/28932095). 그것은 마치리드 솔로몬 오류 수정(보다 유연한 것RAID6) 중복 스타일.

rsbep초기 발견: 지금까지 발견한 것일부 수정, 그러나 다양한 사용 사례에 맞게 설계된 것 같습니다. 또한 Linux 커널에서 사용자 공간으로 포팅된 reed-solomon도 발견했습니다.여기, 하지만 제가 설명하는 목적을 위한 도구는 아닙니다.

6의 레벨 3 중복성의 예:

split_with_redundancy -n 3 -m 6 input.dat

생성되고 있으므로 input.dat.0..5다음 파일의 트리이면 복구에 충분합니다.

recover_using_redundancy intput.dat.{0,2,4}

나는 주어진 파일의 오류에 대해 신경 쓰지 않습니다. 즉, 필요하지 않습니다순방향 오류 정정. m에서 n개의 중복 부분에 의존할 수 있다는 나의 가정은 완전히 정확합니다.

답변1

당신은보고 싶어

https://pypi.org/project/zfec/

이것이 바로 당신이 찾고 있는 것입니다. 예를 들어

zfec -k3 -m6 input.dat

6개의 파일이 생성되며, 그 중 3개는 원본 파일을 재구성하는 데 필요합니다.

답변2

이를 달성하기 위해 gfshare를 사용할 수 있습니다:http://manpages.ubuntu.com/manpages/bionic/man7/gfshare.7.html

apt-get install libgfshare-bin

예를 들어 7개 중 2개입니다.

gfsplit -n 2 -m 7 myfile.txt

파일을 재구축하는 데는 두 개의 공유만 사용할 수 있습니다.

gfcombine myfile.txt.1 myfile.txt.7 

관련 정보