Remover unidade do RAID suave

7

Eu tenho um servidor dedicado com 3 unidades SSD em RAID 1. Saída de cat / proc / mdstat:

    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
      106738624 blocks [3/3] [UUU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
      5497792 blocks [3/3] [UUU]

md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
      259008 blocks [3/3] [UUU]

unused devices: <none>

¿Como uma unidade pode ser removida com segurança do soft-raid sem perder nenhum dado? Eu gostaria de remover uma unidade da matriz para reformatá-la e usá-la independentemente, mantendo os dados mais importantes espelhados.

Obrigado antecipadamente

    
por Raul 22.12.2016 / 01:31

2 respostas

11

Você tem um espelho de três direções: cada unidade tem uma cópia completa de todos os dados. Supondo que a unidade que você deseja remover é /dev/sdc e você deseja removê-la de todos os três arrays, execute as etapas a seguir para /dev/sdc1 , /dev/sdc2 e /dev/sdc4 .

Etapa 1: remova a unidade da matriz. Você não pode remover um dispositivo ativo de um array, então você precisa marcá-lo como falho primeiro.

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

Etapa 2: apague os metadados RAID para que o kernel não tente adicioná-lo novamente:

wipefs -a /dev/sdc1

Etapa 3: reduza o array para que seja apenas um espelho bidirecional, não um espelho triplo com um disco ausente:

mdadm --grow /dev/md1 --raid-devices=2

Pode ser necessário remover o bitmap de intenção de gravação de /dev/md4 antes de encurtá-lo (o manual não está claro sobre isso), caso em que você faria isso antes da etapa 3 com mdadm --grow /dev/md4 --bitmap=none , em seguida volte depois com mdadm --grow /dev/md4 --bitmap=internal .

    
por 02.02.2017 / 22:41
0

man mdadm:

   -r, --remove
          remove listed devices.  They must  not  be  active.   i.e.  they
          should be failed or spare devices.

          As well as the name of a device file (e.g.  /dev/sda1) the words
          failed, detached and names like set-A can be given to  --remove.
          The  first  causes  all failed device to be removed.  The second
          causes any device which is no longer  connected  to  the  system
          (i.e  an  'open'  returns  ENXIO) to be removed.  The third will
          remove a set as describe below under --fail.
    
por 22.12.2016 / 01:53

Tags