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.
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.
Você precisará
add
dos discos para a matriz:Faça isso para cada um dos três discos e substitua os nomes dos dispositivos de acordo.
Aumente a matriz:
fonte
Utilize a
--backup-file
opçã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.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-reshape
opção de montagem. É necessário quando a--grow
operação é interrompida e não é reiniciada automaticamente devido ao--freeze-reshape
uso 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--grow
comando 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
--continue
opção será ignorado.fonte