我使用的是LTO-8磁带,我担心的是,随着时间的推移,磁带上的数据可能会被破坏,而我试图实现的目标是使用par2来创建我将来可能会使用的奇偶,尝试恢复/修复/恢复任何最终可能在上述LTO-8磁带上被破坏的数据。
我在考虑RAID 5/raidz将如何使用1驱动器进行奇偶校验数据(我认为在传统的RAID5中,奇偶校验将被剥离,然后穿过RAID数组)。
在par2中,有一个命令标志"-r“,您可以在其中设置要创建的奇偶校验级别和/或奇偶校验的数量。
我能理解。
但我不明白的部分是,如果我在文件中使用这个标志,它会创建.par2文件,这是否与"RAID5"/"raidz“相同,还是我试图实现类似效果的整个思维过程和方法完全错误?
我知道LTO-8磁带本身我认为会做一些校验和,但我不太确定的是,如果校验和有问题,它将如何修复自己(如果它有这种能力--我还没有看到任何关于LTFS的文档显示它可以,但我也没有看过任何说明它不能的文档)。
如果它无法自我修复(或者我假设这是最坏的情况),那么使用par2是否足以保护磁带免受数据损坏?
此外,我目前设置它的方式是,.par2文件也被写入到相同的磁带(然后我有一个父子结构关于磁带备份本身,例如副本)。
如果我可以使用奇偶校验数据,那么我可以释放一半的磁带用于其他数据,而不是使用父子/重复备份结构。
任何关于我如何做到这一点的想法、想法和/或见解都是非常感谢的。
谢谢。
发布于 2021-03-10 15:59:45
par2如何工作使用par2,您可以在给定的数据文件集上选择要计算的奇偶百分比。它在内部将整个数据集分割成块,以计算这些块上的奇偶信息。因此,它的基本工作单元是块(用于完整性检查和数据重构)。
它的算法确实类似于某些RAID算法,但比传统的RAID5更复杂,因为任何奇偶校验块都可以用来恢复任何损坏的数据块。它使用里德-所罗门纠错码,这需要更多的计算!
如果两个不同的块被轻微损坏,您仍然需要2个奇偶校验块来恢复数据。另一方面,如果一个块完全损坏,则只需要一个奇偶校验块即可恢复。因此,块大小可以是您想要相应考虑的问题。
此外,如果部分可读的par2文件中的一些奇偶校验信息仍然可以读取,则它们仍然可以在数据恢复中发挥作用。
然后,它被设计用来处理(损坏的)文件(而不是数据流)。
所以你可以选择拥有:
FULL DATASET + 20% par2 parity files那就意味着你可能会失去接近。相当于你数据块的20%。
决策需要考虑的
那就由你来选择:
知道这一点:
如果您的磁带读取器能够用等于0的字节替换不可读的字节,那么我想将par2文件存储在同一磁带上是有意义的,因为这将使恢复过程比在磁盘上传输时丢失全部损坏的文件更容易。
如果您正在考虑丢失一个完整磁带的风险,那么您确实需要在多个磁带数据集上计算的奇偶校验文件,并且您至少需要与最大磁带所保存的数据相同的奇偶校验数据。为了恢复,您需要将剩余的磁带数据与奇偶校验数据一起传输到磁盘,以重建丢失的磁带数据。
par2非常灵活,所以这取决于您和您想要保护的数据丢失场景。
par2不像经典的RAID奇偶那样工作,也不是为此目的而构建的。RAID奇偶校验恢复速度更快,因为磁盘上的特定数据块在另一个磁盘上有特定的专用奇偶校验块,而任何par2奇偶校验块都可以通过更复杂和昂贵的过程恢复任何其他损坏的数据块。
因此,您可能需要考虑修复的时间。在“大”数据集上使用par2恢复损坏的数据可能会很长。在决定之前,我建议进行一些测试。
par2仍然可以用于冗余和数据丢失预防,但有上述考虑。
https://unix.stackexchange.com/questions/638560
复制相似问题