Есть ли файловая система, которая исправляет ошибки?

Я ищу какую-нибудь виртуальную файловую систему (например, с виртуальным жестким диском) или какое-то другое рабочее решение для создания архивов или резервных копий данных с избыточностью с исправлением ошибок.

Я попытался найти что-то вроде Windows 7 VHD, которое можно отобразить как новое устройство хранения данных с собственной ФС, но имеющее определенный настраиваемый процентиль гарантии восстановления для файлов.

Другими словами, я хотел бы иметь виртуальный жесткий диск или что-то подобное, который я могу настроить, установив определенный процентиль восстановления (например, 10%), и цель - файлы на этом диске могут быть повреждены до 10%, и они будут возмещена.

Точнее, идея похожа на "зашифрованную" ФС (например, TrueCrypt), но с избыточностью для надежности вместо шифрования для конфиденциальности и безопасности.

Есть ли что-то подобное?

4 ответа

Я не уверен насчет виртуальной файловой системы, но есть много "настоящих" файловых систем, которые исправляют ошибки

  • Bcachefs - это еще не апстрим, полная контрольная сумма данных и метаданных, bcache - это нижняя половина файловой системы
  • Btrfs - файловая система на основе B-Trees, созданная корпорацией Oracle.
  • HAMMER - основная файловая система DragonflyBSD, созданная Мэттом Диллоном.
  • ReFS (Resilient File System) - файловая система Microsoft со встроенными функциями обеспечения отказоустойчивости.
  • Reliance - транзакционная файловая система с CRC, созданная Datalight.
  • Reliance Nitro - основанная на деревьях транзакционная файловая система с CRC, разработанная для высокой производительности и надежности во встроенных системах от Datalight.
  • NOVA - файловая система с ускорением энергонезависимой памяти для постоянной основной памяти.
  • ZFS - Создано Sun Microsystems для использования в Solaris 10 и OpenSolaris, портировано на FreeBSD 7.0, NetBSD (по состоянию на 08/2009), Linux и FUSE (не путать с двумя zFS от IBM)

https://en.wikipedia.org/wiki/List_of_file_systems

Конечно, вы можете использовать их на виртуальном жестком диске и позволить им обрабатывать исправления ошибок. Нет никакой разницы, читает ли драйвер файловой системы с физического или виртуального диска, поскольку они получают только поток байтов.

См. https://www.thanassis.space/rsbep.html

Это создает дополнительные файлы с данными для исправления ошибок, используя исправление ошибок Рида-Соломона, которое использовалось на аудио-компакт-дисках в прошлом.

К сожалению, нет файловой системы, которая использует эту технику..

https://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction

Да; Цеф

это единственная «файловая система», о которой я знаю, которая опционально использует код исправления ошибок (ECC). Обычно ECC реализуется аппаратно (RAM, HDD, SSD), поэтому btrfs/zfs/stratis используют только контрольные суммы, зеркала, четность для обработки отказа полного диска или повреждения, превышающего порог ECC. В отличие от btrfs/zfs/stratis, Ceph и другие распределенные файловые системы не имеют единой точки отказа, поэтому Ceph/etc может обеспечивать непрерывную доступность.

Некоторые архивы (rar и par2) предлагают ECC. например, файлы .md5 могут сопровождать другие файлы, как и par2.

Рекомендую прочитать https://en.wikipedia.org/wiki/Error_correction_code .

Я не слышал о такой, которая работает как файловая система блочного уровня.

Tahoe-LAFS действительно имеет эту функцию, но она работает больше как FTP, она медленная и действительно предназначена для распределения ресурсов между несколькими хостами.

Вы всегда можете сделать свои файлы избыточными самостоятельно, используя инструмент PAR2, такой как QuickPar.

Другие вопросы по тегам