Pesquisa de site

Aumentando uma matriz RAID existente e removendo discos com falha no Raid - Parte 7


Todos os novatos ficarão confusos com a palavra array. Array é apenas uma coleção de discos. Em outras palavras, podemos chamar array como um conjunto ou grupo. Assim como um conjunto de ovos contendo 6 números. Da mesma forma, o RAID Array contém um número de discos, pode ser 2, 4, 6, 8, 12, 16 etc. Espero que agora você saiba o que é Array.

Aqui veremos como aumentar (estender) um array ou grupo de ataque existente. Por exemplo, se estivermos usando 2 discos em um array para formar um conjunto raid 1, e em alguma situação se precisarmos de mais espaço nesse grupo, podemos estender o tamanho de um array usando mdadm –grow comando, apenas adicionando um disco ao array existente. Depois de crescer (adicionar disco a um array existente), veremos como remover um dos discos com falha do array.

Suponha que um dos discos esteja um pouco fraco e precise removê-lo, até que ele falhe, deixe-o em uso, mas precisamos adicionar uma unidade sobressalente e aumentar o espelho antes que ele falhe, porque precisamos salvar nossos dados. Embora o disco fraco falhe, podemos removê-lo do array. Este é o conceito que veremos neste tópico.

Recursos de crescimento RAID

  1. Podemos aumentar (estender) o tamanho de qualquer conjunto de ataques.
  2. Podemos remover o disco defeituoso após aumentar o array raid com um novo disco.
  3. Podemos aumentar a matriz de ataque sem qualquer tempo de inatividade.

Requisitos

  1. Para aumentar uma matriz RAID, precisamos de um conjunto RAID existente (Array).
  2. Precisamos de discos extras para aumentar o Array.
  3. Aqui estou usando 1 disco para aumentar o array existente.

Antes de aprendermos sobre o crescimento e a recuperação do Array, precisamos conhecer os fundamentos dos níveis e configurações do RAID. Siga os links abaixo para saber mais sobre essas configurações.

  1. Compreendendo os conceitos básicos de RAID – Parte 1
  2. Criando um Software Raid 0 no Linux – Parte 2
Configuração do meu servidor
Operating System 	:	CentOS 6.5 Final
IP Address	 	:	192.168.0.230
Hostname		:	grow.tecmintlocal.com
2 Existing Disks 	:	1 GB
1 Additional Disk	:	1 GB

Aqui, meu RAID já existente tem 2 números de discos com cada tamanho de 1 GB e agora estamos adicionando mais um disco cujo tamanho é de 1 GB ao nosso array RAID existente.

Desenvolvendo um array RAID existente

1. Antes de aumentar um array, primeiro liste o array Raid existente usando o seguinte comando.

mdadm --detail /dev/md0

Nota: A saída acima mostra que já tenho dois discos no array Raid com nível raid1. Agora, aqui estamos adicionando mais um disco a um array existente,

2. Agora vamos adicionar o novo disco “sdd” e criar uma partição usando o comando ‘fdisk’.

fdisk /dev/sdd

Use as instruções abaixo para criar uma partição na unidade /dev/sdd.

  1. Pressione ‘n’ para criar uma nova partição.
  2. Em seguida, escolha ‘P’ para partição primária.
  3. Em seguida, escolha ‘1’ para ser a primeira partição.
  4. Em seguida, pressione ‘p‘ para imprimir a partição criada.
  5. Aqui, estamos selecionando ‘fd‘pois meu tipo é RAID.
  6. Em seguida, pressione ‘p‘ para imprimir a partição definida.
  7. Em seguida, use novamente ‘p’ para imprimir as alterações que fizemos.
  8. Use ‘w’ para escrever as alterações.

3. Uma vez criada a nova partição sdd, você pode verificá-la usando o comando abaixo.

ls -l /dev/ | grep sd

4. Em seguida, examine o disco recém-criado em busca de qualquer ataque existente, antes de adicioná-lo ao array.

mdadm --examine /dev/sdd1

Nota: A saída acima mostra que o disco não possui superblocos detectados, o que significa que podemos avançar para adicionar um novo disco a um array existente.

4. Para adicionar a nova partição /dev/sdd1 no array existente md0, use o seguinte comando.

mdadm --manage /dev/md0 --add /dev/sdd1

5. Depois que o novo disco for adicionado, verifique o disco adicionado em nosso array usando.

mdadm --detail /dev/md0

Nota: Na saída acima, você pode ver que a unidade foi adicionada como sobressalente. Aqui já temos 2 discos no array, mas o que esperamos são 3 dispositivos no array para isso precisamos aumentar o array.

6. Para aumentar o array temos que usar o comando abaixo.

mdadm --grow --raid-devices=3 /dev/md0

Agora podemos ver que o terceiro disco (sdd1) foi adicionado ao array, após adicionar o terceiro disco ele sincronizará os dados dos outros dois discos.

mdadm --detail /dev/md0

Nota: Para discos grandes, levará horas para sincronizar o conteúdo. Aqui eu usei um disco virtual de 1 GB, então isso é feito muito rapidamente em segundos.

Removendo discos do array

7. Após os dados terem sido sincronizados com o novo disco ‘sdd1’ dos outros dois discos, isso significa que todos os três discos agora têm o mesmo conteúdo.

Como eu disse anteriormente, vamos supor que um dos discos esteja fraco e precise ser removido antes que falhe. Portanto, agora suponha que o disco ‘sdc1’ seja fraco e precise ser removido de um array existente.

Antes de remover um disco, temos que marcá-lo como com falha, só então poderemos removê-lo.

mdadm --fail /dev/md0 /dev/sdc1
mdadm --detail /dev/md0

Na saída acima, vemos claramente que o disco foi marcado como defeituoso na parte inferior. Mesmo com defeito, podemos ver que os dispositivos de ataque são 3, falharam em 1 e o estado foi degradado.

Agora temos que remover a unidade defeituosa do array e aumentar o array com 2 dispositivos, para que os dispositivos raid sejam configurados para 2 dispositivos como antes.

mdadm --remove /dev/md0 /dev/sdc1

8. Assim que a unidade defeituosa for removida, agora temos que aumentar o array raid usando 2 discos.

mdadm --grow --raid-devices=2 /dev/md0
mdadm --detail /dev/md0

Na saída about, você pode ver que nosso array tem apenas 2 dispositivos. Se você precisar aumentar o array novamente, siga as mesmas etapas descritas acima. Se você precisar adicionar uma unidade como sobressalente, marque-a como sobressalente para que, se o disco falhar, ele seja ativado e reconstruído automaticamente.

Conclusão

No artigo, vimos como aumentar um conjunto de ataques existente e como remover um disco defeituoso de um array após sincronizar novamente o conteúdo existente. Todas essas etapas podem ser realizadas sem qualquer tempo de inatividade. Durante a sincronização de dados, os usuários do sistema, arquivos e aplicativos não serão afetados em nenhum caso.

No próximo artigo mostrarei como gerenciar o RAID, até então fique atento às atualizações e não esqueça de adicionar seus comentários.