par2작동 원리

par2작동 원리

배경:

저는 LTO-8 테이프를 사용하고 있으며 시간이 지남에 따라 테이프의 데이터가 손상될 수 있다는 우려가 있습니다. 제가 달성하려는 것은 par2를 사용하여 복원/복구/복구를 시도할 수 있는 무언가를 만드는 것입니다. 해당 LTO-8 테이프의 미래는 손상될 수 있는 모든 데이터입니다.

내 사고 과정/접근 방식은 다음과 같습니다.

저는 RAID5/raidz가 1개의 드라이브를 사용하여 패리티 데이터를 저장하는 방법에 대해 생각하고 있습니다(기존 RAID5 패리티에서는 RAID 어레이에서 제거될 것이라고 생각합니다).

par2에는 패리티 수준 및/또는 생성할 패리티 수를 설정할 수 있는 명령 플래그 "-r"이 있습니다.

알겠어요.

하지만 제가 이해하지 못하는 부분은 파일에서 해당 플래그를 사용하면 .par2 파일이 생성된다는 것입니다. 이것은 "RAID5"/"raidz"와 동일합니까 아니면 유사한 것을 달성하려는 저의 전체적인 사고 과정과 접근 방식입니다 효과 완전히 틀렸나요?

LTO-8 테이프 자체가 일부 체크섬을 수행한다는 것을 알고 있지만 체크섬에 문제가 있는 경우 자체적으로 어떻게 해결될지는 확실하지 않습니다(해당 기능이 있는 경우 - LTFS에 대해서는 읽지 않았습니다). 아직) 기사에서 가능하다는 문서를 본 적이 없지만, 불가능하다는 문서도 읽거나 보지 못했습니다.

자체적으로 복구할 수 없는 경우(또는 최악의 시나리오라고 생각함) par2를 사용하면 데이터 손상으로부터 테이프를 보호하기에 충분합니까?

또한 현재 설정한 방식은 .par2 파일도 동일한 테이프에 기록된다는 것입니다. 그런 다음 테이프 백업 자체에 중복 복사본과 같은 상위-하위 구조가 있습니다.

패리티 데이터를 사용할 수 있다면 상위-하위/중복 백업 구조를 사용하는 대신 테이프의 절반을 비워 다른 데이터에 사용할 것입니다.

이를 달성하는 방법에 대한 모든 생각, 아이디어 및/또는 통찰력은 높이 평가됩니다.

감사해요.

답변1

par2작동 원리

par2특정 데이터 파일 세트에 대한 패리티 비율을 계산하도록 선택할 수 있습니다 . 내부적으로 전체 데이터세트를 다음과 같이 나눕니다.조각이 블록에 대한 패리티 정보를 계산합니다. 그래서기본 작업 단위는 블록입니다.(무결성 검사 및 데이터 재구성용)

해당 알고리즘은 실제로 일부 RAID 알고리즘과 유사하지만 모든 패리티 블록을 사용하여 손상된 데이터 블록을 복구할 수 있기 때문에 기존 RAID5보다 더 복잡합니다. 그것은 사용한다리드 솔로몬 오류 정정 코드더 많은 계산이 필요합니다!

두 개의 서로 다른 블록인 경우아주 약간손상된 후에도 데이터를 복구하려면 2개의 패리티 블록이 필요합니다. 반면에 1블록이면완전히손상 후 복구하려면 패리티 블록이 1개만 필요합니다. 따라서 이에 따라 블록 크기를 고려할 수도 있습니다.

또한 par2부분적으로 읽을 수 있는 손상된 파일의 일부 패리티 정보를 계속 읽을 수 있는 경우 데이터 복구에 여전히 역할을 할 수 있습니다.

그런 다음 (깨진)과 함께 사용하도록 설계되었습니다.문서(데이터 흐름이 아닌).

따라서 다음을 선택할 수 있습니다.

FULL DATASET + 20% par2 parity files

이는 약을 잃을 수 있음을 의미합니다. 귀하의 데이터의 20%에 해당합니다.조각.

결정을 내릴 때 고려해야 할 사항

그런 다음 선택하는 것은 귀하에게 달려 있습니다.

  • 전체 데이터 세트의 크기(더 클수록 복구 및 패리티 구성에 더 많은 컴퓨팅 리소스가 필요함)
  • 계산하려는 패리티 비율,
  • 데이터의 패리티 및 물리적 위치
  • 블록 크기,

알다:

  • 복구를 수행하려면 완전한(손상된) 데이터 세트 + par2_data가 필요하며, 이 복구는 디스크에서 수행되어야 합니다.
  • 이를 고치려면 무시할 수 없을 만큼의 CPU 성능이 필요합니다.
  • 테이프 리더/라이터 및 소프트웨어에는 복구에 도움이 될 수도 있고 그렇지 않을 수도 있는 읽을 수 없는 데이터에 대한 특정 동작이 있을 수 있습니다.

몇 가지 가능성

테이프 리더가 읽을 수 없는 바이트를 0과 같은 바이트로 바꿀 수 있는 경우 par2파일을 동일한 테이프에 저장하는 것이 합리적일 수 있다고 생각합니다. 그러면 전체 손상 시나리오를 시도하는 것보다 복구 프로세스가 더 쉬워집니다. 파일은 다음과 같습니다. 디스크로 전송할 때 손실됩니다.

전체 테이프가 손실될 위험을 고려하고 있다면 실제로 여러 테이프 데이터 세트에 대해 계산된 패리티 파일이 필요하며 최소한 가장 큰 테이프가 저장할 수 있는 만큼의 패리티 데이터가 필요합니다. 복구를 위해서는 남은 테이프 데이터와 패리티 데이터를 디스크로 전송하여 손실된 테이프 데이터를 재구성해야 합니다.

결론적으로

par2매우 유연하므로 모든 것은 귀하와 귀하가 방지하려는 데이터 손실 시나리오에 따라 다릅니다.

par2클래식 RAID 패리티처럼 작동하지 않으며 이러한 목적으로 제작되지도 않습니다. 한 디스크의 특정 데이터 블록이 다른 디스크의 특정 전용 패리티 블록을 갖고, 모든 par2패리티 블록은 더 복잡하고 비용이 많이 드는 프로세스를 통해 다른 블록에 의해 복구될 수 있기 때문에 RAID 패리티 복구가 더 빠릅니다.

따라서 수리 기간을 고려해 볼 수도 있습니다. "대형" 데이터 세트에서 par2를 사용하여 손상된 데이터를 복구하는 데 시간이 오래 걸릴 수 있습니다. 결정을 내리기 전에 몇 가지 테스트를 해보는 것이 좋습니다.

par2중복성 및 데이터 손실 방지를 위해 계속 사용할 수 있지만 위의 요소를 고려하십시오.

관련 정보