Raid 5 con 2 hard disk "danneggiati"

19 risposte [Ultimo contenuto]
Ritratto di grechk
grechk
(Junior)
Offline
Junior
Iscritto: 21/03/2017
Messaggi: 13

Ecco i gdisk / fdisk... In questo caso i dischi iniziano da sdb in quanto ho utilizzato un ulteriore disco (sda) per installare un ubuntu apposta per le operazioni di recupero.

root@MS-7623:~# gdisk /dev/sdb
GPT fdisk (gdisk) version 0.8.8
 
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present
 
Found valid GPT with protective MBR; using GPT.
 
Command (? for help): p
Disk /dev/sdb: 7814037168 sectors, 3.6 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 750A865E-AED6-1740-B8A2-91BCBF63268A
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7814037134
Partitions will be aligned on 8-sector boundaries
Total free space is 3909142093 sectors (1.8 TiB)
 
Number  Start (sector)    End (sector)  Size       Code  Name
   1         2099200         4196351   1024.0 MiB  0700  
   2         4196352        13957127   4.7 GiB     FD00  
   3        13959160        13959175   8.0 KiB     8200  
   4        18055168      3911092231   1.8 TiB     FD00 
 
 
root@MS-7623:~# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.8
 
Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present
 
Found valid GPT with protective MBR; using GPT.
 
Command (? for help): p
Disk /dev/sdc: 7814037168 sectors, 3.6 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 5D28A165-326C-9C4A-8EB9-4E048FFA948A
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7814037134
Partitions will be aligned on 8-sector boundaries
Total free space is 3909142077 sectors (1.8 TiB)
 
Number  Start (sector)    End (sector)  Size       Code  Name
   1         2099200         4196351   1024.0 MiB  0700  
   2         4196352        13957127   4.7 GiB     FD00  
   3        13959160        13959175   8.0 KiB     8200  
   4        13961208        13961223   8.0 KiB     8200  
   5        18055168      3911092231   1.8 TiB     FD00
 
 
root@MS-7623:~# fdisk /dev/sdd
 
Comando (m per richiamare la guida): p
 
Disk /dev/sdd: 2000.4 GB, 2000398934016 bytes
255 testine, 63 settori/tracce, 243201 cilindri, totale 3907029168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x53a28702
 
Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdd1   *        2048     9764863     4881408   fd  Autorilevamento raid di Linux
/dev/sdd2         9764864  3906904063  1948569600    5  Esteso
/dev/sdd5         9766912    13862911     2048000   82  Linux swap / Solaris
/dev/sdd6        13864960  3906904063  1946519552   fd  Autorilevamento raid di Linux
 
 
root@MS-7623:~# fdisk /dev/sde
 
Comando (m per richiamare la guida): p
 
Disk /dev/sde: 2000.4 GB, 2000398934016 bytes
255 testine, 63 settori/tracce, 243201 cilindri, totale 3907029168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0e698234
 
Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sde1   *        2048     9764863     4881408   fd  Autorilevamento raid di Linux
/dev/sde2         9764864  3906904063  1948569600    5  Esteso
/dev/sde5         9766912    13862911     2048000   82  Linux swap / Solaris
/dev/sde6        13864960  3906904063  1946519552   fd  Autorilevamento raid di Linux
 
 
root@MS-7623:~# fdisk /dev/sdf
 
Comando (m per richiamare la guida): p
 
Disk /dev/sdf: 2000.4 GB, 2000398934016 bytes
255 testine, 63 settori/tracce, 243201 cilindri, totale 3907029168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0387e2ea
 
Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdf1   *        2048     9764863     4881408   fd  Autorilevamento raid di Linux
/dev/sdf2         9764864  3906904063  1948569600    5  Esteso
/dev/sdf5         9766912    13862911     2048000   82  Linux swap / Solaris
/dev/sdf6        13864960  3906904063  1946519552   fd  Autorilevamento raid di Linux
 
 
root@MS-7623:~# fdisk /dev/sdg
 
Comando (m per richiamare la guida): p
 
Disk /dev/sdg: 2000.4 GB, 2000398934016 bytes
255 testine, 63 settori/tracce, 243201 cilindri, totale 3907029168 settori
Unità = settori di 1 * 512 = 512 byte
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Identificativo disco: 0x0321bc6a
 
Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sdg1   *        2048     9764863     4881408   fd  Autorilevamento raid di Linux
/dev/sdg2         9764864  3906904063  1948569600    5  Esteso
/dev/sdg5         9766912    13862911     2048000   82  Linux swap / Solaris
/dev/sdg6        13864960  3906904063  1946519552   fd  Autorilevamento raid di Linux

Ritratto di compact
compact
(Geek)
Offline
Geek
Iscritto: 11/12/2004
Messaggi: 163

ok già più chiaro presumo che i dischi /dev/sdb e /dev/sdc siano i dischi da 4 Tb aggiunti in un secondo momento ...

attualmente a te servono i dati contenuti in /dev/md1 che è composto dalle seguenti partizioni

/dev/sdd6 13864960 3906904063 1946519552 fd Autorilevamento raid di Linux (spare non attivo)
/dev/sde6 13864960 3906904063 1946519552 fd Autorilevamento raid di Linux (attivo)
/dev/sdf6 13864960 3906904063 1946519552 fd Autorilevamento raid di Linux (attivo)
/dev/sdg6 13864960 3906904063 1946519552 fd Autorilevamento raid di Linux (attivo)

proverei con questo primo test:

Attenzione meglio con i cloni, se te la senti anche senza cloni ma con un disco non presente nel sistema attualmente
presa da https://raid.wiki.kernel.org/index.php/Initial_Array_Creation#raid5

dd if=/dev/sdd6 of=dd_sdd6; losetup /dev/loop0 dd_sdd6
dd if=/dev/sde6 of=dd_sde6; losetup /dev/loop1 dd_sde6
dd if=/dev/sdf6 of=dd_sdf6; losetup /dev/loop2 dd_sdf6
dd if=/dev/sdg6 of=dd_sdg6 losetup /dev/loop3 dd_sdg6

mdadm --verbose --create --assume-clean /dev/md11 --level=5 --raid-devices=4 /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3

poi crei altri due file della stessa dimensione ...

cp dd_sdd6 dd_add1; dd if=/dev/zero of=dd_add1; losetup /dev/loop4 dd_add1
cp dd_sdd6 dd_add2; dd if=/dev/zero of=dd_add2: losetup /dev/loop5 dd_add2

mdadm --manage /dev/md11 --add /dev/loop4 /dev/loop5

incrocerei tutte le dita ...

Ritratto di grechk
grechk
(Junior)
Offline
Junior
Iscritto: 21/03/2017
Messaggi: 13

Ti ringrazio per la pazienza che ci stai mettendo, ma probabilmente non mi sono spiegato bene.
Il raid è composto da tutti e 6 i dischi, mi sono trovato nella situazione di 4 da 2 tb e 2 da 4 tb perché già più di un mese fa avevo iniziato il passaggio dai 2 ai 4 tb. Mi ero fermato perché non avevo un controller che mi gestisse 6 dischi da 4 tb. Ho acquistato il controller ed al momento del montaggio mi è successo il casino che ho descritto.
Prima del passaggio ai 4 tb avevo 6 dischi da 2 tb in funzione.
La sfiga ha voluto che tra i 2 dischi espulsi dal raid perché corrotti non ci fosse lo spare, altrimenti sarebbe partito degradato ma funzionante.

Spero di essermi spiegato meglio.

Ciao e grazie ancora.

Ritratto di grechk
grechk
(Junior)
Offline
Junior
Iscritto: 21/03/2017
Messaggi: 13

Ho iniziato a clonare i dischi, è sufficiente clonare le partizioni interessate o il disco completo?

Ritratto di compact
compact
(Geek)
Offline
Geek
Iscritto: 11/12/2004
Messaggi: 163

Forse saro molto stanco ma il raid5 non ha un minimo di 3 dischi e da quello che hai postato hai gia 3 partizioni
che risultano attive nel device /dev/md1 quindi teoricamente anche cosi dovrebbe andare.

dove stanno i due dischi rimossi per far posto hai 2 nuovi da 4 Tb (se non li hai usati potresti ripristinare i dati ricostruendoli da li ?

quindi aggiungendo 2 partizioni fittizie dovrebbe ripartire la ricostruzione o forse sarò io abituato al raid1 ...

Ritratto di grechk
grechk
(Junior)
Offline
Junior
Iscritto: 21/03/2017
Messaggi: 13

Il raid 5 ha minimo 3 dischi, ma accetta un fail solo, nel mio caso i dischi che partecipano al raid sono 5, quindi il raid risulta buono anche con 4 ma non con 3.
I dischi vecchi li ho ma sono inutilizzati da oltre un mese, sono fuori sincronizzazione.
Il raid 1 non ha problemi, ha bisogno di un solo disco funzionante.
La differenza è nelle capacità in gioco, che con il raid 5, nel mio caso con 5 dischi da 2 tb ne hai a disposizione 8 tb da usare, mentre con il raid 1 avrei dovuto avere 8 dischi da 2 tb per la stessa capacità.

Ritratto di compact
compact
(Geek)
Offline
Geek
Iscritto: 11/12/2004
Messaggi: 163

Per la clonazione segli tu se pensi di aver bisogno solo dei dati su /dev/md1 allora ti basta clonare le partizioni coinvolte.

Visto il problema e che i dati sono importantissimi, personalmente clonerei tutto e poi farei i test con i cloni.

A me personalmente è già successo che si rompessero 2 dischi di un raid1 (in due momenti diversi, quindi avevo
sempre i dati sia su un disco che nel backup), per questo ho optato per un raid1 con 3 dischi
(si spera, toccando ferro, che almeno 1 su 3 sopravviva al evento, al massimo ho un backup settimanale dove
poter attingere i dati).

Ancora in bocca al lupo ...

fai sapere se risolvi ... (e come che l'argomento può interessare anche altre persone)

Ritratto di grechk
grechk
(Junior)
Offline
Junior
Iscritto: 21/03/2017
Messaggi: 13

Ok, allora clono solo le partizioni interessate così risparmio tempo... clonare un disco da 4 tera mi richiede circa 14 ore, la partizione di 1,8 tb meno della metà.
Ci risentiamo dopo la clonazione, vediamo cosa si riesce a fare... per ora grazie.
Ovviamente se riesco a risolvere faccio un riassunto per i posteri, visto che in giro per internet ci sono varie richieste di aiuto simili.

Ritratto di grechk
grechk
(Junior)
Offline
Junior
Iscritto: 21/03/2017
Messaggi: 13

ce l'ho fatta... le partizioni dei 2 hard disk da 4 Tb che ho ripristinato con testdisk non erano corrette... ho cancellato la tabella delle partizioni e l'ho rifatta come ricordavo a memoria e verificando la dimensione su quelli da 2 Tb, ho avviato l'array degradato ed ora sto trasferendo tutto su altri hard disk... poi rifarò tutto il lavoro da capo, installando il sistema operativo e ricreando l'array per i dati + 1 hard disk di backup èer le cose più importanti (onde evitare spiacevoli inconvenienti) Smile

grazie a tutti per l'aiuto e la disponibilità