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
- Podemos aumentar (estender) o tamanho de qualquer conjunto de ataques.
- Podemos remover o disco defeituoso após aumentar o array raid com um novo disco.
- Podemos aumentar a matriz de ataque sem qualquer tempo de inatividade.
Requisitos
- Para aumentar uma matriz RAID, precisamos de um conjunto RAID existente (Array).
- Precisamos de discos extras para aumentar o Array.
- 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.
- Compreendendo os conceitos básicos de RAID – Parte 1
- 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.
- Pressione ‘n’ para criar uma nova partição.
- Em seguida, escolha ‘P’ para partição primária.
- Em seguida, escolha ‘1’ para ser a primeira partição.
- Em seguida, pressione ‘p‘ para imprimir a partição criada.
- Aqui, estamos selecionando ‘fd‘pois meu tipo é RAID.
- Em seguida, pressione ‘p‘ para imprimir a partição definida.
- Em seguida, use novamente ‘p’ para imprimir as alterações que fizemos.
- 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.