LINUX.ORG.RU
ФорумAdmin

Как правильно вылечить LVM raid_mismatch_count

 , , ,


0

2

Есть один локалхост, на нём хомяк на LVM raid1.

На нём недавно, после пары месяцев эксплуатации был запущен lvchange --syncaction check LV и показал

  LV                      SyncAction Cpy%Sync Mismatches
  home                               0,00               
  [home_corig]            idle       100,00          640

(там сверху ещё кэш на SSD, поэтому мой рейд - это home_corig).

SMART дисков в порядке. По всей видимости, произошёл bit rot и данные на зеркалах немного отличаются и я не знаю, как каком диске они хорошие, а на каком - не очень, поэтому запускать lvchange --syncaction repair или lvchange --rebuild пока не хочу. Бекапы у меня есть, один даже с контролем целостности, но я хочу сначала определить масштабы разрушений.

man lvmraid говорит нам:

Scrubbing Limitations

The check mode can only report the number of inconsistent blocks, it cannot report which blocks are inconsistent. This makes it impossible to know which device has errors, or if the errors affect file system data, metadata or nothing at all.

Вопрос: какие есть средства и best practics для такой ситуации? HOWTO? Ваш личный опыт?

Просьба не предлагать вернуться в прошлое и использовать ZFS.

Пока что я запустил и жду cmp -l /dev/mapper/fedora-home_corig_rimage_0 /dev/mapper/fedora-home_corig_rimage_1 > fedora-home_corig_rimage.cmp с планом посмотреть на номера найденным им байтов каким-нибудь другим стредством (каким?) чтобы найти имена файлов.

★★★★★

Средства точно были, но не помню названий.

Для важных данных у меня тройное зеркалирование. Но уже есть luks2 с контролем целосности. По умолчанию в последнем cryptsetup. Но пока с предупреждением о обязательности бекапов.

boowai ★★★ ()

Не понимаю. cmp нашёл пару тысяч различающихся БАЙТ, когда я пересчитал это в БЛОКИ получил меньше десяти. А LVM рапортует о пяти сотнях. Чего я не понимаю?

legolegs ★★★★★ ()

Просьба не предлагать вернуться в прошлое и использовать ZFS.

Прошлое - это как у тебя сейчас, когда система даже не знает, где валидная копия. Если религия не позволяет Btrfs, то попробуй dm-verify (или verity, или ещё как-то, не помню). Правда там очевидная проблема WA.

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

dm-verit же только для чтения. При каждом изменении надо перегенерировать. Есть новый dm-integrity, сделанный для luks2. У него падение скорости в 2 раза при барьерах.

А zfs, btrfs. Помогут? В обычных режимах там же чексуммы только на метаданных?

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

Есть новый dm-integrity, сделанный для luks2.

Вот это я имел в виду. Постоянно их путаю.

Есть новый dm-integrity, сделанный для luks2. У него падение скорости в 2 раза при барьерах.

А без журнала оно бесполезно :)

А zfs, btrfs. Помогут? В обычных режимах там же чексуммы только на метаданных?

Нет, для всего. Нужно приложить некоторые усилия, чтобы их отключить.

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

Или я вас не понял в части «пересчета». Или кто вам сказал что в блоке все байты различаются? При изменении одного байта в блоке, сами блоки уже становятся разными.

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

cmp выдаёт список байт. Часто эти байты идут подряд, т.е. относятся к одному блоку. Я сейчас далеко от того компа, но там номера байтов типа «123, 200000001, 200000002, 200000003, 200000004» - разумеется это 2 блока, а не 5. Меня не волнует, сколько байт отличается, даже один бит - уже не порядок. Но cmp находит меньше разных блоков, чем lvm и этого я не понимаю.

legolegs ★★★★★ ()