GNU/Linux >> Linux Esercitazione >  >> Linux

Sostituzione di un'unità RAID 6 difettosa con mdadm

Questa procedura descrive come sostituire un'unità guasta su un RAID software gestito da mdadm utilità. Per sostituire un'unità RAID 6 difettosa in mdadm :

  1. Identifica il problema.
  2. Ottieni i dettagli dall'array RAID.
  3. Rimuovere il disco guasto dall'array RAID.
    1. Spegnere la macchina e sostituire il disco.
    2. Partizia il nuovo disco.
    3. Aggiungi il nuovo disco all'array RAID.
  4. Verifica il ripristino.

Esaminiamo questo processo in modo più dettagliato facendo un esempio.

Identifica il problema 

Per identificare quale disco non funziona all'interno dell'array RAID, esegui: 

[root@server loc]# cat /proc/mdadm 

Oppure:

[root@server loc]# mdadm -–query -–detail /dev/md2

Il disco guasto apparirà come guasto o rimosso . Ad esempio:

[root@server loc]# mdadm -–query -–detail /dev/md2 
/dev/md2: 
Version : 1.2 
Creation Time : Mon Jun 22 08:47:09 2015 
Raid Level : raid6 
Array Size : 5819252736 (5549.67 GiB 5958.91 GB) 
Used Dev Size : 2909626368 (2774.84 GiB 2979.46 GB) 
Raid Devices : 4 
Total Devices : 4 
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Mon Oct 15 11:55:06 2018 
State : clean, degraded, recovering 
Active Devices : 3 
Working Devices : 4 
Failed Devices : 0 
Spare Devices : 1

Layout : left-symmetric 
Chunk Size : 512K

Consistency Policy : bitmap

Rebuild Status : 3% complete

Name : localhost.localdomain:2 
UUID : 54404ab5:4450e4f3:aba6c1fb:93a4087e 
Events : 1046292

Number Major Minor Raid  Device  State 
0           0        0        0                   removed 
1           8        36      1      active    sync /dev/sdc4 
2           8        52      2      active    sync /dev/sdd4 
3           8        68      3      active    sync /dev/sde4 

Ottieni dettagli dall'array RAID

Per esaminare lo stato dell'array RAID e identificare lo stato di un disco all'interno del RAID:

[root@server loc]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md2 : active raid6 sdb4[4](F) sdd4[2] sdc4[1] sde4[3]
5819252736 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/3] [_UUU] 
[>………………..] recovery = 3.4% (100650992/2909626368) finish=471.5min speed=99278K/sec 
bitmap: 2/22 pages [8KB], 65536KB chunk

unused devices: <none>

Come possiamo vedere, il dispositivo /dev/sdb4 non è riuscito nel RAID.

Poiché abbiamo identificato che il disco guasto è /dev/sdb4 (come nel caso di questo server), avremmo dovuto ottenere il numero di serie del disco utilizzando smartctl :

[root@server loc]# smartctl -–all /dev/sdb | grep -i 'Serial'

Il comando precedente è importante poiché è necessario sapere quale disco rimuovere dal server, in base all'etichetta fisica del disco.

Rimuovere il disco guasto dall'array RAID

È importante rimuovere il disco guasto dall'array in modo che l'array mantenga uno stato coerente e sia a conoscenza di ogni modifica, in questo modo:

[root@server loc]# mdadm -–manage /dev/md2 -–remove /dev/sdb4

In caso di rimozione riuscita, verrà visualizzato un messaggio simile al seguente: 

[root@server loc]# mdadm: hot removed /dev/sdb4 from /dev/md2 

Controlla lo stato di /proc/mdstat ancora una volta:

[root@server loc]# cat /proc/mdstat 

Puoi vedere quel /dev/sdb4 non è più visibile.

Spegni la macchina e sostituisci il disco 

Ora è il momento di spegnere il sistema e sostituire il disco difettoso con uno nuovo, ma prima di spegnere il sistema, commenta /dev/md2 dal tuo /etc/fstab file. Vedi l'esempio seguente:

[root@server loc]# cat /etc/fstab

# 
# /etc/fstab 
# Created by anaconda on Fri May 20 13:12:25 2016 
# 
# Accessible filesystems, by reference, are maintained under ‘/dev/disk’ 
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info 
# 
/dev/mapper/centos-root / xfs defaults 0 0 
UUID=1300b86d-2638-4a9f-b366-c5e67e9ffa4e /boot xfs defaults 0 0 
#/dev/mapper/centos-home /home xfs defaults 0 0 
/dev/mapper/centos-swap swap swap defaults 0 0 
#/dev/md2 /var/loc xfs defaults 0 0

Partizia il nuovo disco 

Poiché disponiamo di altri dischi di lavoro all'interno dell'array RAID, è facile e conveniente copiare lo schema della partizione di un disco di lavoro sul nuovo disco. Questa attività viene eseguita con sgdisk utility, fornita da gdisk pacchetto.

Installa gdisk in questo modo (regola questo comando per la tua distribuzione):

[root@server loc]# yum install gdisk

Usando gdisk , passeremo prima il -R opzione (sta per Replica). Assicurati di replicare lo schema della partizione di un disco di lavoro. È importante utilizzare l'ordine corretto dei dischi per replicare lo schema della partizione da un disco di lavoro a uno nuovo. Nella nostra situazione, sul nuovo disco c'è /dev/sdb e i dischi di lavoro sono /dev/sdc , /dev/sdd , /dev/sde .

Ora, per replicare lo schema della partizione di un disco di lavoro (ad esempio /dev/sdc ) sul nuovo disco /dev/sdb , è necessario il seguente comando: 

[root@server loc]# sgdisk -R /dev/sdb /dev/sdc

Per evitare conflitti GUID con altre unità, dovremo randomizzare il GUID della nuova unità utilizzando: 

[root@server loc]# sgdisk -G /dev/sdb 
The operation has completed successfully. 

Successivamente, verifica l'output di /dev/sdb usando il parted utilità: 

[root@server loc]# parted /dev/sdb print

Aggiungi il nuovo disco all'array RAID 


Dopo aver completato la replica dello schema della partizione sulla nuova unità, ora possiamo aggiungere l'unità all'array RAID: 

[root@server loc]# mdadm -–manage /dev/md2 -–add /dev/sdb4
mdadm: added /dev/sdb4 

Verifica il ripristino 

Per verificare il ripristino RAID, utilizza quanto segue: 

[root@server loc]# cat /proc/mdstat 
Personalities : [raid6] [raid5] [raid4] 
md2 : active raid6 sdb4[4] sdd4[2] sdc4[1] sde4[3] 
5819252736 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/3] [_UUU] 
[==>………………] recovery = 12.2% (357590568/2909626368) finish=424.1min speed=100283K/sec 
bitmap: 0/22 pages [0KB], 65536KB chunk

unused devices: <none>

Oppure:

[root@server loc]# mdadm -–query -–detail /dev/md2 
/dev/md2: 
Version : 1.2 
Creation Time : Mon Jun 22 08:47:09 2015 
Raid Level : raid6 
Array Size : 5819252736 (5549.67 GiB 5958.91 GB) 
Used Dev Size : 2909626368 (2774.84 GiB 2979.46 GB) 
Raid Devices : 4 
Total Devices : 4 
Persistence : Superblock is persistent

Intent Bitmap : Internal

Update Time : Mon Oct 15 12:37:37 2018 
State : clean, degraded, recovering 
Active Devices : 3 
Working Devices : 4 
Failed Devices : 0 
Spare Devices : 1

Layout : left-symmetric 
Chunk Size : 512K

Consistency Policy : bitmap

Rebuild Status : 12% complete

Name : localhost.localdomain:2 
UUID : 54404ab5:4450e4f3:aba6c1fb:93a4087e 
Events : 1046749

Number Major  Minor  Raid  Device  State 
          4        8       20      0   spare   rebuilding /dev/sdb4 
          1        8       36      1   active   sync /dev/sdc4 
          2        8       52      2   active   sync /dev/sdd4 
          3        8       68      3   active   sync /dev/sde4

Dall'output sopra, ora vediamo che /dev/sdb4 è in fase di ricostruzione e sono disponibili quattro dispositivi funzionanti e attivi. Il processo di ricostruzione potrebbe richiedere del tempo, a seconda della dimensione totale del disco e del tipo di disco (ad esempio, tradizionale o a stato solido).

Festeggia

Ora hai sostituito con successo un'unità RAID 6 guasta con mdadm . Si spera che non sarà mai necessario farlo, ma l'hardware non funziona. Le probabilità sono che se stai usando RAID 6, alla fine accadrà. Se puoi, configura un lab, forza un RAID 6 a fallire e quindi ripristinalo. Sapere come affrontare il problema renderà l'esperienza quando accade l'impensabile molto meno stressante.


Linux
  1. Controlla lo spazio su disco utilizzato su Linux con du

  2. Partizionare un'unità su Linux con GNU Parted

  3. Informazioni sul disco rigido dietro il controller raid hardware?

  4. Implementazione Mdadm Raid con partizionamento Gpt?

  5. Gestisci i dischi con DiskPart

RAID Linux

Errori sulla clonazione del disco con Cat?

Impossibile formattare l'unità USB con i dischi (udisks-error-quark, 0)?

È possibile ridimensionare il disco online con KVM?

Linux mdadm software RAID 6 - supporta il ripristino del danneggiamento dei bit?

Il riempimento del disco con dd rimuove i file in modo sicuro?