PDA

Bekijk Volledige Versie : Software RAID stuk: Wanneer, waarom



The Unknown
25/06/07, 02:04
Beste WHT-ers,

Ik gebruik al lange tijd Software RAID1. Werkt erg naar wens, het heeft me al 3x gered toen een disk het opgaf.

Vandaag gebeurde het weer eens; ik deed "cat /proc/mdstat" en vond dat een disk stuk was. Altijd kom ik er zo achter, waarom er geen mail aankomt is ook zo'n raadsel:
ps aux |grep mdadm:
root 12448 0.0 0.0 1820 484 ? Ss Jun12 0:00 /sbin/mdadm --monitor --pid-file /var/run/mdadm/monitor.pid --daemonise --scan --syslog

En als ik mail naar "root" dan komt dat netjes aan in m'n postvak. Misschien is het mailtje door de spamfilter gewurgd, ik begrijp het niet, maar zal het nog eens testen door een error te simuleren.

Mijn config fil ziet er als volgt uit:


DEVICE /dev/sd[ab]3
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=e8ba6399:d911238e:e32ed2d3:f8278aa0

DEVICE /dev/sd[ab]2
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=cd771f98:4be0acd1:85b3e14d:2d53214e

DEVICE /dev/sd[ab]1
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=6c7c355b:17c13600:1a73fd9f:73d25d76
MAILADDR root


Nu is de vraag niet hoe ik dit moet oplossen: herpartitioneren en de array weer aanschoppen is niet het probleem. Wat wél een probleem is, is uitvinden waarom deze disk stuk is, en wanneer dat is gebeurd. Ik kijk in een aantal syslogs, en ik kan geen enkele melding vinden betreffende de harddisk sda die stuk is. Via mdadm kan ik ook geen andere informatie vinden behalve dát die stuk is.

Weet iemand of ik kan achterhalen wanneer de disk stuk ging, en waarom? In /var/log/messages staat bij mij alleen iets over MARK, en in syslog vind ik ook niets terug. OS is Debian testing. Ik ben verder aardig bekend met Linux.

Ik ben vooral benieuwd omdat dit de 2e disk is na nog geen 2 weken, ik vraag me af of zo'n SATA aansluiting stuk kan zijn?

Mijn dank is groot!



dev/md0:
Version : 00.90.03
Creation Time : Thu May 10 22:28:56 2007
Raid Level : raid1
Array Size : 48829440 (46.57 GiB 50.00 GB)
Used Dev Size : 48829440 (46.57 GiB 50.00 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Mon Jun 25 01:22:15 2007
State : clean, degraded
Active Devices : 1
Working Devices : 1
Failed Devices : 1
Spare Devices : 0

UUID : 2f37bbcc:bd423799:363dfa5f:f32c0ae2
Events : 0.3295493

Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 17 1 active sync /dev/sdb1

2 8 1 - faulty spare /dev/sda1



Personalities : [linear] [raid0] [raid1] [raid5] [raid4] [multipath]
md1 : active raid1 sda2[2](F) sdb2[1]
194338240 blocks [2/1] [_U]

md2 : active raid1 sda3[0] sdb3[1]
1028096 blocks [2/2] [UU]

md0 : active raid1 sda1[2](F) sdb1[1]
48829440 blocks [2/1] [_U]

unused devices: <none>

Randy
25/06/07, 02:44
Kijk eens wat de smartdeamon voor een error geeft...

Phu
25/06/07, 02:44
ook geen SMART error?

wonko
25/06/07, 08:27
Normaal zal je in je syslog het moment kunnen terugvinden waarop hij de disk als "foutief" aanzag en markeerde. Meestal gaat dit gepaard met een paar read- of write-errors. Het kan natuurlijk zijn dat dit al zo lang geleden gebeurd is, dat het niet meer in je syslog staat, maar in eentje van de geroteerde.

Voor je mailprobleem, controleer even /etc/default/mdadm, want je mdadm die loopt is niet correct (er zou een -m vlag moeten zijn).

The Unknown
26/06/07, 13:21
Oke, in volgorde antwoorden op jullie ideeën:
- smartdeamon heb en ken ik niet, maar smartctl ken ik wel
- Smartctl geeft het volgende aan (goed):


smartctl version 5.37 [i686-pc-linux-gnu] Copyright (C) 2002-6 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model: WDC WD3200AAKS-75SBA0
Serial Number: WD-WMAPZ0298123
Firmware Version: 12.01B01
User Capacity: 320,072,933,376 bytes
Device is: Not in smartctl database [for details use: -P showall]
ATA Version is: 7
ATA Standard is: Exact ATA specification draft version not indicated
Local Time is: Tue Jun 26 12:37:54 2007 CEST
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: PASSED

General SMART Values:
Offline data collection status: (0x82) Offline data collection activity
was completed without error.
Auto Offline Data Collection: Enabled.
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: (8400) seconds.
Offline data collection
capabilities: (0x7b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
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: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 106) minutes.
Conveyance self-test routine
recommended polling time: ( 6) minutes.

SMART Attributes Data Structure revision number: 16
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 200 200 051 Pre-fail Always - 0
3 Spin_Up_Time 0x0003 100 253 021 Pre-fail Always - 0
4 Start_Stop_Count 0x0032 100 100 000 Old_age Always - 3
5 Reallocated_Sector_Ct 0x0033 145 145 140 Pre-fail Always - 434
7 Seek_Error_Rate 0x000e 200 190 051 Old_age Always - 0
9 Power_On_Hours 0x0032 100 100 000 Old_age Always - 356
10 Spin_Retry_Count 0x0012 100 253 051 Old_age Always - 0
11 Calibration_Retry_Count 0x0012 100 253 051 Old_age Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 3
192 Power-Off_Retract_Count 0x0032 182 182 000 Old_age Always - 13778
193 Load_Cycle_Count 0x0032 196 196 000 Old_age Always - 13779
194 Temperature_Celsius 0x0022 109 106 000 Old_age Always - 38
196 Reallocated_Event_Count 0x0032 102 102 000 Old_age Always - 98
197 Current_Pending_Sector 0x0012 200 200 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0010 200 200 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x003e 200 200 000 Old_age Always - 0
200 Multi_Zone_Error_Rate 0x0008 200 186 051 Old_age Offline - 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged. [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.


Dus geen smart errors, en toch is m'n array stuk! Ik word nu een beetje bang richting een fout in de SATA harddisk controller (VIA onboard).

In syslog en de rotated syslogs kan ik geen foutmelding vinden over "sda". Ik weet 99% zeker dat er anders wel foutmeldingen stonden. Ik begrijp niet hoe die disk als foutief is aangemerkt, zonder dat ik er ergens ook maar een logje van kan vinden :(

de mail vlag staat niet omdat die in de config file al is gezet. Ik heb ook geprobeerd de config uit te zetten (zonder de --scan) en dan --mail=root@localhost te zetten, maar ook dit werkt niet, ik krijg nog steeds geen mail. Ook niet als ik de --test optie aanzet. Ik zal hiervoor nog eens gaan googlen, local mail werkt verder wel prima.

wonko
26/06/07, 13:42
Wij gebruiken die mailoptie, en het debian init.d script gaat gewoon die commandoregel opbouwen, en zet er die -m vlag gewoon bij. Als je het op de debian-manier doet en configureert, zou dit gewoon moeten werken door het juiste adres in /etc/default/mdadm te zetten.

The Unknown
26/06/07, 16:46
Wij gebruiken die mailoptie, en het debian init.d script gaat gewoon die commandoregel opbouwen, en zet er die -m vlag gewoon bij. Als je het op de debian-manier doet en configureert, zou dit gewoon moeten werken door het juiste adres in /etc/default/mdadm te zetten.

Het mail probleem heb ik opgelost; mail naar "root" of "root@localhost" komt gewoon niet aan. Misschien omdat ik een xmail versie van sendmail gebruik, maar die zou hetzelfde moeten werken. Maar naar een ander email adres (die ook gewoon op die server loopt, maar dan met @internetdomein.com) werkt de mail functie inmiddels wel.

Maar naar die errors ben ik nog steeds op zoek!

GlennMatthys
26/06/07, 16:50
Laat ook eens een long test doen dmv smartmontools. En anders kan je ook eens proberen je array te rebuilden en in de gaten houden of hij er terug uitfloept.

bvankuik
28/06/07, 15:17
Ik vraag me af of syslog configuratie wel lekker staat. Heb je al eens op een andere bak een schijf uit de array getrapt? Zie je het terug in de logging? Zoja, vergelijk eens de /etc/syslog.conf van die twee machines.

Overigens:
Ik persoonlijk hou niet zo van allerlei daemons die mail functionaliteiten hebben; mijns inziens moet dit overgelaten worden aan een specifieke monitoring tool.

Zabbix of Nagios hebben functionaliteit aan boord om RAID arrays, S.M.A.R.T., CPU temperatuur, Fan toerental, CPU usage enzovoort te monitoren en eventueel te alerten.

Het helpt niet voor het huidige probleem, maar kijk hier eens naar.