哪些存档文件格式提供针对文件损坏的恢复保护?

哪些存档文件格式提供针对文件损坏的恢复保护?

我使用外部硬盘来备份我的文件,并将它们放入大型存档文件中。

我有数千个小文件,将它们放入 500MB 到 4.2GB 大小的存档中,然后将它们发送到外部硬盘。但是,一次硬盘故障会毁掉整个存档还是只会毁掉存档中的一个文件?我担心一个翻转的位可能会导致存档的大部分内容变得毫无用处。

CRC 检查之类的功能可以提醒您存在损坏,但我更感兴趣的是从损坏的存档中恢复未损坏文件的能力。哪些存档文件格式可以提供从此类故障中恢复的最佳能力,无论是通过存档结构的本机设计还是通过辅助恢复工具的存在?zip 和 iso 文件之间的这种能力有什么区别吗?

答案1

鉴于任何档案的目录部分损坏都可能导致整个档案无用,最好的办法是在备份过程中添加单独的步骤来生成所谓的奇偶校验文件。如果原始文件中的数据块损坏,可以通过将奇偶校验文件中的数据与原始文件的有效块相结合来重建。

变量是您希望修复多少损坏。如果您想防止单个位翻转,那么您的奇偶校验文件将只有 1 位大小。如果您想要调整磁盘扇区大小,那么显然会花费更多。

这背后有一个很大的理论(见前向纠错),并在实践中得到广泛应用。例如,这就是 CD 能够承受一定程度的刮擦的原因,也是手机在有损连接的情况下保持合理通话质量的原因。

长话短说,看一下.par文件。

答案2

Bup [1] 备份数据并自动添加奇偶校验冗余,使位腐烂的可能性极小。灾难性的磁盘故障仍然存在,因此我们可以将它与 git-annex 一起使用。

git-annex [2] 管理存储在多个存储库中的文件,其中一些可能存储在您的计算机、拇指驱动器、ssh 登录、一些云服务或 bup 备份存储库 [3] 中,让文件数据根据请求几乎透明地流动或自动流入您设置的任何存储库。它也是一个众筹的免费开源软件项目,用 Haskell 编写,版本可在多个平台上运行,包括 Linux、Mac、Windows 和 Android。

[1]https://github.com/bup/bup

[2]http://git-annex.branchable.com/

[3]http://git-annex.branchable.com/special_remotes/bup/

答案3

但是,一个硬盘故障会破坏整个档案还是仅仅破坏档案中的一个文件?

如果确实没有其他选择,只能将所有内容复制为一个大档案,那么您可能必须决定使用压缩档案还是未压缩档案。

未压缩档案的内容如下压缩包即使存档文件本身无法再读取(例如由于标题损坏),仍然可以通过文件恢复软件检测到。

使用压缩档案可能很危险,因为如果发生校验和错误,某些程序可能会拒绝提取文件,即使档案文件只有一位发生变化也会导致校验和错误。

当然,可以通过不将数百个文件存储到一个压缩档案中而是将数百个压缩文件存储到一个未压缩的档案中来最大限度地降低风险。

gzip *
tar cf archive.tar *.gz

虽然我以前从未在 Wildlife 中看到过 tarball 中包含大量 gzip 文件。只有相反的情况才很流行(即 tar.gz 文件)。

zip 文件和 iso 文件有区别吗?

ZIP 是一种(大多数情况下但不一定)压缩档案,而 ISO 是一种表示从光盘低级复制到文件中的原始数据的格式。后者实际上可以包含所有内容。

答案4

使用 WinRAR 进行存档时,默认情况下可选奇偶校验为 3%。这足以满足您的要求,即使出现损坏(也超过一位),它也可以重建损坏档案的给定百分比。

相关内容