RAID 6 para RAID 1 com mdadm

1

Minha rede doméstica está mudando e estou transferindo minha solução de armazenamento de arquivos do meu servidor Ubuntu para um Drobo FS.

Atualmente tenho 6 discos rígidos de 500 GB em uma matriz RAID 6 com capacidade de 2 TB. Todos os dados importantes sobre o array RAID 6 existente foram copiados para o Drobo e, portanto, o array pode ser reconstruído sem pensar na perda de dados.

Aqui está a descrição da configuração do RAID:

marcus@vhost:~$ cat /proc/mdstat 
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md0 : active raid6 sda1[0] sdf1[5] sde1[4] sdd1[3] sdc1[2] sdb1[1]
      1953535744 blocks level 6, 64k chunk, algorithm 2 [6/6] [UUUUUU]

unused devices: <none>

O resultado final

Eu gostaria de ter 2 drives de 500 GB em uma matriz RAID 1 com capacidade de 500 GB e, como resultado, 4 discos rígidos de 500 GB livres (alguns dos quais serão adicionados ao Drobo).

Qual é a melhor maneira de conseguir isso? Envolve encolher o array e, em seguida, alterar o nível do RAID?

Obrigado por qualquer ajuda,

Marcus.

    
por Marcus Whybrow 05.09.2010 / 13:38

5 respostas

4

Como você não se importa com nenhum dado agora nos discos, apenas destrua a matriz e crie outro. Vamos ver: pare a matriz, remova todos os discos (não tenho certeza se essa etapa é necessária), zere os superblocos para evitar qualquer aviso abaixo da linha e crie uma matriz RAID1. Isso deve parecer (obviamente, não vou testar isso ...):

mdadm /dev/md0 --stop
mdadm /dev/md0 --fail /dev/sd{a,b,c,d,e,f}1
mdadm /dev/md0 --remove failed
mdadm --zero-superblock /dev/sd{a,b,c,d,e,f}1
mdadm --create /dev/md0 --level=1 -n 2
mdadm /dev/md0 --add /dev/sd{a,b}1
    
por 05.09.2010 / 14:08
2

Não sei se entendi completamente seus problemas aqui. Se todos os dados já tiverem sido copiados, basta excluir o dispositivo RAID, remover todos os discos da caixa que você deseja usar em outro lugar e recriar um novo dispositivo RAID 1 com os dois discos restantes. Você não pode encolher 6 discos RAID 6 para 2 discos sem perda de dados.

Se você ainda quiser copiar alguns dados para o novo dispositivo, poderá danificar dois discos do antigo e criar um novo RAID 1 deles. Já que é o RAID 6, ele tolerará a perda de dois discos (mas você não terá mais a redundância). Então você pode copiar os dados e remover o RAID 6 depois.

    
por 05.09.2010 / 14:12
1

A solução mais simples é provavelmente apenas desmontar o array e excluí-lo, depois construir um RAID1 a partir do zero com as duas unidades desejadas nele.

    
por 05.09.2010 / 14:08
1

A partir da versão 3.1, mdadm realmente suporta mudanças de nível bastante complexas, como explicado em Conversão de RAID5 para RAID6 e outras mudanças de formato em md / raid - então, neste caso:

A RAID6 can change the number of devices, the size of the individual devices, the chunk size and the layout. And RAID6 can be converted to RAID5 by first changing the layout to be similar to RAID5, then changing the level.

A RAID5 can change the number of devices, the size of the individual devices, the chunk size and the layout. A 2 drive RAID5 can be converted to RAID1, and a 3 or more drive RAID5 can be converted to RAID6.

Você precisará do Ubuntu 11.04 (Natty) para obter o mdadm até a versão 3.1.

    
por 06.09.2011 / 10:18
0

Gilles:  Na última vez que zerei o superbloco, demorou cerca de 12 horas em cada disco de 750 GB (eu estava usando um comando envolvendo 'dd'). Quanto tempo dura o comando

mdadm --zero-superblock /dev/sd{a,b,c,d,e,f}1

pegue?

    
por 15.10.2010 / 21:41