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