ShardSeal: быстрый старт
ShardSeal создаёт для каталога отдельный файл с паритетными данными. Это не полная резервная копия: архив хранит математически вычисленную избыточность, позволяющую восстановить ограниченное число повреждённых или удалённых блоков.
Готовый Linux-бинарник
Section titled “Готовый Linux-бинарник”В архиве проекта находится статический бинарник:
chmod +x bin/linux-x86_64/shardsealbin/linux-x86_64/shardseal versionЗащитить каталог
Section titled “Защитить каталог”bin/linux-x86_64/shardseal protect ./данные ./данные.shardsealПо умолчанию используется схема 8+3: восемь информационных блоков и три блока паритета в каждой полосе. В пределах одной полосы можно потерять любые три блока.
Настройка избыточности:
bin/linux-x86_64/shardseal protect ./данные ./данные.shardseal \ --data 10 --parity 4 --chunk 4MПроверить состояние
Section titled “Проверить состояние”bin/linux-x86_64/shardseal verify ./данные.shardseal ./данныеКоды завершения: 0 — всё цело, 2 — есть восстанавливаемые повреждения, 3 — лимит паритета превышен.
Восстановить
Section titled “Восстановить”bin/linux-x86_64/shardseal repair \ ./данные.shardseal ./данные ./данные-восстановленныеИсходный повреждённый каталог не меняется. ShardSeal собирает новый каталог во временном месте, проверяет SHA-256 каждого блока и только затем публикует результат.
Собрать из исходников
Section titled “Собрать из исходников”cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Releasecmake --build buildctest --test-dir build --output-on-failureПосле этого CLI находится в build/shardseal.