myhand

Рейтинг
278
Регистрация
16.09.2009
Raistlin:
дма-запись на винты. В разный момент времени там могут быть разные данные. Т.е. при работе массива они там на винтах не синхронны, например это своп, частоизменяемый файл, прерванная запись. собственно, это и есть в цитате.

Проблема в том, что "цитата" не сводится к простому упоминанию "вумного слова". Дело вовсе не в DMA, а в том как система работает в подобном сценарии.

С метаданными fs такого, по идее, случиться не должно.

netwind:
написано, что для raid1 выбирается первый For RAID1, this involves copying the contents of the first drive onto all other drives.

Вам читать до посинения раздел SCRUBBING AND MISMATCHES. Не путайте его с UNCLEAN SHUTDOWN ;)

Речь ведь у вас шла о "чистом" массиве, или уже забыли?

Raistlin:
собсна картина с рейзером чуть яснее

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

Можете просветить нас подробнее насчет "ясности". Можно даже по-буржуйски ;)

netwind:
выглядит как бред

Почему "принципиальная проблема md" - не бред? Где вы исключили reiserfs?

netwind:
допустим, около 15 раз за 3 года. Проблема с железом, но менять материнку накладно будет.

Но не память?

netwind:
Скорее всего, сделан выбор в пользу производительности. Вместо того чтобы проконтролировать ответ от обоих дисков на команду записи метки и только потом писать данные, выбрали просто запись всех команд подряд чтобы ncq раскидал там уже.

Это выбор в пользу глупости, причем очевидной. Боюсь, если проблема все-таки в райд - это баг, причем не настолько примитивный.

Кстати, а ncq пробовали отключить (или получается слишком накладно)?

netwind:
еще можно любой примонтированный md считать грязным, тогда наверное это решит проблему 100%

Каким образом "решит" - потерей данных случайным образом?

Raistlin:
Это не тот вариант. Не надежно по другим параметрам.

Отказала фантазия? 🍿

Raistlin:
Случайным ли?

А как еще, если оба хорошо читаются?

// Разве, с write-mostly дисками может быть несколько иначе. Хотя, с чего вдруг?

Andreyka:
Не попробуешь не узнаешь

т.е. ты не знаешь?

Andreyka:
Мои пакеты устанавливаются и без разговоров с фанатиками

Возьми с полки пирожок, троллюшко.

Raistlin:
как может оказаться рейд рассинхронизирован после ребута, но md этого не заметит. Не понимаю.

Точно также, как может и до. Ребут - непричем.

Raistlin:
В том и дело, что рассинхронизированность - в кавычках, и mdadm об этом знает и устранит, как только освободится i/o.

Никак mismatch_cnt!=0 не устранить для raid1, если оба блока читаются. md при repair просто выберет один блок случайным образом.

netwind:
как вы объясните, что после синхронизации массива или выдергивании одного диска, так же самая команда reisefschk с теми же самыми ключами все-таки нормально ее исправляет ? причем тут журнал?

Значит так пишет его.

Кстати, а почему вообще ребуты происходят - может память сбоит?

netwind:
нет, только если не загрузилось.

Если загрузилось - всегда? А если вообще перезагрузить штатно - точно все всегда взлетит?

netwind:
Я таких всего два случая могу припомнить с этой машиной.

А какая у вас вообще статистика, сколько ребутов?

netwind:
ubuntu 10.04 LTS. и? проявлялось и на более старых версиях. я считаю это принципиальная проблема md.

Багзилла? - Бубунтоиды телепатически с мейнтейнерами общаются?

А почему все-таки не reiserfs? Добрые дяди вам привели примеры когда mismatch_cnt возникает в процессе "нормальной" работы. Почему вы походя грешите на Нейла, а убивец Ганс выглядит непогрешимым? 🍿

Самый интересный вопрос: почему "принципиальная проблема" - cофтрейд принципиально невозможен, или просто руки у линуксячих программистов принципиально кривые?

netwind:
У меня меня есть такой скрипт.

Как андрейка. "Знаю/имею, но не скажу/покажу" - на поверку знаний и умений пшик. Т.е. конкретного рецепта нет. Так и напишите.

netwind:
предполагалось, что объясните откуда при внезапной перезагрузке возникает рассинхронизированность не заметная md

"Рассинхронизированность" возникает постоянно в raid1, при самой обычной работе, в разных сценариях (swap, mmap, etc). Вы совершенно произвольно связали ее с перезагрузкой. "По идее" - ничего плохого от этого не должно быть.

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

Raistlin:
Это из мана. Я не то прочитал?

То, но "все немножко не так" (с) - обсудили выше.

netwind:
Последовательные запуски reiserfschk без синхронизации устройства не приводят к успеху.

Забавно, что после синхронизации он у вас все чинит всегда. Я правильно понял?

Erick Flatcher:
Не, за это я спокоен.

Ну тогда в чем проблема - обновляйте. Если это приведет к потере халявного администрирования - ищите другие варианты обновления, я вам предлагал.

Erick Flatcher:
На сервере всего один сайт и всего один скрипт CMS. :)

Было бы полезно, если о таких вещах вы бы упомянули с самого начала.

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

Один - не написал что он делал кроме безумного изменения расписания. Другой - просто продолжает тупить.

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

Например?

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

Почему вы так уверены, что нет иных причин? Нагрузка достаточно специфичная.

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

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

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

В суперблок пишется, насколько я понимаю.

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

Это была бы русская рулетка (при письме!), а мы таки о райд говорим ;) Слишком наивная точка зрения - не думаю что все настолько плохо.

netwind:
Хотя в мане не акцентирован этот момент, но метка не записана туда постоянно как только смонтирован raid.

Ман, к сожалению, мягко говоря - не идеален. На самом деле dirty помечается массив только пока данные туда актуально не записаны. Ничего не пишем - все вновь чисто.

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

Вам все уже объяснили. Источник проблемы - чтение рассинхронизированного массива, а во-вторых - конкретная fs. Так она контролирует целостность журнала и данных.

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

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

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

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

Всего: 4890