Newsgroup: it.comp.os.linux.sys
Titolo: Consiglio su situazione raid

Salve
Non so se sono OT ma sono in piena emergenza e ho bisogno di qualche consiglio da gente che ci capisce più di me di queste cose (e qui so di trovarne).
 
Ho un piccolo NAS WDSharespace (con all'interno una versione customizzata di linux, ovviamente). Oggi vado ad accenderlo e non vuole partire il raid (è un raid 5 - 4 dischi 2TB cadauno) dal pannello di controllo 2 dischi non vengono rilevati (quelli nei bay 3 e 4). Smonto gli HD do una soffiata ai connettori e riprovo - il tutto sembra funzionare. A questo punto non so cos'è successo e se posso continuare a fidarmi. Vorrei quindi un consiglio e, in particolare se per risolvere mi basta cambiare sdc e ricostruire il raid. Sono entrato nella shell vi posto l'output di qualche comando:
 
~ $ dmesg
 Driver (PCI)
Initializing USB Mass Storage driver...
usb 1-1: new high speed USB device using ehci_platform and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver hiddev
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.01:USB HID core driver
mice: PS/2 mouse device common for all mice
md: linear personality registered as nr 1
md: raid0 personality registered as nr 2
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: measuring checksumming speed
   arm4regs  :   429.200 MB/sec
   8regs     :   330.000 MB/sec
   32regs    :   513.600 MB/sec
raid5: using function: 32regs (513.600 MB/sec)
md: md driver 0.90.1 MAX_MD_DEVS=256, MD_SB_DISKS=27
device-mapper: 4.4.0-ioctl (2005-01-12) initialised: dm-devel@r****
t.com
 
NET: Registered protocol family 2
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
NET: Registered protocol family 1
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 1 part 10 variant 9 rev 0
md: Autodetecting RAID arrays.
md: invalid raid superblock magic on sda3
md: sda3 has invalid sb, not importing!
md: invalid raid superblock magic on sdb3
md: sdb3 has invalid sb, not importing!
md: invalid raid superblock magic on sdc3
md: sdc3 has invalid sb, not importing!
md: invalid raid superblock magic on sdd3
md: sdd3 has invalid sb, not importing!
md: autorun ...
md: considering sdd4 ...
md:  adding sdd4 ...
md: sdd2 has different UUID to sdd4
md: sdd1 has different UUID to sdd4
md:  adding sdc4 ...
md: sdc2 has different UUID to sdd4
md: sdc1 has different UUID to sdd4
md:  adding sdb4 ...
md: sdb2 has different UUID to sdd4
md: sdb1 has different UUID to sdd4
md:  adding sda4 ...
md: sda2 has different UUID to sdd4
md: sda1 has different UUID to sdd4
md: created md2
md: bind<sda4>
md: bind<sdb4>
md: bind<sdc4>
md: bind<sdd4>
md: running: <sdd4><sdc4><sdb4><sda4>
raid5: device sdd4 operational as raid disk 3
raid5: device sdc4 operational as raid disk 2
raid5: device sdb4 operational as raid disk 1
raid5: device sda4 operational as raid disk 0
raid5: allocated 4210kB for md2
raid5: raid level 5 set md2 active with 4 out of 4 devices, algorithm 2
RAID5 conf printout:
 --- rd:4 wd:4 fd:0
 disk 0, o:1, dev:sda4
 disk 1, o:1, dev:sdb4
 disk 2, o:1, dev:sdc4
 disk 3, o:1, dev:sdd4
md: considering sdd2 ...
md:  adding sdd2 ...
md: sdd1 has different UUID to sdd2
md:  adding sdc2 ...
md: sdc1 has different UUID to sdd2
md:  adding sdb2 ...
md: sdb1 has different UUID to sdd2
md:  adding sda2 ...
md: sda1 has different UUID to sdd2
md: created md1
md: bind<sda2>
md: bind<sdb2>
md: bind<sdc2>
md: bind<sdd2>
md: running: <sdd2><sdc2><sdb2><sda2>
raid1: raid set md1 active with 4 out of 4 mirrors
md: considering sdd1 ...
md:  adding sdd1 ...
md:  adding sdc1 ...
md:  adding sdb1 ...
md:  adding sda1 ...
md: created md0
md: bind<sda1>
md: bind<sdb1>
md: bind<sdc1>
md: bind<sdd1>
md: running: <sdd1><sdc1><sdb1><sda1>
md: kicking non-fresh sdb1 from array!
md: unbind<sdb1>
md: export_rdev(sdb1)
md: kicking non-fresh sda1 from array!
md: unbind<sda1>
md: export_rdev(sda1)
raid1: raid set md0 active with 2 out of 4 mirrors
md: ... autorun DONE.
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 108K
kjournald starting.  Commit interval 5 seconds
EXT3 FS on md0, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
Adding 1044152k swap on /dev/md1.  Priority:-1 extents:1
egiga0: link down
egiga0: link up, full duplex, speed 100 Mbps
scsi: unknown opcode 0x0c
ufsd: module license 'Commercial product' taints kernel.
ufsd: driver loaded at bf003000 built on Oct 29 2009 11:35:46
UFSD version 7.07 (Oct 29 2009, 11:15:24)
NTFS read/write support included
Hfs+/HfsX read/write support included
$Id: ufsdvfs.c,v 1.235.2.1 2009/09/24 13:04:55 shura Exp $ (LBD=ON)
kjournald starting.  Commit interval 5 seconds
EXT3-fs warning: maximal mount count reached, running e2fsck is recommended
EXT3 FS on md2, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
fuse init (API version 7.8)
fuse distribution version: 2.7.0
Trustees: Building new trustee hash
Trustees: Added element to trustee hash: j 1, name : /enrico
Trustees: Added element to trustee hash: j 5, name : /.timemachine
Trustees: Added element to trustee hash: j 9, name : /eredita
Trustees: Added element to trustee hash: j 13, name : /Download
Trustees: Added element to trustee hash: j 2, name : /Public
Trustees: Added element to trustee hash: j 12, name : /backup_os
Trustees: Added element to trustee hash: j 19, name : /shares
Trustees: Added element to trustee hash: j 11, name : /Configuration
md: bind<sda1>
RAID1 conf printout:
 --- wd:2 rd:4
 disk 0, wo:1, o:1, dev:sda1
 disk 2, wo:0, o:1, dev:sdd1
 disk 3, wo:0, o:1, dev:sdc1
..............................<6>md: syncing RAID array md0
md: minimum _guaranteed_ reconstruction speed: 1000 KB/sec/disc.
md: using maximum available idle IO bandwith (but not more than 200000 KB/sec) for reconstruction.
md: using 128k window, over a total of 208768 blocks.
md: bind<sdb1>
md: md0: sync done.
RAID1 conf printout:
 --- wd:3 rd:4
 disk 0, wo:0, o:1, dev:sda1
 disk 2, wo:0, o:1, dev:sdd1
 disk 3, wo:0, o:1, dev:sdc1
RAID1 conf printout:
 --- wd:3 rd:4
 disk 0, wo:0, o:1, dev:sda1
 disk 1, wo:1, o:1, dev:sdb1
 disk 2, wo:0, o:1, dev:sdd1
 disk 3, wo:0, o:1, dev:sdc1
..............................<6>md: syncing RAID array md0
md: minimum _guaranteed_ reconstruction speed: 1000 KB/sec/disc.
md: using maximum available idle IO bandwith (but not more than 200000 KB/sec) for reconstruction.
md: using 128k window, over a total of 208768 blocks.
md: md0: sync done.
RAID1 conf printout:
 --- wd:4 rd:4
 disk 0, wo:0, o:1, dev:sda1
 disk 1, wo:0, o:1, dev:sdb1
 disk 2, wo:0, o:1, dev:sdd1
 disk 3, wo:0, o:1, dev:sdc1
usb 1-1.3: new high speed USB device using ehci_platform and address 3
scsi4 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
  Vendor: WD        Model: Elements 1078     Rev: 1065
  Type:   Direct-Access                      ANSI SCSI revision: 06
sde: Unit Not Ready, sense:
: Current: sense key=0x0
    ASC=0x0 ASCQ=0x0
SCSI device sde: 3906963456 512-byte hdwr sectors (2000365 MB)
sde: assuming drive cache: write through
sde: Unit Not Ready, sense:
: Current: sense key=0x0
    ASC=0x0 ASCQ=0x0
SCSI device sde: 3906963456 512-byte hdwr sectors (2000365 MB)
sde: assuming drive cache: write through
 sde: sde1
Attached scsi disk sde at scsi4, channel 0, id 0, lun 0
Attached scsi generic sg4 at scsi4, channel 0, id 0, lun 0,  type 0
usb-storage: device scan complete
Trustees: Building new trustee hash
Trustees: Added element to trustee hash: j 1, name : /enrico
Trustees: Added element to trustee hash: j 5, name : /.timemachine
Trustees: Added element to trustee hash: j 9, name : /eredita
Trustees: Added element to trustee hash: j 13, name : /Download
Trustees: Added element to trustee hash: j 2, name : /Public
Trustees: Added element to trustee hash: j 12, name : /backup_os
Trustees: Added element to trustee hash: j 19, name : /shares
Trustees: Added element to trustee hash: j 11, name : /Configuration
Trustees: Added element to trustee hash: j 18, name : /
 
 
~ $ mdadm -E /dev/md2
mdadm: No md superblock detected on /dev/md2.
 
~ $ mdadm --detail /dev/md2
/dev/md2:
        Version : 0.90
  Creation Time : Fri Mar 25 18:05:23 2011
     Raid Level : raid5
     Array Size : 
5855125824
 (5583.88 GiB 5995.65 GB)
  Used Dev Size : 1951708608 (1861.29 GiB 1998.55 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 2
    Persistence : Superblock is persistent
 
    Update Time : Fri Oct  9 22:36:21 2020
          State : clean
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0
 
         Layout : left-symmetric
     Chunk Size : 64K
 
           UUID : b7fb8b0b:f8e183d8:59ff1222:63d4e35b
         Events : 0.7316460
 
    Number   Major   Minor   RaidDevice State
       0       8        4        0      active sync   /dev/sda4
       1       8       20        1      active sync   /dev/sdb4
       2       8       36        2      active sync   /dev/sdc4
       3       8       52        3      active sync   /dev/sdd4
 
 
 


Il RAID sembra a posto.
Perche` cambiare /dev/sdc?
 
Quello che si puo` fare e` un filesystem check
ed un RAID check (ed un filesystem check).
 
Ovviamente, se qualcosa e` andato (passato)
storto c'e` il rischio che qualche file
sia rovinato.
 
Come scritto sopra, da qui sembra a posto,
almeno /dev/md2, come sono gli altri?
Immagino vi sia almeno un /dev/md0 e 1...
Sembrerebbe che uno sia stato assemblato
con successo, mentre l'altro no.
 
Inoltre: cat /proc/mdstat
 
bye,
 
-- 
 
piergiorgio

 Inoltre: cat /proc/mdstat 
 
~ $ cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid5]
md1 : active raid1 sdd2[3] sdc2[2] sdb2[1] sda2[0]
      1044160 blocks [4/4] [UUUU]
 
md2 : active raid5 sdd4[3] sdc4[2] sdb4[1] sda4[0]
 
5855125824
 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]
 
md0 : active raid1 sdb1[1] sda1[0] sdd1[2] sdc1[3]
      208768 blocks [4/4] [UUUU]
 
unused devices: <none>
 
Quando non funzionava dal nas uscivano rumori a dir poco sinistri: non era il classico clik od death ma una sorta di ronzio abbastanza acuto. Insomma, secondo me ha fatto cilecca un disco (o peggio 2 ma mi sembra improbabile che un riavvio li abbia fatti ripartire ENTRAMBI). Quindi vorrei capire se si riesce a individuare il disco difettoso prima del prossimo fault (ma probabilmente i log sono stati persi quando l'ho spento mannaggia!).

 Quando non funzionava dal nas uscivano rumori a dir poco sinistri: non era il classico clik od death ma una sorta di ronzio abbastanza acuto. Insomma, secondo me ha fatto cilecca un disco (o peggio 2 ma mi sembra improbabile che un riavvio li abbia fatti ripartire ENTRAMBI). Quindi vorrei capire se si riesce a individuare il disco difettoso prima del prossimo fault (ma probabilmente i log sono stati persi quando l'ho spento mannaggia!).
 
Sarebbe da provare:
 
smartctl -a /dev/sdX
 
Se c'e` in busybox od installato.
Se non c'e`, si dovrebbero collegare
i dischi ad un PC e dare il comando.
 
Il problema, pero`, e` che non appena
si collega il disco, sicuramente
verra` attivato il RAID, con un disco
solo, che poi *non* si deve  scollegare
se prima non si da:
 
mdadm --stop /dev/mdX
 
E si controlla con: cat /proc/mdstat
che sia veramente sparito.
 
Ovviamente, uno potrebbe fare boot
e shutdown e risolvere cosi`.
 
Non so se e` chiaro questo: detto
altrimenti, "udev" appena vede il
disco tenta di attivare il RAID
anche in maniera incompleta (aspetta
che gli altri HDD spuntino) e non si
deve staccare il disco se il RAID e`
attivo (parzialmente o completamente).
 
Riguardo ai rumore, il box non riporta
lo stato dei dischi?
A volte indicano che un disco sarebbe
da cambiare.
 
Ed infine, di nuovo, fare un backup
di tutto finche` e` possibile.
 
bye,
 
-- 
 
piergiorgio

 da cambiare. 
normalmente le luci sono verdi e lampeggiano quando si accede al disco (in lettura o scrittura). Se un disco ha un fault la luce diventa color ambra. Quando si è verificato il problema le luci dei bay 1 e 2 funzionavano perfettamente (accesso al disco) mentre le luci dei bay 3 e 4 erano fisse (ma sempre verdi) salvo qualche lampeggio sporadico e all'unisono. Da ignorante di raid mi viene da pensare che il sistema si sia incartato nella lettura del terzo disco e che al quarto non abbia provato ad accederci nemmeno.
 

 normalmente le luci sono verdi e lampeggiano quando si accede al disco (in lettura o scrittura). Se un disco ha un fault la luce diventa color ambra. Quando si è verificato il problema le luci dei bay 1 e 2 funzionavano perfettamente (accesso al disco) mentre le luci dei bay 3 e 4 erano fisse (ma sempre verdi) salvo qualche lampeggio sporadico e all'unisono. Da ignorante di raid mi viene da pensare che il sistema si sia incartato nella lettura del terzo disco e che al quarto non abbia provato ad accederci nemmeno.
 
Puo` essere, ma adesso pare funzionare.
 
Ripeto, forse un qualche transitorio.
 
Backup... :-)
 
bye,
 
-- 
 
piergiorgio

raid1: raid set md0 active with 2 out of 4 mirrors
 
Qui sopra sta dicendo che due partizioni sono state ciccate (sda1 e sdb1),
il che assassinerebbe un RAID5, ma... md0 è un RAID1 con QUATTRO mirror, e
quindi è sopravvissuto. L'ha anche risyncato, sicché dev'essere poca roba;
azzardo che il tuo NAS lì ci tenga la config.
 
Il sistema sembra del tutto a posto. Guarda da hdparm o smartctl se riesci
ad accedere allo SMART dei dischi...
 
Leonardo
-- 
 
"You all presumably know why" :-) :-(

 ad accedere allo SMART dei dischi... 
Secondo smartctl va tutto bene. Però se partono 2 dischi magari uno e l'altro lo segue proprio mentre sto ricreando il raid ciao ciao dati non backuppati. Quindi mi conviene prendere in seria considerazione l'idea di sostituire i 2 dischi. Giusto?


No. Devi fare il backup da un'altra parte,
per prima cosa.
 
Il RAID-5 e` pericoloso di sua natura.
 
Non andrebbe usato per NAS usati per backup.
 
Ora, pero`, questo non si puo` cambiare,
quindi la cosa migliore sarebbe fare una
copia dei dati e poi un check / repair.
 
Se il RAID sopravvive, potrebbe essere che
i dischi vadano ancora bene.
 
Se vuoi cambiare un disco, devi comunque
fare una copia dei dati, perche` se durante
la ricostruzione parte un secondo, cosa
molto probabile, hai perso tutto.
 
bye,
 
-- 
 
piergiorgio