У меня рейд с двумя флешками в настройках зеркалирования. Он работает довольно хорошо, но шина USB довольно нестабильна, и примерно раз в неделю по неизвестным мне причинам (по-видимому, ничего важного в журналах) диск исчезнет и вернется на другой путь / dev. Теперь mdadm отлично справляется с распознаванием дисков по серийному номеру, поэтому я не особо беспокоюсь о буквах дисков.
Меня действительно раздражает то, что когда диск возвращается, он не уходит в рейд.
Update Time : Fri Jul 16 12:05:02 2010
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0
UUID : eac43993:c6a05923:74746b96:dfc4670c (local to host razor)
Events : 0.468176
Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 81 1 active sync /dev/sdf1
2 8 65 - faulty spare
Обычно я могу вернуть диск с помощью mdadm --stop / dev / md_d0 и mdadm --assemble / dev / md_d0; иногда с mdadm --add / dev / md_d0 / dev / sd1.
Если что-то было записано на диск, когда привод был "неисправен", я получаю это послесловие.
Number Major Minor RaidDevice State
2 8 33 0 spare rebuilding /dev/sdc1
1 8 49 1 active sync /dev/sdd1
Все это нормально, но перестройка рейда раз в неделю, вероятно, не очень хорошо для дисков.
Я ищу здесь либо какой-то способ исправить это (что я не думаю, вероятно, если не отключить его от шины USB), либо какой-то способ включить режим raid только для чтения при исчезновении диска. Тогда я мог бы добавить его обратно, не перестраивая. Он все равно будет ненадежным, но, по крайней мере, его не придется восстанавливать.
Я подумывал использовать --scan (монитор?) И программу событий, но думаю, что потребовалось бы довольно много времени, чтобы все исправить, даже если бы я не делал ошибок.
Любые идеи приветствуются.
Предположительно у вас есть потребность в том, чтобы это были внешние диски? Если да, то я бы посоветовал вынуть эти диски из их USB-корпусов и поместить их в один или два корпуса eSATA - USB просто не предназначен для такого рода вещей. Если вам не нужно, чтобы они были внешними, поместите их на внутреннюю шину SATA / SAS. Любой из этих способов должен сделать их намного более стабильными и не потребует программных решений.
Вместо использования / dev / sd [a-z], почему вы не используете Linux UUID (универсальный уникальный идентификатор) диска. Если вы подключаете / отключаете диск, он всегда сохраняет тот же UUID.
Посмотрите на / dev / disk / by-uuid / Он содержит символические ссылки на реальные устройства / dev / sd [a-z].
ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 2010-07-16 09:01 0bef51ef-8a76-4ae5-9e52-7306e57a8c9e -> ../../sda1
lrwxrwxrwx 1 root root 21 2010-07-16 09:01 756eb6b5-865e-419e-b9f6-f061c8473fd4 -> ../../sda2
lrwxrwxrwx 1 root root 21 2010-07-16 09:01 89b89bdb-338b-4a44-86e9-9619d78efac2 -> ../../sdb1
Просто измените целевые устройства mdadm на / dev / disk / by-uuid / 0bef51ef-8a76-4ae5-9e52-7306e57a8c9e (вместо sda1).