Converta raid de software linux de raid5 para raid6

11

Atualmente, tenho um servidor de arquivos com 3 discos de 1,5 TB em uma matriz RAID5. Como está praticamente cheio, tenho três discos adicionais (também 1,5 TB cada).

Agora eu gostaria de mudar para o RAID6, já que 6 TB de espaço são suficientes e eu gostaria de ter a segurança aumentada do raid6. Embora eu tenha um backup completo - ou seja, eu poderia simplesmente criar uma nova matriz e restaurar o backup - prefiro alternar sem precisar restaurar um backup. Isso é possível e, se sim, como?

ThiefMaster
fonte

Respostas:

9

A terminologia que você está procurando é uma "migração no nível RAID".

De acordo com isso , é possível. Eu não fiz isso, mas o procedimento parece que você deve adicionar a nova unidade como hotspare à matriz existente e usar o mdadm para atualizar o nível da invasão e o número de dispositivos de invasão.

Você precisará de um mdadm recente para fazer isso: o mdadm-2.6.9 (por exemplo, centos 5.x) não parece suportá-lo, mas o mdadm-3.1.4 (por exemplo, o ubuntu 11.10):

   Grow   Grow (or shrink) an array, or otherwise reshape it in some way.  Currently supported growth options including changing the active size of component devices and
          changing the number of active devices in RAID levels 1/4/5/6, changing the RAID level between 1, 5, and 6, changing the chunk size and  layout  for  RAID5  and
          RAID5, as well as adding or removing a write-intent bitmap.

Por exemplo, adicione um novo dispositivo de hotspare, / dev / sdg, à matriz RAID5 primeiro:

$ sudo mdadm --manage /dev/md/md0 --add /dev/sdg

Em seguida, converta em uma matriz RAID6 e faça com que ela seja reconstruída para um estado limpo. O --raid-devices 4 informa quantas unidades você tem no total na nova matriz.

$ sudo mdadm --grow /dev/md/md0 --raid-devices 4 --level 6

Não tenho ideia de quão rápido isso será. Na minha experiência em fazer migrações no nível de invasão em controladores RAID de hardware, foi mais rápido criar a nova matriz do zero e recuperar seu backup.

Daniel Lawson
fonte
3
A migração de um RAID 5 para o RAID 6 tem duas operações lentas - re-distribuindo os dados pelos discos e calculando o segundo valor de paridade para o disco de paridade extra. A limpeza / restauração provavelmente levará a mesma quantidade de tempo que o redimensionamento.
Andrew
1
Também requer uma certa versão do kernel. Descobri isso da maneira mais difícil.
precisa saber é
Como estou no gentoo, meu kernel e mdadm são versões bastante recentes - então isso não deve ser um problema.
ThiefMaster 19/01/12
1
O link ao qual você se refere foi escrito por mim. Observação: eu realmente não li os documentos sobre como fazê-lo, criei uma máquina virtual com 30 unidades (algo assim) e comecei a mexer. Então, pegue todo o post com um grão de sal, é apenas um desabafo ...
Martin M.
1
@ServerHorror: anotado. A Internet em geral, incluindo a página de manual mdadm, afirma que a migração no nível de invasão é possível. :)
Daniel Lawson
7

Aviso obrigatório: planejar falha. Mantenha um backup pronto e leve em consideração o tempo de inatividade possível.

Além disso, teste-o em uma VM ou algo semelhante antes, isso é das minhas anotações e não faço isso há muito tempo. Isso pode estar incompleto.

  1. Você precisará adddos discos para a matriz:

    mdadm --manage /dev/md0 --add /dev/sdf  
    

    Faça isso para cada um dos três discos e substitua os nomes dos dispositivos de acordo.

  2. Aumente a matriz:

    mdadm --grow /dev/md0 --level 6 --raid-devices 6 
    
Sven
fonte
3

Utilize a --backup-fileopção para que, em caso de perda de energia, você possa continuar a aumentar o dispositivo após uma reinicialização e garantir que não haja perda de dados.

mdadm --grow /dev/md0 --level=raid6 --raid-devices=6 --backup-file=/root/mdadm5-6_backup_md0

O arquivo de backup deve ser salvo em um sistema de arquivos que não faz parte da matriz que você irá crescer.

--backup-file=é necessário quando --growé usado para aumentar o número de dispositivos RAID em um RAID5 ou RAID6 se não houver dispositivos disponíveis, ou para diminuir, alterar o nível ou o layout RAID. Consulte a seção GROW MODE abaixo em ALTERAÇÕES DE RAID-DEVICES. O arquivo deve ser armazenado em um dispositivo separado, não na matriz RAID que está sendo remodelada.

--continueé complementar à --freeze-reshapeopção de montagem. É necessário quando a --growoperação é interrompida e não é reiniciada automaticamente devido ao --freeze-reshapeuso durante a montagem da matriz. Esta opção é usada junto com o comando -G( --grow) e o dispositivo para que uma remodelação pendente continue. Todos os parâmetros necessários para a continuação da remodelação serão lidos nos metadados da matriz. Se o --growcomando inicial exigir que a --backup-file=opção seja configurada, a opção de continuação também precisará ter exatamente o mesmo arquivo de backup.

Qualquer outro parâmetro passado junto com a --continueopção será ignorado.

Guggi
fonte