LINUX.ORG.RU
решено ФорумAdmin

raid 1, 10 и raid-check

 


0

1

В mdadm существует скрипт /usr/sbin/raid-check, внесённый в кронтаб для еженедельной проверки массива. После проверки он возвращает результат из /sys/block/$dev/md/mismatch_cnt. Но перед тем как вывести он проверяет с каким массивом имел дело и в случае 1 или 10 пропускает результат:

        raid_lvl=`cat /sys/block/$dev/md/level`
        if [ "$raid_lvl" = "raid1" -o "$raid_lvl" = "raid10" ]; then
            continue
        fi
        if [ "$mismatch_cnt" -ne 0 ]; then
                echo "WARNING: mismatch_cnt is not 0 on /dev/$dev"
        fi

Перед этим там приведён комментарий по этому поводу:

Due to the fact that raid1/10 writes in the kernel are unbuffered, a raid1 array can have non-0 mismatch counts even when the array is healthy. These non-0 counts will only exist in transient data areas where they don't pose a problem.

However, since we can't tell the difference between a non-0 count that is just in transient data or a non-0 count that signifies a real problem, simply don't check the mismatch_cnt on raid1 devices as it's providing far too many false positives.

Другими словами: не нулевое значение не обязательно является ошибкой, но, поскольку мы не можем отличить, это значение просто не будет выводиться. Хорошо, всё понятно.

Но тогда может быть просто не выполнять проверку для типов 1 и 10? Нет, далее нам поясняют:

But by leaving the raid1 device in the check list and performing the check, we still catch and correct any bad sectors there might be in the device.

Но вот тут становится не совсем понятно. Что это за проверка на плохие сектора? Это некий аналог fsck?

★★★★★

Я думаю тут что-то типа:

1. Читаем последовательно все сектора с дисков массива

2. Если сектор не читается (бэд), то берем его живую копию с соседа и пытаемся записать поверх, чем вызываем ремэппинг этого сектора на сектор из резервной зоны.

3. Профит!

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

То есть, по видимому, совсем лучше не отключать, только перевести nice в idle.

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