Koozali.org: home of the SME Server

Raid Software... how-to in costruzione

Offline Fumetto

  • *
  • 899
  • +1/-0
Raid Software... how-to in costruzione
« on: December 23, 2008, 12:53:41 AM »
Prendo spunto da un 3D inglese e ne copio un pezzo... e scusate la nubbiaggine  :grin:
Code: [Select]
Simple 2 drive raid 1 mirror

      Drives      Mirrors
   sda     sdb
P | 1 | + | 1 | = |md1|
a |---|---|---|---|---|
r |   |   |   |   |   |
t |   |   |   |   |   |
i |   |   |   |   |   |
t |   |   |   |   |   |
i | 2 | + | 2 | = |md2|
o |   |   |   |   |   |
n |   |   |   |   |   |
s |   |   |   |   |   |
In base a questa "immagine" è corretto dire che i
2 dischi sda/sdb
sono entrambi divisi in
2 partizioni sda1/sda2 sdb1/sdb2
l'unione delle partizioni da origine ai
dischi "raidati" md1/md2
su cui poi si poggiano le partizioni linux?

Perchè altrimenti comincio a sbiellare... sarà il recioto... :grin:

Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Raid Software... how-to in costruzione
« Reply #1 on: December 23, 2008, 08:36:20 AM »
sarò sintetico, anzi, acrilico (Cit.)
si

ciao
Stefano

Offline Fumetto

  • *
  • 899
  • +1/-0
Re: Raid Software... how-to in costruzione
« Reply #2 on: December 24, 2008, 04:41:13 AM »
Ok, fin qui ci siamo...

Situazione di partenza: 2 HD in raid software

Nel caso di uno degli HD guasti da console
Code: [Select]
[root@server ~]# cat /proc/mdstat
Personalities : [raid1]
md2 : active raid1 sdb2[1]
      244035264 blocks [2/1] [_U]
     
md1 : active raid1 sda1[0] sdb1[1]
      104320 blocks [2/2] [UU]
     
unused devices: <none>
ci dice che sda2 è stata esclusa dal raid in quanto malfunzionante...
quindi il disco che vede SME (md2) non è in buono stato in fatti un successivo
Code: [Select]
[root@server ~]# mdadm --detail --verbose /dev/md2
/dev/md2:
        Version : 00.90.01
  Creation Time : Tue Dec 18 15:33:31 2007
     Raid Level : raid1
     Array Size : 244035264 (232.73 GiB 249.89 GB)
    Device Size : 244035264 (232.73 GiB 249.89 GB)
   Raid Devices : 2
  Total Devices : 1
Preferred Minor : 2
    Persistence : Superblock is persistent

    Update Time : Wed Jan 16 15:34:50 2008
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 0
  Spare Devices : 0

           UUID : e9b25f43:328a09e4:d0e0305e:94051d6a
         Events : 0.862266

    Number   Major   Minor   RaidDevice State
       0       0        0        -      removed
       1       8       18        1      active sync   /dev/sdb2
Ci conferma appunto che sda2 è stata rimossa dal raid.

In tal caso ci basterà sostituire il disco e tutto tornerà a posto dopo aver riconfigurato il raid dal pannello di SME.
Ma come fare per capire quale dei due dischi montati è sda o sdb?
Un utile comando può essere smartctl che ci può informare (se sul nostro disco è attivo lo SMART) dello stato del disco e di altre informazioni utili tra le quali il numero seriale univoco del disco...
Code: [Select]
[root@server ~]# smartctl -i /dev/sda
smartctl version 5.33 [i686-redhat-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     GB0250C8045
Serial Number:    9SF0DK2N
Firmware Version: HPG1
User Capacity:    250,059,350,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 4a
Local Time is:    Wed Dec 24 04:26:26 2008 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
Oppure un più completo
Code: [Select]
[root@server ~]# smartctl -a /dev/sda
smartctl version 5.33 [i686-redhat-linux-gnu] Copyright (C) 2002-4 Bruce Allen
Home page is http://smartmontools.sourceforge.net/

=== START OF INFORMATION SECTION ===
Device Model:     GB0250C8045
Serial Number:    9SF0DK2N
Firmware Version: HPG1
User Capacity:    250,059,350,016 bytes
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   7
ATA Standard is:  ATA/ATAPI-7 T13 1532D revision 4a
Local Time is:    Wed Dec 24 04:37:32 2008 CET
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:                 ( 634) 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:        (  60) minutes.
Conveyance self-test routine
recommended polling time:        (   3) minutes.

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   082   063   044    Pre-fail  Always       -       181635783
  3 Spin_Up_Time            0x0003   099   099   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       26
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   075   060   030    Pre-fail  Always       -       33702022
  9 Power_On_Hours          0x0032   096   096   000    Old_age   Always       -       3513
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       26
184 Unknown_Attribute       0x0032   100   100   099    Old_age   Always       -       0
187 Unknown_Attribute       0x0032   100   100   000    Old_age   Always       -       0
188 Unknown_Attribute       0x0032   100   085   000    Old_age   Always       -       182
189 Unknown_Attribute       0x003a   100   100   000    Old_age   Always       -       0
190 Unknown_Attribute       0x0022   074   063   045    Old_age   Always       -       487456794
194 Temperature_Celsius     0x0022   026   040   000    Old_age   Always       -       26 (Lifetime Min/Max 0/14)
195 Hardware_ECC_Recovered  0x001a   042   026   000    Old_age   Always       -       181635783
196 Reallocated_Event_Count 0x0033   100   100   036    Pre-fail  Always       -       0
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       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.
che ci darà anche informazioni aggiuntive sullo stato dell'HD stesso o, per meglio dire, su quello che il sistema SMART ha registrato o è in grado di registrare...


Qualcuno che utilizza raid 5 potrebbe postare l'output dei comandi suindicati così da fare qualche confronto?

Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Raid Software... how-to in costruzione
« Reply #3 on: December 24, 2008, 10:54:41 AM »
Quote
Qualcuno che utilizza raid 5 potrebbe postare l'output dei comandi suindicati così da fare qualche confronto?

se cerchi nei forum con chiave [UUU] troverai esempi ;-)

mai sottovalutare il search :-P

Ciao
Stefano

Offline Fumetto

  • *
  • 899
  • +1/-0
Re: Raid Software... how-to in costruzione
« Reply #4 on: December 29, 2008, 06:20:00 PM »
Ok... mentre cerco un altro paio di appunti...  :grin:

Può capitare che l'amministratore riceva nella casella email un messaggio DegradedArray event on /dev/md2; ciò potrebbe essere dovuto a un guasto del disco... ma non solo...

Potrebbe anche essere che ci sia stato un "casuale" errore di lettura/scrittura o che a causa di un "ingrippamento" di un disco e quindi di tempi di reazione non corretti lo stesso disco sia andato in timeout causando l'esclusione del disco o della partizione dal raid.

In tale caso, dopo essersi assicurati che il disco sia integro analizzando ad esempio i dati SMART con il già citato comando
Code: [Select]
smartctl -a /dev/sdasi potrà reinserire la partizione fisica del disco eliminata in automatico dal sistema tramite il comando
Code: [Select]
mdadm --add /dev/md2 /dev/sda2e analizzarne in realtime i risultati tramite
Code: [Select]
watch -n .1 cat /proc/mdstat(riporto dal wiki, mai provato)
o tramite il già citato
Code: [Select]
cat /proc/mdstatche ci informerà con un scritta tipo
Code: [Select]
...
[=>...................]  recovery =  6.4% (67712/1048704) finish=1.2min speed=13542K/sec
...




...che magari per voi sono cose risapute, ma io le apprendo adesso e me le appunto qua!  :P

Offline Stefano

  • *
  • 10,894
  • +3/-0
Re: Raid Software... how-to in costruzione
« Reply #5 on: December 29, 2008, 07:33:35 PM »
Code: [Select]
watch -n .1 cat /proc/mdstat

visto che il valore dopo -n è il tempo (in secondi) di refresh.. direi che un valore di qualche secondo (5.. 10) è più adatto, soprattutto considerando che con dischi da qualche centinaio di GB la ricostruzione può metterci parecchio tempo.

Aggiungerei di tener controllato con un
Code: [Select]
tail -f /var/log/messages | grep XXX

(dove XXX è sda, hda.. comunque l'unità disco interessata)
il file messages per beccare l'eventuale problema..
se la ricostruzione fallisce, cambiare il disco

Ciao
Stefano

p.s. ottimo lavoro