Как выбрать параметры par2 (Parity Archive), чтобы получить эффективное по размеру исцеление данных? - PullRequest
0 голосов
/ 06 апреля 2020

Я хочу использовать Parity Archive 2 и особенно инструмент par2 на linux для создания файлов, позволяющих лечить дампы данных. Файлы данных, которые нужно выгрузить, обычно невелики (скажем, от 4 до 150 КБ), и размер файлов par2 также должен быть небольшим.

Меня смущают аргументы, представленные в par2, и их влияние на объединенные файлы par2. Например:

$ head -c 4096 </dev/urandom > dummy.dat # create a random file, 4096 bytes

$ par2 create dummy.dat
$ ls -lrth
total 528K
-rw-r--r-- 1 jrlab jrlab 4,0K april  6 13:50 dummy.dat
-rw-r--r-- 1 jrlab jrlab  75K april  6 13:50 pdf_dump.pdf
-rw-r--r-- 1 jrlab jrlab 103K april  6 13:54 dummy.dat.vol31+20.par2
-rw-r--r-- 1 jrlab jrlab 103K april  6 13:54 dummy.dat.vol15+16.par2
-rw-r--r-- 1 jrlab jrlab  82K april  6 13:54 dummy.dat.vol07+08.par2
-rw-r--r-- 1 jrlab jrlab  62K april  6 13:54 dummy.dat.vol03+04.par2
-rw-r--r-- 1 jrlab jrlab  41K april  6 13:54 dummy.dat.vol01+02.par2
-rw-r--r-- 1 jrlab jrlab  21K april  6 13:54 dummy.dat.vol00+01.par2
-rw-r--r-- 1 jrlab jrlab  21K april  6 13:54 dummy.dat.par2
$ rm *par2

$ par2 create -s128 dummy.dat
$ ls -lrth
total 92K
-rw-r--r-- 1 jrlab jrlab 4,0K april  6 13:50 dummy.dat
-rw-r--r-- 1 jrlab jrlab  75K april  6 13:50 pdf_dump.pdf
-rw-r--r-- 1 jrlab jrlab 1,3K april  6 14:01 dummy.dat.vol1+1.par2
-rw-r--r-- 1 jrlab jrlab 1,3K april  6 14:01 dummy.dat.vol0+1.par2
-rw-r--r-- 1 jrlab jrlab 1,1K april  6 14:01 dummy.dat.par2
$ rm *par2

$ par2 create -s512 -r15 dummy.dat
$ ls -lrth
total 88K
-rw-r--r-- 1 jrlab jrlab 4,0K april  6 13:50 dummy.dat
-rw-r--r-- 1 jrlab jrlab  75K april  6 13:50 pdf_dump.pdf
-rw-r--r-- 1 jrlab jrlab 1,2K april  6 14:04 dummy.dat.vol0+1.par2
-rw-r--r-- 1 jrlab jrlab  568 april  6 14:04 dummy.dat.par2
$ rm *par2

$ par2 create -s512 -r5 dummy.dat
$ ls -lrth
total 88K
-rw-r--r-- 1 jrlab jrlab 4,0K april  6 13:50 dummy.dat
-rw-r--r-- 1 jrlab jrlab  75K april  6 13:50 pdf_dump.pdf
-rw-r--r-- 1 jrlab jrlab 1,2K april  6 14:30 dummy.dat.vol0+1.par2
-rw-r--r-- 1 jrlab jrlab  568 april  6 14:30 dummy.dat.par2

Это показывает, что аргумент -s, по-видимому, важен для получения нескольких файлов par2 среднего размера, и что существует нетривиальная «сладкая точка». Кроме того, коэффициент избыточности -r интересен, так как в случае, если я получаю ту же стоимость пространства более или менее за получение 5% или 15% устойчивости к ошибкам (в этом случае я настоятельно предпочитаю 15%, конечно).

Итак, мой вопрос: как мне выбрать параметры для par2, чтобы объединенные файлы par2 были маленькими и чтобы они были «оптимальными» по количеству ошибок, которые я могу исправить, насколько это возможно? Любой способ интуитивно понять результаты / что за объяснение?

...