LINUX.ORG.RU
ФорумAdmin

Почему mdraid теряет синхронизацию при hardware reset?


0

0

Достало, что при каждом отключении питания (заказчики не могут пока купить UPS), при следующей загрузке софтовый raid заново синхронизируется (а это аж 250GB данных).

Это можно побороть?

Ядро 2.6.18.1 vanilla.

★★★★★

поставить UPS

anonymous
()

Он не "рассинхронизируется", а "считает себя несинхронным ибо не был корректно расцеплен". И в принципе абсолютно прав. Попробуй сам подумать и понять почему - если нет, то читай дальше.

В общих словах, операции записи на устройства софторейда вообще говоря несинхронны - пишем раз, пишем два - если это все еще и на одном контроллере, то эти операции оказываются последовательны. Соответственно при хардварном резете существует вероятность, что мы попали в паузу между этими "раз" и "два".

При корректном отключении системы при отключении md-девайса в суперблок массива пишется информация "был сделан синк", при открытии массива эта метка снимается. Если флажок "был сделан синк" не найден - массив считается потенциально несинхронизированным и должен быть засинхронизирован.

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

Спасибо за развёрнутый ответ.

Если я кроном буду каждые 5 секунд запускать sync, это хоть как-то поможет?

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

sync это на уровне OS, на уровне железа imho не поможет.

anonymous
()

А чем оно мешает, это же не fsck корня, может выполняться на запущеной системе? И скорость синхронизации можно подшаманить что бы тормозило меньше...

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

рейд не в курсе твоих sync'ов, он знает одно: его остановили некорректно, так что надо на всякий случай синхронизироваться.

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