Есть ли файловая система, которая исправляет ошибки?
Я ищу какую-нибудь виртуальную файловую систему (например, с виртуальным жестким диском) или какое-то другое рабочее решение для создания архивов или резервных копий данных с избыточностью с исправлением ошибок.
Я попытался найти что-то вроде 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://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.