Como substituir uma falha no disco rígido em uma matriz RAID1

Como substituir uma falha no disco rígido em uma matriz RAID1? E como adicionar um novo disco rígido a matriz RAID1 sem perder dados? Agora você descobrirá.

 

Nota

  • Nesse exemplo, serão utilizados dois discos rígidos: /dev/sda and /dev/sdb, com as partições /dev/sda1 e /dev/sda2, e também /dev/sdb1 e /dev/sdb2.
  • /dev/sda1 e /dev/sdb1 compõe a matriz RAID1 de /dev/md0.
  • /dev/sda2 e /dev/sdb2 compõe a matriz RAID1 de /dev/md1.
  • /dev/sda1 + /dev/sdb1 = /dev/md0
  • /dev/sda2 + /dev/sdb2 = /dev/md1
  • /dev/sdb é onde ocorreu a falha, e depois ele será substituído.

 

Como saber se houve falha no disco rígido?

Se houver falha no disco, você provavelmente receberá várias mensagens de erro nos arquivos log, eles podem ser vistos em /var/log/messages ou /var/log/syslog.

Você também pode rodar:

cat /proc/mdstat

E se ao invés de [UU], você ver [U_], significa que a matriz está degradada.

 

Removendo o disco com falha

Para remover /dev/sdb, será necessário marcar /dev/sdb1 /dev/sdb2 como falhas também, e removê-los de suas respectivas matrizes.

 

Marcando /dev/sdb1 como falha:

mdadm --manage /dev/md0 --fail /dev/sdb1

A saída de cat /proc/mdstat deverá se parecer com isso:

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0] sdb1[2](F)
      24418688 blocks [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1]
      24418688 blocks [2/2] [UU]

unused devices: <none>

Então, remova /dev/sdb1 de /dev/md0:

mdadm --manage /dev/md0 --remove /dev/sdb1

A saída então será assim:

server1:~# mdadm --manage /dev/md0 --remove /dev/sdb1
mdadm: hot removed /dev/sdb1

E o comando cat /proc/mdstat deverá mostrar isso:

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0]
      24418688 blocks [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[1]
      24418688 blocks [2/2] [UU]

unused devices: <none>

Agora, o mesmo deverá ser feito com /dev/sdb2:

mdadm --manage /dev/md1 --fail /dev/sdb2

cat /proc/mdstat

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0]
      24418688 blocks [2/1] [U_]

md1 : active raid1 sda2[0] sdb2[2](F)
      24418688 blocks [2/1] [U_]

unused devices: <none>

 

mdadm --manage /dev/md1 --remove /dev/sdb2

server1:~# mdadm --manage /dev/md1 --remove /dev/sdb2
mdadm: hot removed /dev/sdb2

cat /proc/mdstat

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0]
      24418688 blocks [2/1] [U_]

md1 : active raid1 sda2[0]
      24418688 blocks [2/1] [U_]

unused devices: <none>

 

Então desligue o sistema com o comando "-h" e substitua o antigo disco rígido /dev/sdb por um novo.

 

 

Adicionando um novo disco rígido

Depois de ter concluído os passos anteriores, inicie o sistema. 

A primeira coisa que deverá ser feita agora, é criar a mesma partição como /dev/sda. É possível fazer isso com apenas um comando:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Você pode utilizar o comando "fdisk -l" para verificar se ambos discos estão no mesmo particionamento agora. 

Em seguida, adicione /dev/sdb1 em /dev/md0 e /dev/sdb2 em /dev/md1:

mdadm --manage /dev/md0 --add /dev/sdb1

server1:~# mdadm --manage /dev/md0 --add /dev/sdb1
mdadm: re-added /dev/sdb1

mdadm --manage /dev/md1 --add /dev/sdb2

server1:~# mdadm --manage /dev/md1 --add /dev/sdb2
mdadm: re-added /dev/sdb2

 

Agora, as duas matrizes (/dev/md0 e /dev/md1) serão sincronizadas. Então, rode o comando cat /proc/mdstat para que o processo seja finalizado. 

Durante a sincronização, o texto de saída deverá ser assim:

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      24418688 blocks [2/1] [U_]
      [=>...................]  recovery =  9.9% (2423168/24418688) finish=2.8min speed=127535K/sec

md1 : active raid1 sda2[0] sdb2[1]
      24418688 blocks [2/1] [U_]
      [=>...................]  recovery =  6.4% (1572096/24418688) finish=1.9min speed=196512K/sec

unused devices: <none>

 

Quando a sincronização terminar, o texto será assim:

server1:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid5] [raid4] [raid6] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
      24418688 blocks [2/2] [UU]

md1 : active raid1 sda2[0] sdb2[1]
      24418688 blocks [2/2] [UU]

unused devices: <none>

 

E é isso!

Para confirmar qual drive físico falhou, você pode usar o comando:

   sudo hdparm -I /dev/sdb

Esse comando lhe informar o número de série do seu drive, e com isso, acabará com a confusão sobre qual dispositivo é.  

 

  • RAID1, disco rigido
  • 0 Usuários acharam útil
Esta resposta lhe foi útil?

Related Articles

Como reiniciar a rede Ubuntu?

O reiniciamento da interface de rede Ubuntu só pode ser realizado depois que a interface de rede...

Como saber a última vez que um usuário esteve logado no sistema Linux?

  Neste tutorial, você irá conseguir saber como verificar quem usou recentemente o servidor...

Como saber o quanto de RAM ainda há no sistema?

  Alguns usuários pensam que o Linux "rouba" espaço de memória RAM não utilizada para o seu...

Como otimizar seu MySQL

Para realizar otimização do MySQL é recomendado utilizar o mysqlmymonlite.sh...

Como se conectar remotamente com um servidor MySQL

Esse é um tutorial que irá lhe ensinar a como se configurar e se conectar a um servidor MySQL...