LINUX.ORG.RU
ФорумAdmin

Block device с контролем целостности данных

 , device mapper, ,


0

2

Есть одноплатник на ARMе. Под все файловые системы используется софтовый RAID1 из одной microSD карточки и одной флешки. Это уже лучше, чем что-то одно, но есть серьёзный недостаток: в RAID1 нету никаких средств для проверки валидности данных. И если при чтении из блочного устройства ошибок не будет, но при этом по факту будет прочитан мусор, то получится полная хрень. Ситуацию ухудшает то, что по моему личному опыту, флешки и microSDшки мрут именно с такими симптомами довольно часто.

Вопрос: а есть ли что-нибудь в линуксе для повышения надёжности в таких случаях? В своих фантазиях я вижу некое виртуальное блочное устройство, которое можно создать поверх другого, и которое реализует какое нибудь избыточное кодирование или хотя бы поблочные чексуммы. Нагуглить не вышло.

ZFS не предлагать, так как нету гигабайтов оперативной памяти и десятков ядер процессора. Btrfs тоже вроде сильно жручая. Так что пока хочется именно блочное устройство, поверх которого можно сделать RAID1 и LVM с обычными ФС.

Deleted

Последнее исправление: Deleted (всего исправлений: 2)

Ответ на: комментарий от deadNightTiger

This target is read-only.

Очевидно не подходит.

Deleted
()

хочется именно блочное устройство

Извините, а где оно будет хранить чексумы? Дисковым пространством только файловая система может распоряжаться.

anonymous
()
Ответ на: комментарий от anonymous

Извините, а где оно будет хранить чексумы?

На том же самом блочном устройстве. dm-verity бы подошёл, если бы он не был read-only.

Deleted
()

Сделай RAID1 поверх шифрованных томов - по крайней мере, это должно обнаруживать ошибки. А надежность использованием чексумм ты, ИМХО, не увеличишь - в SD и флешках уже используется ECC.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

шифрованных томов

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

в SD и флешках уже используется ECC

Только вот не всегда оно работает. То ли контроллеры дохнут, то ли ушлые китайцы выключают, чтобы использовать всё место на флешках 1:1. Я ни разу не видел, чтобы жёсткий диск выдал говно вместо данных вместо ошибки чтения, но при этом лично видел такое на флешках и microSD-карточках.

Основная моя цель - надёжно выявлять подобные проблемы при проверке RAID1 по крону.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
 ~ # lsmod|grep btrfs
btrfs                1015808  3
xor                    24576  1 btrfs
raid6_pq              102400  1 btrfs

Это не так уж и много за фичи Btrfs.

anonymous
()
Ответ на: комментарий от Deleted

Основная моя цель - надёжно выявлять подобные проблемы при проверке RAID1 по крону.

Если это MD RAID, то ты просто получишь некий абстрактный +1 в mismatch_cnt. А вот Btrfs и ZFS знают, где именно инвалидные данные.

Шифрование тут тоже никак не повлияет: если блок на томе dm-crypt немножко испортить, то он всё равно успешно расшифруется с понятно каким результатом.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.