/etc/cron.weekly/99-raid-check: WARNING: mismatch_cnt is not 0 on /dev/md0

Raistlin
На сайте с 01.02.2010
Offline
247
#51

Объясните мне, как это у вас на рассинхронизированном рейде1 происходит чтение с обоих дисков и один из них не вылетает в фэйл?

HostAce - Асы в своем деле (http://hostace.ru)
M
На сайте с 16.09.2009
Offline
278
#52
netwind:
А ionice фактически бесполезен.

Отнюдь. Но лучше пользоваться им осознанно, не загоняя все тупо в один класс Idle.

netwind:
В отличие от обычных приоритетов cpu, с диском невозможно отменить или заморозить операцию ввода-вывода.

Кстати, может иметь смысл поиграться и с приоритетами - выставить их там же, где и вызывается ionice. Редхетовский скрипт это делает.

Raistlin:
Объясните мне, как это у вас на рассинхронизированном рейде1 происходит чтение с обоих дисков и один из них не вылетает в фэйл?

Это вообще к кому вопрос был?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
N
На сайте с 06.05.2007
Offline
419
#53
Raistlin:
Объясните мне, как это у вас на рассинхронизированном рейде1 происходит чтение с обоих дисков и один из них не вылетает в фэйл?

Если raid "не знает" что он рассинхронизирован, то будет происходить чтение с с обоих дисков. Ошибки на уровне md не возникает. Ошибка возникает на уровне логической структуры файловой системы.

Кнопка вызова админа ()
Raistlin
На сайте с 01.02.2010
Offline
247
#54
myhand:
Это вообще к кому вопрос был?

К проблемам с рейзерфс. Ну мдадм после резета заново синхронизирует рейды вообщет. И там два диска ну никак не могут быть в рейде - система читает с одного пока данные не синхронизированы.

---------- Добавлено в 20:16 ---------- Предыдущее сообщение было в 20:14 ----------

netwind:
Если raid "не знает" что он рассинхронизирован, то будет происходить чтение с с обоих дисков. Ошибки на уровне md не возникает.

После резета рейд по-умолчанию считает, что он рассинхронизирован. Никогда во время выключения не видели строчку "stopping all md devices - ok" ? Как раз для того, чтобы он при загрузке не начал синхронизацию. А резет этого не делает.

N
На сайте с 06.05.2007
Offline
419
#55
myhand:
Отнюдь. Но лучше пользоваться им осознанно, не загоняя все тупо в один класс Idle.

Ну вам Dimanych написал, что у него не работает. Неужели все врут специально вам ?

Разумеется, любой разумный человек будет запускать процесс для бекапа с классом idle, а остальные без ionice. Что в этом сценарии неправильно? Как заставить ionice работать?

---------- Добавлено в 17:18 ---------- Предыдущее сообщение было в 17:17 ----------

Raistlin:
Никогда во время выключения не видели строчку "stopping all md devices - ok"

я после резета ничего не вижу, на то он и резет.

Raistlin
На сайте с 01.02.2010
Offline
247
#56
netwind:
я после резета ничего не вижу, на то он и резет.

Перечитайте еще пару раз до просветления.

---------- Добавлено в 20:20 ---------- Предыдущее сообщение было в 20:19 ----------

netwind:
Разумеется, любой разумный человек будет запускать процесс для бекапа с классом idle, а остальные без ionice. Что в этом сценарии неправильно? Как заставить ionice работать?

мдэ. Вы вот запустите вообще ВСЕ дисковые операции с idle. Намёк понятен?

M
На сайте с 16.09.2009
Offline
278
#57
netwind:
Ну вам Dimanych написал, что у него не работает.

Ему написали в ответ что с этим делать.

netwind:
Разумеется, любой разумный человек будет запускать процесс для бекапа с классом idle, а остальные без ionice.

Почему? Есть ведь другие классы шедулера, а там есть и иные приоритеты. Плюс, есть приоритеты CPU. Плохо уже то - что бекап и чекинг происходит не различаются приоритетами шедулера, на что я указал выше.

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

Забавно, вы стало быть Dimanych'а разумным не посчитали? - т.к. у него "остальные" процессы тоже с ionice запущены. Конкретно - проверка рейда.

Raistlin:
После резета рейд по-умолчанию считает, что он рассинхронизирован.

Вас кто-то жестоко обманул. Все чуть сложнее, рассинхронизация не обязательно будет. man md, раздел UNCLEAN SHUTDOWN - читаем до просветления.

N
На сайте с 06.05.2007
Offline
419
#58

Raistlin, я имел ввиду кнопку reset. на любом компьютере такая есть. понажимайте у себя чтобы понять что именно происходи.

или же, что более вероятно, проблему вызывает какая-то железная проблема приводящая к внезапной перезагрузке.

Raistlin:
мдэ. Вы вот запустите вообще ВСЕ дисковые операции с idle. Намёк понятен?

Не понятен. Объясните подробнее зачем бы мне запускать все дисковые операции с idle. Я этого не делаю.

---------- Добавлено в 17:46 ---------- Предыдущее сообщение было в 17:43 ----------

myhand:
"Любой разумный человек" - не будет тупо плакаться "у меня не работает скрипт в конфигурации по-умолчанию", а разберется почему не работает и поправит это. Что именно сделать - я предложил варианты.

Опять 25.

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

Кстати, синхронизация и проверка md происходит с ограничением по скорости именно поэтому.

Можно еще забыть про шедулер дисковых операций - для ionice не нужно использовать deadline. Но даже если переключать шедулер, то у меня толку все равно мало было.

M
На сайте с 16.09.2009
Offline
278
#59
netwind:
Скорее всего, ваше предложение насчет ionice лишь незначительно уменьшит негативные эффекты от бекапа.

Я не телепат, в отличие от. Зависит от нагрузки, ее типа, расписания бекапа и проверок...

netwind:
Действеннее уменьшать скорость бекапа и тем самым обеспечить нормальным операциям резерв. В этом состоит мое замечание.

А теперь посоветуйте что-то практически. Как вы это замечание собираетесь реализовать для произвольного приложения "скрипт бекапа"?

N
На сайте с 06.05.2007
Offline
419
#60
myhand:
Я не телепат, в отличие от. Зависит от нагрузки, ее типа, расписания бекапа и проверок...

причем тут телепатия? два человека написали вам - не помогает.

myhand:
А теперь посоветуйте что-то практически. Как вы это замечание собираетесь реализовать для произвольного приложения "скрипт бекапа"?

Ну можно же использовать не произвольный, а специальный.

В описываемой ситуации я бы посоветовал уменьшить максимальную и минимальную скорость проверки массива - sysctl dev.raid.speed_limit_max

насчет md. вот читаю ман:


To handle this situation, the md driver marks an array as "dirty" before writing any data to it, and marks it as "clean" when the array is being disabled, e.g. at shutdown.

Что есть md driver marks an array as "dirty" ? запись специальной метки на оба диска.

Допустим, резет произошел в тот момент, когда первый диск еще не успела записаться метка, а но на второй записались и данные и метка (хотя из-за ncq возможно записались только данные).

Драйвер md, похоже, просто посылает команды на нижний уровень, но результат и очередность не контролирует.

Хотя в мане не акцентирован этот момент, но метка не записана туда постоянно как только смонтирован raid. raid без нагрузки спокойно переживает резет без рассинхронизации или ругани. Метка dirty при этом не помечена.

Если у вас есть другое объяснение почему до синхронизации массива reisefschk завершается с ужасной ошибкой, а после синхронизации точно такая же команда работает - расскажите.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий