LINUX.ORG.RU
ФорумAdmin

mdadm и глючный контроллер

 


0

1

Ткните носом. В манах/гуглях не нашёл.

Следующая проблема. Есть один слегка глючноватый контроллер, который долго распознаёт диски. После бута может пройти минута, пока все диски не появятся, а могут все и не появиться пока диск не переткнёшь. На этом контроллере висит raid6 из 6-и дисков (по другому к сожалению не возможно).

Мне надо заставить mdadm ждать пока все диски не появятся вместо того что бы собирать degraded array с минимальным кол-вом дисков. Отлуп, если не все диски появились, тоже решение.

★★★★★

Последнее исправление: beastie (всего исправлений: 1)

mdadm запускается из initrd, кто-то мешает тебе наскриптить там проверки и ожидания?

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

Рейд — не рут, там только данные. На борду 2 контроллера. Один номально, другой чудит.

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

Выкопал опцию --no-degraded. Осталось придумать, куда её вставить.

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

Нормального решения т.е. нет?

beastie если «Рейд — не рут» то что мешает монтировать рейд не автоматом (fstab-ом) а самописным велосипедом который дождется появления всех составляющих рейда а только потом будет монтировать все что нужно?

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

Слишком велосипедно. ☺ Попробую сначала:

--- /etc/init.d/mdadm-raid.bak  2013-08-06 14:32:09.000000000 +0200
+++ /etc/init.d/mdadm-raid      2013-08-06 14:32:28.000000000 +0200
@@ -114,7 +114,7 @@
         IFSOLD=${IFS:-}
         IFS='
 '
-        for line in $($MDADM --assemble --scan --auto=yes --symlink=no 2>&1); do
+        for line in $($MDADM --assemble --scan --no-degraded --auto=yes --symlink=no 2>&1); do
           IFS=$IFSOLD
           set -- $line
           shift

(Главное, что бы оно потом при апдейте не сломалось. Дебиан, такой дебиан. ☹)

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

не несёт бракованный контроллер обратно по гарантии, ноет на кривой дебиян и правит инит-скрипт, поставленный из пакета вместо того чтобы написать новый — шестизвёздочная школота-болтун

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

Этому контроллеру уже сто лет в обед. И мне его так просто не заменить. Надо будет ещё на биос апдейты глянуть. Вроде есть относительно свежий.

У тебя есть предложения по-лучше? Я весь внимание.

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

Всего лишь использовать свой велосипедный патч не в оригинальном скрипте, а в его копии, чтобы потом не ныть на «такой дебиян», если не получается пофиксить железо

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

1. не надо портить инит, отключи автоподключение этого райда в стартапе и сделать свой скрипт с нужными параметрами, добавь его в автозапуск. Потом оповещалку сможешь прикрутить...

2. а питание на контроллерах и на дисках нормальное?

3. может у тебя БП не тянет сразу раскрутить все диски (в приличных рейдах даже есть такая настройка — по сколько сразу можно максимально раскручивать)?

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

может у тебя БП не тянет

Это кстати вполне возможно… надо будет подумать. Хм, а как его посчитать?

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

По поводу Дебиана, я ною, что могли бы и вынести параметры в /etc/defaults.

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

Учитывая, что железо старое, то никак. Лучше просто выдернуть временно пару компонент и посмотреть будет ли повторение проблемы.

Еще бывают гнилые контакты на кабелях питания sata. У меня из-за этого винты тоже выпадали из рейда.

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

Старое — это где-то 3-4 года. (X8DTL-3F) А вот с питанием я в самом деле задумался. Там сейчас торчат 10 дисков и БП на 580W, если не ошибаюсь. Хотелось бы как-то посчитать, прежде чем новый заказывать. (Хотя я это и так давно собирался.)

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

«3.5» HDD со скоростью вращения пластин 7200 и 10000 об/мин потребляют по цепи 12В примерно два ампера в момент старта(«раскрутки») и один ампер - в режиме поиска (максимально энегропотребляющий устоявшийся рабочий режим), а поскольку в момент раскрутки HDD потребление процессора и видеокарты далеко от максимальных (и наоборот, никто не раскручивает винчестеры в момент максимальной загрузки процессора), то на каждые лишние четыре HDD стоит добавлять минимум 50 ватт к мощности БП. Для HDD cо скоростью вращения пластин 15000 об/мин эти цифры стоит увеличить в полтора раза."

(не мое, но согласуется с остальными источниками)

Вот еще клевая ссылка: http://www.ixbt.com/storage/hddpower-pro.shtml

По ней приведены данные по потреблению ватт при старте нескольких моделей дисков — 30 ватт на один диск. Так что с таким БП десять дисков точно не стоит раскручивать одновременно.

soomrack ★★★★★
()
Последнее исправление: soomrack (всего исправлений: 2)
Ответ на: комментарий от soomrack

Покумекал…

Если считать песиместично, то у меня примерно по 30W на диск при старте выходит: 12V × 2A + 5V × 1A. (На дисках указано по 0.75A для 5 и 12V.)

Xeon пусть жрёт 100W. Ну и пусть ещё 50W на борд. Итого ~450W. Должно ведь хватать… или?

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

С этим контроллером (LSI SAS 1068E) ещё друрой баг бывает — не распознаёт диски после hot-swap. Т.ч. по поводу БП я тоже как-то не очень уверен, в нём ли проблема.

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

-30% за то, что мощность БП завышают.

-20% за амортизацию временем (ну или сколько там полагается)

-100 вт на материнку.

-10*? на оперативу

-30 на проц

-? на всякое pci барахло

-? на вентиляторы

Скорее всего не хватает. Но это предположение, которое нужно проверить. Выдерни диски и первого (не «глючного» контроллера) и посмотри будут ли проблемы со вторым.

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

Ладно, спасибо. Буду ждать выходных — в рабочии дни так просто с офисной файлопомойкой не поиграешься.

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

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

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

Смотреть надо в момент старта или нагрузки. Ты, кстати, учти, что 30 ватт это было для одноблинного винта. Какие винты у тебя — ты не сказал. Может там 15000 rpm трехблинные.

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

Убрать массив из автозагрузки, дёргать самопальным init-скриптом. Если без данных на массиве могут запуститься все сервисы - ещё проще, добавить вызов самопального скрипта в rc.local(обязательно в бекграунде, иначе до конца отработки скрипта приглашение login не появится). Плюсы:
1) при обновлении пакета mdadm твой скрипт не будет перезатёрт
2) чёткое разделение собственных велосипедов от дефолтных конфигов - имхо архитектурно правильнее.
А совсем по-уму надо решать проблему с железом

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

Какие винты у тебя — ты не сказал.

Там SV35 2TB. Почти все.

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

Спасибо всем за советы. На выходных буду дальше мучать и думать, что с ним делать.

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

Считать желательно не только ватты, но и амперы. На всех нормальных БП указываются максимальные токи по каждому из напряжений.

ИМХО, материнка с памятью возмут 2 А по 5 В, 3 А по 3,3 В, остальное (150 - 2*5 - 3*3.3 = 130 Вт) по 12 В, что будет 11 А. Но, 50 Вт на материнку как-то многовато, там нет такой поверхности для её рассеивания (в сравнении с радиатором процессора). Я бы взял 100 Вт на материнку с процессором, т.е. 7 А по линии 12 В.

Если есть возможность, изучите SMART винтов. Там о проблемах с питанием говорят два параметра:

 — Spin Retry Count, смотреть Raw значение, счётчик когда винт не смог раскрутится с первой попытки, из-за механики или из-за низкого напряжения.

 — Spin-Up Time, смотреть VALUE и WORST и сравнивать насколько оно больше THRESH. Просадки по питанию должны увеличить время раскрутки шпинделя и снизить VALUE/WORST до THRESH или ещё ниже.

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

Диски новые, но все другое посмотрю, спасибо.

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

А в /etc/default/mdadm, в

# DAEMON_OPTIONS:
#   additional options to pass to the daemon.
DAEMON_OPTIONS="--syslog"
прописать не вариант? Или хочется чтобы только одного массива эта опция касалась?

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

Хотелось бы именно одного, но видно это не просто. К тому же DAEMON_OPTIONS на --assemble не распространяются. ☹

beastie ★★★★★
() автор топика
Последнее исправление: beastie (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.