Пишу, потому что уже не знаю где искать корень своих проблем.Ситуация следующая. Имеется сервак (на debian squeeze) для домашней файлопомойки, в который воткнуты 3 контроллера на sil-3114 (4 SATA-1 порта в каждом), 1 контроллер резервный. К ним подключены 7 винтов Seagate на 1.5Т. Средствами mdadm развернут массив raid-5.
Проблема номер раз состоит в том, что 1 из дисков постоянно вываливается из массива и из системы (его не видно в /dev/sd*). Если ему переткнуть питание, он появляется, но к массиву по команде
mdadm /dev/md0 --add /dev/sdg1
не подключается. При этом mdadm выкидывает сообщение
mdadm: add new device failed for /dev/sdh as 7: Invalid argument
а в syslog появляется следующее:
Apr 25 23:39:01 media kernel: [360820.378367] sdg:
Apr 25 23:39:32 media kernel: [360851.299504] sdg: sdg1
Apr 25 23:39:40 media kernel: [360858.612567] md: invalid superblock checksum on sdg1если перекинуть диск с одного контроллера на другой, всё проходит нормально:
media:~# mdadm /dev/md0 --add /dev/sdh1
mdadm: re-added /dev/sdh1Такая ситуация повторяется с периодичностью от нескольких недель до нескольких месяцев. Диск вываливается из системы, перетыкаешь его из одного контроллера в другой, ребилд массива, и снова все норм. В чем косяк, не пойму. Замена шлейфа не помогает.
Проблема номер два в том, что на массиве постоянно портятся архивы (rar, zip, iso, и т.д.). Можно сегодня залить на сервак архив, а завтра он окажется битым. Проблем с RAM нет, проверял несколько раз. файловая система - ext4.
1. Диск вываливается один и тот же, на разных портах, или вываливаются разные диски на одном и том же порту?
2. Почему raid5, а не raid6? На таких объемах уже нужна нормальная избыточность, ведь диски же у Вас десктопных серий, да?
3. Что с блоком питания? Проблемный диск и/диск, который вставляется в проблемный порт, всегда запитываются через один и тот же шнурок?
> 1. Диск вываливается один и тот же, на разных портах, или вываливаются
> разные диски на одном и том же порту?
> 2. Почему raid5, а не raid6? На таких объемах уже нужна нормальная
> избыточность, ведь диски же у Вас десктопных серий, да?
> 3. Что с блоком питания? Проблемный диск и/диск, который вставляется в проблемный
> порт, всегда запитываются через один и тот же шнурок?1. Диск вываливается один и тот же на разных портах
2. диски десктопные. райд5 получил в наследство от прежнего админа
3. блок питания вроде как в порядке - Powerman 400W, на 7 дисков более чем достаточно, я считаю. пульсации на нем я не мерил, но проблем со вздутыми конденсаторами на материнке нет, поэтому считаю, что с этим все норм. Запитывать диск через разные шнурки пробовал
> 1. Диск вываливается один и тот же на разных портахТогда зачем Вы его все время вставляете назад в массив?? По-моему, ему место на помойке, и это очевидно!
Что там в SMART?
>> 1. Диск вываливается один и тот же на разных портах
> Тогда зачем Вы его все время вставляете назад в массив?? По-моему, ему
> место на помойке, и это очевидно!
> Что там в SMART?диск гарантийный, и под каким предлогом его спихнуть назад продавцу, ума не приложу
=== START OF INFORMATION SECTION ===
Model Family: Seagate Barracuda LP
Device Model: ST31500541AS
Serial Number: 9XW0752G
Firmware Version: CC34
User Capacity: 1,500,301,910,016 bytes
Device is: In smartctl database [for details use: -P show]
ATA Version is: 8
ATA Standard is: ATA-8-ACS revision 4
Local Time is: Tue Apr 26 14:47:55 2011 EEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSEDGeneral SMART Values:
Offline data collection status: (0x00) Offline data collection activity
was never started.
Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 633) seconds.
Offline data collection
capabilities: (0x73) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
No Offline surface scan supported.
Self-test supported.
Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 1) minutes.
Extended self-test routine
recommended polling time: ( 255) minutes.
Conveyance self-test routine
recommended polling time: ( 2) minutes.
SCT capabilities: (0x103f) SCT Status supported.
SCT Feature Control supported.
SCT Data Table supported.SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 116 099 006 Pre-fail Always - 108788088
3 Spin_Up_Time 0x0003 100 100 000 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 020 Old_age Always - 11
5 Reallocated_Sector_Ct 0x0033 090 090 036 Pre-fail Always - 439
7 Seek_Error_Rate 0x000f 071 060 030 Pre-fail Always - 14328109
9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 2668
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 020 Old_age Always - 12
183 Runtime_Bad_Block 0x0032 100 100 000 Old_age Always - 0
184 End-to-End_Error 0x0032 100 100 099 Old_age Always - 0
187 Reported_Uncorrect 0x0032 100 100 000 Old_age Always - 0
188 Command_Timeout 0x0032 100 099 000 Old_age Always - 4295032833
189 High_Fly_Writes 0x003a 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x0022 068 068 045 Old_age Always - 32 (Lifetime Min/Max 29/32)
194 Temperature_Celsius 0x0022 032 040 000 Old_age Always - 32 (0 21 0 0)
195 Hardware_ECC_Recovered 0x001a 041 016 000 Old_age Always - 108788088
197 Current_Pending_Sector 0x0012 080 080 000 Old_age Always - 857
198 Offline_Uncorrectable 0x0010 080 080 000 Old_age Offline - 857
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
240 Head_Flying_Hours 0x0000 100 253 000 Old_age Offline - 260957917940335
241 Total_LBAs_Written 0x0000 100 253 000 Old_age Offline - 1690329723
242 Total_LBAs_Read 0x0000 100 253 000 Old_age Offline - 3393105544SMART Error Log Version: 1
No Errors LoggedSMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Extended offline Completed without error 00% 2155 -
# 2 Extended offline Aborted by host 90% 2145 -
# 3 Extended offline Completed without error 00% 10 -Больше всего смущает параметр Offline_Uncorrectable 857. Не совсем понимаю что это. на других дисках он равен 0
> диск гарантийный, и под каким предлогом его спихнуть назад продавцу, ума не
> приложуНу, если для Вас данные стоят меньше, чем во-что-бы-то-ни-стало использовать именно _этот_ диск, да, Вы написали пост на форум зря...
А вообще, Ваш случай настолько очевиден, что даже неудобно как-то... Зачем Вы правда из разу в раз вставляли плохой диск назад? Я не могу даже себе представить, простите, Вашу мотивацию :))) И как Вы сами для себя это объясняли :))5 Reallocated_Sector_Ct 0x0033 090 090 036 Pre-fail Always - 439
439(!) событий переназначения сектора(!), диск под подставку для кофе :)) Или тестовую машину (причем, грузящуюся с CD) еще подойдет, а вот даже под рабочую станцию, не говоря о raid-массиве, уже вряд ли(!)
Ошибки автоматики и памяти диска тоже напрягают, и за них цепляется глаз:
7 Seek_Error_Rate 0x000f 071 060 030 Pre-fail Always - 14328109
195 Hardware_ECC_Recovered 0x001a 041 016 000 Old_age Always - 108788088
Хотя это может ничего не значить, но настолько низкое значение Seek_Error_Rate означает,
что диск с высокой вероятностью вот-вот протянет ноги, тем более, что ему всего несколько часов жизни (в работе):9 Power_On_Hours 0x0032 097 097 000 Old_age Always - 2668
2668/24/30=3
Всего три месяца... Кстати, в течение первых трех месяцев работы умирает как бы не большинство дисков, которые умирают в течение трех лет.
Почему диск такой горячий?190 Airflow_Temperature_Cel 0x0022 068 068 045 Old_age Always - 32
(Lifetime Min/Max 29/32)
194 Temperature_Celsius 0x0022 032 040 000 Old_age Always - 32
(0 21 0 0)Вообще-то, именно из-за этого он и мог посыпаться :( Я бы на месте продавца, действительно, за него деньги бы не возвращала....
Имхо, у Вас плохой корпус, с плохой вентиляцией, и остальные диски может ждать та же участь.
> Почему диск такой горячий?
Про горячий диск, сорри, не сообразила, что всего 32 градуса. Да, несите назад, в магазин, должны вернуть.
Если откажутся, поставьте на стенд, и позабивайте его нулями несколько дней, пока не кончатся запасные сектора для их переназначения...
Reallocated_Sector_Ct перестал расти месяца полтора назад. Видимо, были дефекты на поверхности. Большие значения Seek_Error_Rate, Hardware_ECC_Recovered для Сигейтов это нормально, насколько я знаю. По крайней мере на других дисках тоже немелкие цифры и проблем с ними никаких нетДа и бог с ним. Глюканет еще раз - выкину нафиг.
Больше всего напрягает порча архивов
> Reallocated_Sector_Ct перестал расти месяца полтора назад.А когда рос, Вы чем думали :)?
> Видимо, были дефекты на поверхности.
:)) Тогда почему Вас удивляют испорченные архивы :)? Вы думаете, когда сектор перемещается, его всегда удается прочитать, и прочитать правильно :)? Пятый рейд это не шестой, и не ZFS, что бы при битом диске сохранялась не только консистентность, а еще и данные :)
> Больше всего напрягает порча архивов
После первого случая его нужно было сдать по гарантии. Да и сейчас стоит попробовать, указав на то, что есть ремапы.
> После первого случая его нужно было сдать по гарантии. Да и сейчас
> стоит попробовать, указав на то, что есть ремапы.это точно не в нашей стране
архивы портятся при отсутствии ремапов.
я так понимаю, выход в моем случае - переход на райд6.
возможно ли безопасно для данных перейти с пятого на шестой? или лучше создать шестой райд с нуля и перелить данные с пятого?
>> После первого случая его нужно было сдать по гарантии. Да и сейчас
>> стоит попробовать, указав на то, что есть ремапы.
> это точно не в нашей странеВы что-то потеряете от отказа :)? Кроме времени?
"Спрос не ударит в нос" есть такая поговорка...> архивы портятся при отсутствии ремапов.
> я так понимаю, выход в моем случае - переход на райд6.
> возможно ли безопасно для данных перейти с пятого на шестой? или лучше
> создать шестой райд с нуля и перелить данные с пятого?Ребилд в mdraid 5 > 6 возможен, но критичные данные на нем, я бы в это время, без сохранения где-то еще, не стала бы оставлять.
понятно. спасибо за помощь
> понятно. спасибо за помощьВсегда пожалуйста :)
Но признайтесь сами себе, что я Вам не сказала ничего для Вас нового :)
Мне очень-очень интересно, зачем Вы все-таки вставляли этот диск назад, зная, что такое ремапы?Конечно, в душе большинства людей(и в моей тоже) живет хомяк, и многим бывает жалко выкидывать хлам, но ведь и к голосу разума тоже стоит прислушиваться)))))
>> понятно. спасибо за помощь
> Всегда пожалуйста :)
> Но признайтесь сами себе, что я Вам не сказала ничего для Вас
> нового :)
> Мне очень-очень интересно, зачем Вы все-таки вставляли этот диск назад, зная, что
> такое ремапы?
> Конечно, в душе большинства людей(и в моей тоже) живет хомяк, и многим
> бывает жалко выкидывать хлам, но ведь и к голосу разума тоже
> стоит прислушиваться)))))есть такая фигня, которая называется финансовые трудности. я дирику уже пару месяцев вливаю мысль, что надо апгрейдиться. ответ один - нет денег. в общем, врагу не пожелаю жить в Беларуси...
> есть такая фигня, которая называется финансовые трудности. я дирику уже пару месяцев
> вливаю мысль, что надо апгрейдиться. ответ один - нет денег. в
> общем, врагу не пожелаю жить в Беларуси...Хотя и не знаю, кто есть дирик, сочувствую...
В продолжение темы.
Купили-таки новый винт. Поставил его взамен старого. Далее делаю следующее:
1. через fdisk создаю первичный раздел на полный размер диска и мечу его как fd (linux raid auto)
2. делаю mdadm /dev/md0 --add /dev/sdh1, на что получаю ответ:
mdadm: add new device failed for /dev/sdh1 as 7: Invalid argument
в syslog то же, что и раньше. Массив в состоянии clean, degraded.вывод mdadm --examine /dev/sdh1:
/dev/sdh1:
Magic : a92b4efc
Version : 0.90.00
UUID : ddd6a3f3:524292ab:8f25dcb4:ad67353b
Creation Time : Fri Jul 30 15:30:59 2010
Raid Level : raid5
Used Dev Size : 1465135104 (1397.26 GiB 1500.30 GB)
Array Size : 8790810624 (8383.57 GiB 9001.79 GB)
Raid Devices : 7
Total Devices : 6
Preferred Minor : 0Update Time : Sat May 7 03:03:15 2011
State : clean
Active Devices : 6
Working Devices : 6
Failed Devices : 1
Spare Devices : 0
Checksum : 7603a98 - expected 7603a68
Events : 626407Layout : left-symmetric
Chunk Size : 1024KNumber Major Minor RaidDevice State
this 7 8 112 -1 spare /dev/sdh10 0 8 81 0 active sync /dev/sdf1
1 1 8 17 1 active sync /dev/sdb1
2 2 8 49 2 active sync /dev/sdd1
3 3 8 65 3 active sync /dev/sde1
4 4 8 1 4 active sync /dev/sda1
5 5 8 33 5 active sync /dev/sdc1
6 6 0 0 6 faulty removedпробовал создавать на этом диске файловую систему - проблем нет. Инфа пишется, читается, скорость нормальная, но в массив диск добавляться не хочет. Не пойму, в чем дело?
Есть подозрение, что висят контроллеры/порты контроллеров. Это возможно?
> В продолжение темы.
> Купили-таки новый винт. Поставил его взамен старого. Далее делаю следующее:
> 1. через fdisk создаю первичный раздел на полный размер диска и мечу
> его как fd (linux raid auto)
> 2. делаю mdadm /dev/md0 --add /dev/sdh1, на что получаю ответ:
> mdadm: add new device failed for /dev/sdh1 as 7: Invalid argument
> в syslog то же, что и раньше. Массив в состоянии clean, degraded.Попробуйте через sfdisk разметить новый диск так же, как и предыдущие, например:
sfdisk -d /dev/sda | sfdisk /dev/sdh
> Есть подозрение, что висят контроллеры/порты контроллеров. Это возможно?
Скорее, блок питания, если дело сейчас не в неправильном размере партиции, которую Вы добавляете в md
>[оверквотинг удален]
>> 1. через fdisk создаю первичный раздел на полный размер диска и мечу
>> его как fd (linux raid auto)
>> 2. делаю mdadm /dev/md0 --add /dev/sdh1, на что получаю ответ:
>> mdadm: add new device failed for /dev/sdh1 as 7: Invalid argument
>> в syslog то же, что и раньше. Массив в состоянии clean, degraded.
> Попробуйте через sfdisk разметить новый диск так же, как и предыдущие, например:
> sfdisk -d /dev/sda | sfdisk /dev/sdh
>> Есть подозрение, что висят контроллеры/порты контроллеров. Это возможно?
> Скорее, блок питания, если дело сейчас не в неправильном размере партиции, которую
> Вы добавляете в mdsfdisk попробую потом, сейчас пробую забить диск нулями: dd if=/dev/zero of=/dev/sdh1 bs=4096. Насчет блока питания очень сомневаюсь. Мерил уровни напряжений (под нагрузкой) - всё в норме. Отклонения напряжений не превышают 5% (по постоянному току), пульсации не мерил. Размеры разделов на всех дисках абсолютно одинаковы:
Device Boot Start End Blocks Id System
/dev/sdh1 1 182401 1465136001 fd Linux raid autodetect
Device Boot Start End Blocks Id System
/dev/sdf1 1 182401 1465136001 fd Linux raid autodetect
Device Boot Start End Blocks Id System
/dev/sdе1 1 182401 1465136001 fd Linux raid autodetect
..и т.д.P.S. Пробовал подключать этот диск через отдельный блок питания (знаю как): те же яйца, только в профиль
sfdisk -d /dev/sda1 | sfdisk /dev/sdh1
Checking that no-one is using this disk right now ...
BLKRRPART: Invalid argument
OK
Warning: start=63 - this looks like a partition rather than
the entire disk. Using fdisk on it is probably meaningless.
[Use the --force option if you really want this]
Warning: start=63 - this looks like a partition rather than
the entire disk. Using fdisk on it is probably meaningless.
[Use the --force option if you really want this]sfdisk -d /dev/sda | sfdisk /dev/sdh
Checking that no-one is using this disk right now ...
OKDisk /dev/sdh: 182401 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0Device Boot Start End #cyls #blocks Id System
/dev/sdh1 0+ 182400 182401- 1465136001 fd Linux raid autodetect
/dev/sdh2 0 - 0 0 0 Empty
/dev/sdh3 0 - 0 0 0 Empty
/dev/sdh4 0 - 0 0 0 Empty
New situation:
Units = sectors of 512 bytes, counting from 0Device Boot Start End #sectors Id System
/dev/sdh1 63 2930272064 2930272002 fd Linux raid autodetect
/dev/sdh2 0 - 0 0 Empty
/dev/sdh3 0 - 0 0 Empty
/dev/sdh4 0 - 0 0 Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition tableRe-reading the partition table ...
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
media:~# mdadm /dev/md0 --add /dev/sdh1
mdadm: add new device failed for /dev/sdh1 as 7: Invalid argumentЯ в отчаянии. Насколько рискованно перезагружаться с degraded-массивом?
> Я в отчаянии. Насколько рискованно перезагружаться с degraded-массивом?В общем-то рискованно, особенно если блок питания под вопросом. В своё время пришлось выбросить кучу 400-600W по $25, решилось установкой 437W (sic!) чуть ли не за $300.
Прекрати панику, попробуй
mdadm /dev/md0 --fail /dev/sdh1
mdadm /dev/md0 --add /dev/sdh1
все завелось после перезагрузки