Я ни разу за всю свою жизнь не сталкивался с отказом диска, но у меня была дюжина битовых гнилей и тихих повреждений. «Обычные» файловые системы и аппаратный RAID абсолютно ничего не могут с этим поделать. Я использовал избыточность с четностью на уровне приложений для защиты моих самых важных данных, но, по-видимому, это не совсем эффективно.
Я знаю, что ZFS хранит контрольную сумму блоков в программном RAID, что обеспечивает защиту от битового гниения и тихого повреждения, или это так?. Проблема в том, что мне не нужен RAID-Z, потому что он не поддерживает расширение, а это означает, что мне нужно покупать диски с большей емкостью, чем все мои данные, если я хочу расширения.
Так можно ли использовать четность на уровне файловой системы без RAID или RAID неравного размера? Например, путем выделения части дискового пространства для сохранения четности «блоков» вместо сохранения четности дисков равного размера на другом диске, как в RAID5.
Спасибо всем за ответы. На основании ответов делается следующий вывод:
Нет, без RAID невозможно использовать контроль четности ZFS, но можно использовать зеркальное копирование без RAID.
Я не думаю, что это хороший вариант использования ZFS. Это похоже на то, что у вас есть желаемое решение, и вы пытаетесь его найти.
Да, есть ZFS copies=
Параметр, который будет стремиться хранить несколько копий файлов в разных секторах дисков, но не заменяет истинную избыточность.
Посмотри пожалуйста: https://jrs-s.net/2016/05/02/zfs-copies-equals-n/
Когда вы публикуете вопрос и говорите такие твердые вещи, как «RAID больше не используется», может быть полезно объяснить, почему у вас есть эти ограничения, чтобы мы могли помочь ответить на настоящий вопрос.
Контрольная сумма может только обнаружить повреждение. Это не поможет вам восстановить данные.
Если вы не хотите зеркалировать свои данные на двух (или более) виртуальных устройствах, вы можете установить copies
Свойство ZFS, которое укажет ZFS сохранить п копии данных (1, 2 или 3). Если одна копия повреждена, другую можно использовать для восстановления данных.
$ zfs get copies srv
NAME PROPERTY VALUE SOURCE
srv copies 1 default
$ zfs set copies=2 srv
Имейте в виду, что это не защищает вас от фактического отказа диска (который может произойти, даже если вы никогда не сталкивались с этим раньше). Это не резервная копия. Сделайте соответствующие резервные копии ваших данных.