Expanda um array Linux MD RAID 10 para usar discos maiores

Expanda um array Linux MD RAID 10 para usar discos maiores

Pelo que entendi, isso é possível, mas não consigo encontrar uma resposta direta em nenhum lugar sobre como exatamente fazer isso e não quero correr o risco de perder dados experimentando isso sozinho, por isso estou perguntando aqui.

Eu tenho um servidor doméstico com cinco discos rodando CentOS. Um é um SSD que contém o sistema operacional. Os quatro discos restantes são discos rígidos de 4 TB configurados em RAID10 com mdraid. O sistema de arquivos em uso é o xfs.

Estou pensando em tentar substituir os discos de 4 TB por discos de 8 TB. O que exatamente precisa ser feito para que essa substituição aconteça sem a necessidade de reconfigurar um novo RAID e perder dados?

Details output:

[root@fluttershy ~]# mdadm -D /dev/md127
/dev/md127:
        Version : 1.2
  Creation Time : Mon Apr 18 12:46:24 2016
     Raid Level : raid10
     Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
  Used Dev Size : 3906885632 (3725.90 GiB 4000.65 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Jun 13 11:04:41 2016
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : fluttershy:data  (local to host fluttershy)
           UUID : aa8f857a:g8bd0344:06d2f6d3:bac01a46
         Events : 13440

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync set-A   /dev/sda1
       1       8       17        1      active sync set-B   /dev/sdb1
       2       8       33        2      active sync set-A   /dev/sdc1
       3       8       49        3      active sync set-B   /dev/sdd1

Responder1

Conclua as etapas a seguir para cada disco; substitua /dev/sda1por outros discos conforme necessário. Você deve completartodosSiga estas etapas para um disco antes de prosseguir para o disco seguinte.

  • Marque o disco como com falha para que o MD pare de usá-lo:mdadm --manage /dev/md127 --fail /dev/sda1
  • Remova o disco da matriz:mdadm --manage /dev/md127 --remove /dev/sda1
  • Substitua fisicamente o disco.
  • Particione o novo disco usando o tipo 0xDAcom uma partição abrangendo todo o disco.
  • Adicione o novo disco ao array:mdadm --manage /dev/md127 --add /dev/sda1

O MD reconstruirá o array assim que você adicionar o disco de substituição. Certifique-se de que a reconstrução esteja concluídaantesvocê prossegue para o próximo disco. Você pode verificar o status do array executando cat /proc/mdstat.

Uma veztodosdos discos foram substituídos e a matriz reconstruída, expanda a matriz para preencher a capacidade máxima de todos os discos com mdadm --grow /dev/md127 --size=max. Você pode redimensionar o sistema de arquivos para preencher o RAID expandido; no seu caso, use o xfs_growfscomando.

Mais informações sobre como aumentar um array MD estão disponíveis no siteWiki RAID Linux.

Como acontece com qualquer outra tarefa de manipulação de disco, você deve fazer um backup antes de começar.

Responder2

Você gostaria de trocar cada disco um por um primeiro.

Para fazer isso, você 'falharia' em cada disco e o substituiria por seu novo substituto de 8 TB; na verdade, se você tiver portas sobressalentes, poderá adicionar os discos extras e colocar o mdadm 'substituir' no lugar, em vez de remover um disco de o ataque e tendo um risco maior de falha.

Esta pergunta detalha a melhor maneira que posso encontrar de fazer isso 'com segurança'

Depois de fazer isso, você simplesmente desejará expandir o FS existente para o espaço recém-criado. Parece que o comando para isso é 'xfs_growfs', mas não tenho experiência com xfs para explicar exatamente como você faria isso.

Como sempre, tenha backups prontos (e raid não é backup!).

informação relacionada