Здра!
В логе [mdadm] RebuildFinished event detected on md device /dev/md127, component device mismatches found: 256 (on raid level 1)
На нём /, в смартах дисков без проблем.
Бывало уже так у меня раньше на свопе, потом само прошло. А что с корнем делать? Как лечить и проверить? Вроде, как пишут, зеркало не лечится и не определяется, только переустанавливать систему? Потому что это или действительно диск нагибается, или было допущено некорректное действие (резкий выкл) и пиши пропало?
А так всё работает без проблем, /proc/mdstat как у молодого, и зачем это придумали, если теоретически не чинится? Добавить рубцов и морщин админам
Я, как настоящий скуф, долго не признаю что-то новое. Раньше тоже отдавал предпочтение утилите mdadm, но однажды всё-таки решился пощупать LVM и до моей "головы садовой" дошло, какую гибкость из этого можно извлечь + уж если совсем паранойя, то есть LVM RAID уровня зеркало. Плевать какого размера диски! Командуешь на предварительно размеченных дисках lvcreate --size 10G --name test-lv --mirrors 1 vgroup и получаешь желаемое. Моделировал выход из строя одного диска, потом добавлял другой, вводил его в vgroup и синхронил. Всё работает!
В общем я бы рекомендовал посмотреть в сторону LVM
However on RAID1 and RAID10 it is possible for software issues to cause a mismatch to be reported. This does not necessarily mean that the data on the array is corrupted. It could simply be that the system does not care what is stored on that part of the array - it is unused space.
Я бы первым делом fsck прогнал. Если он ошибок не найдёт, можно попробовать занулить всё свободное место и посмотреть, уйдёт ли ошибка. Если массив из обычных дисков, то cat /dev/zero > /zeroes; sync; rm /zeroes, если из SSD или дисков с SMR, то fstrim /dev/md127 (если не уверены, то сначала попробуйте fstrim, а если он выдаст ошибку — то первый вариант).
Потренировался на свопе (он размером 10Гб, и тоже не соответствует), после "checkarray --repair" несоответствия пропали (128⇒0)
А на корне несответствия уменьшились (256⇒128), не пропали. Своп я выключал, а корень нет. Надо будет из другой системы прогнать.
Вызывает подозрение кол-во несовпадений, кратное степеням двойки. На какой-то бзик похоже.
Вызывает подозрение кол-во несовпадений, кратное степеням двойки.
A count of mismatches is recorded in the sysfs file md/mismatch_cnt. This is set to zero when a scrub starts and is incremented whenever a sector is found that is a mismatch. md normally works in units much larger than a single sector and when it finds a mismatch, it does not determine exactly how many actual sectors were affected but simply adds the number of sectors in the IO unit that was used. So a value of 128 could simply mean that a single 64KB check found an error (128 x 512bytes = 64KB).