Здравствуйте товарищи.
Для производственных нужд набросал пару скриптов для автоматического удаления-добавления дисков в массив(RAID-1), по схеме:
Диск на ходу вытащили - udev запустил скрипт-удалятор.
Диск вставили - udev запустил скрипт-добавлятор.
В процессе тестирования выявились глюки, а именно - периодически схема даёт сбой в виде роста LA и прекращения отзыва оси(не зависание, запущенные процессы продолжают работать) после произвольного числа циклов «выдернул/вставил диск», причём возникает после вставки диска. В процессах ничего жручего не появляется.
Тестируемые диски Seagate ST2000DM001-1CH164, MB - Super X9DBL-iF. В биосе нужное повключено и ненужное повыключено.
Для уточнения и статистики произвели тесты:
Если просто вставлять-вынимать диск(20 раз) ничего с ним в системе не делая, ничего не происходит(ожидаемо)
Если не выдёргивая диск скриптом-добавлятором запустить синхронизацию массивов и потом так-же не выдёргивая удалять диск(20-25 раз) - снова нормально(и снова ожидаемо).
Если выдернул(массивы синхронизируются) - скрипт-удалятор - воткнул - не успел даже запустить добавлятор... на 3 раз - сбой(внезапно).
Так вот, меня терзают смутные сомнения - а возможен ли такой hotplug? Что я упустил? Может имя устройства где-то остаётся?
Скрипты если надобно - выложу, там ничего такого... быдлокод на bash с использованием mdadm, hdparm, smartctl..., 2 строки для udev.
------------------------------------------------------------------------------------------
Итак, проблема локализована - нельзя дёргать диски при сборке(кто бы сомневался-то...)
Добавлен скрипт-сигнализатор(демон) - попискивает пока собирается хоть один массив.
Обновление: http://webfiles.ru/files/41646448
Кто имеет возможность - проверьте у себя, может чего упустил...