Pesquisa de site

Criando RAID 5 (Striping com Paridade Distribuída) no Linux - Parte 4


No RAID 5, os dados são distribuídos em várias unidades com paridade distribuída. A distribuição com paridade distribuída significa que ela dividirá as informações de paridade e distribuirá os dados em vários discos, o que terá boa redundância de dados.

Para nível RAID, deve haver pelo menos três discos rígidos ou mais. O RAID 5 está sendo usado em ambientes de produção em larga escala, onde é econômico e fornece desempenho e redundância.

O que é paridade?

Paridade é o método comum mais simples de detecção de erros no armazenamento de dados. A paridade armazena informações em cada disco. Digamos que temos 4 discos, em 4 discos um espaço em disco será dividido em todos os discos para armazenar as informações de paridade. Se algum dos discos ainda falhar, poderemos obter os dados reconstruindo a partir das informações de paridade após substituir o disco com falha.

Prós e contras do RAID 5

  1. Dá melhor desempenho
  2. Suporta redundância e tolerância a falhas.
  3. Suporta opções de reposição quente.
  4. Perderá a capacidade de um único disco para usar informações de paridade.
  5. Nenhuma perda de dados se um único disco falhar. Podemos reconstruir a partir da paridade após substituir o disco com falha.
  6. Adapta-se a um ambiente orientado a transações, pois a leitura será mais rápida.
  7. Devido à sobrecarga de paridade, a gravação será lenta.
  8. A reconstrução leva muito tempo.

Requisitos

São necessários no mínimo 3 discos rígidos para criar o Raid 5, mas você pode adicionar mais discos somente se tiver um controlador RAID de hardware dedicado com múltiplas portas. Aqui, estamos usando software RAID e o pacote ‘mdadm’ para criar um ataque.

mdadm é um pacote que nos permite configurar e gerenciar dispositivos RAID no Linux. Por padrão, não há nenhum arquivo de configuração disponível para RAID, devemos salvar o arquivo de configuração após criar e configurar a configuração do RAID em um arquivo separado chamado mdadm.conf.

Antes de prosseguir, sugiro que você leia os artigos a seguir para compreender os fundamentos do RAID no Linux.

  1. Conceitos Básicos de RAID no Linux – Parte 1
  2. Criando RAID 0 (Stripe) no Linux – Parte 2
  3. Configurando RAID 1 (espelhamento) no Linux – Parte 3
Configuração do meu servidor
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.227
Hostname	 :	rd5.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc
Disk 3 [20GB]	 :	/dev/sdd

Este artigo é a Parte 4 de uma série de 9 tutoriais sobre RAID, aqui vamos configurar um software RAID 5 com paridade distribuída em sistemas Linux ou servidores usando três discos de 20 GB nomeados /dev/sdb, /dev/sdc e /dev/sdd.

Etapa 1: Instalando o mdadm e verificando as unidades

1. Como dissemos anteriormente, estamos usando a versão final do CentOS 6.5 para esta configuração de ataque, mas as mesmas etapas podem ser seguidas para configuração de RAID em qualquer distribuição baseada em Linux.

lsb_release -a
ifconfig | grep inet

2. Se você está acompanhando nossa série de raid, presumimos que você já tenha instalado o pacote 'mdadm', caso contrário, use o seguinte comando de acordo com seu Linux distribuição para instalar o pacote.

yum install mdadm		[on RedHat systems]
apt-get install mdadm 	[on Debain systems]

3. Após a instalação do pacote ‘mdadm’, vamos listar os três discos de 20 GB que adicionamos ao nosso sistema usando o comando ‘fdisk’.

fdisk -l | grep sd

4. Agora é hora de examinar as três unidades anexadas em busca de blocos RAID existentes nessas unidades usando o comando a seguir.

mdadm -E /dev/sd[b-d]
mdadm --examine /dev/sdb /dev/sdc /dev/sdd

Nota: A imagem acima ilustra que ainda não foi detectado nenhum superbloco. Portanto, não há RAID definido nas três unidades. Vamos começar a criar um agora.

Etapa 2: particionando os discos para RAID

5. Em primeiro lugar, temos que particionar os discos (/dev/sdb, /dev/sdc e / dev/sdd) antes de adicionar a um RAID, então vamos definir a partição usando o comando 'fdisk', antes de encaminhá-la para as próximas etapas.

fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
Criar partição /dev/sdb

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

  1. Pressione ‘n’ para criar uma nova partição.
  2. Em seguida, escolha ‘P’ para a partição primária. Aqui estamos escolhendo Primário porque ainda não há partições definidas.
  3. Em seguida, escolha ‘1’ para ser a primeira partição. Por padrão, será 1.
  4. Aqui, para o tamanho do cilindro, não precisamos escolher o tamanho especificado porque precisamos de toda a partição para RAID, então basta pressionar Enter duas vezes para escolher o tamanho total padrão.
  5. Em seguida, pressione ‘p‘ para imprimir a partição criada.
  6. Altere o tipo, se precisarmos saber todos os tipos disponíveis, pressione ‘L‘.
  7. Aqui, estamos selecionando ‘fd‘pois meu tipo é RAID.
  8. Em seguida, pressione ‘p‘ para imprimir a partição definida.
  9. Em seguida, use novamente ‘p’ para imprimir as alterações que fizemos.
  10. Use ‘w’ para escrever as alterações.

Nota: Temos que seguir os passos mencionados acima para criar partições para unidades sdc e sdd também.

Criar partição /dev/sdc

Agora particione as unidades sdc e sdd seguindo as etapas fornecidas na captura de tela ou você pode seguir as etapas acima.

fdisk /dev/sdc

Criar partição /dev/sdd
fdisk /dev/sdd

6. Depois de criar partições, verifique se há alterações em todas as três unidades sdb, sdc e sdd.

mdadm --examine /dev/sdb /dev/sdc /dev/sdd

or

mdadm -E /dev/sd[b-d]

Nota: Na foto acima. retrata que o tipo é fd, ou seja, para RAID.

7. Agora verifique os blocos RAID nas partições recém-criadas. Se nenhum superbloco for detectado, podemos prosseguir para criar uma nova configuração RAID 5 nessas unidades.

Etapa 3: Criando dispositivo md md0

8. Agora crie um dispositivo Raid 'md0' (ou seja, /dev/md0) e inclua o nível de ataque em todas as partições recém-criadas (sdb1, sdc1 e sdd1) usando o comando abaixo.

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

or

mdadm -C /dev/md0 -l=5 -n=3 /dev/sd[b-d]1

9. Depois de criar o dispositivo RAID, verifique o RAID, os dispositivos incluídos e o nível do RAID na saída do mdstat.

cat /proc/mdstat

Se você deseja monitorar o processo de construção atual, você pode usar o comando 'watch', basta passar pelo 'cat /proc/mdstat' com o comando watch que irá atualize a tela a cada 1 segundo.

watch -n1 cat /proc/mdstat

10. Após a criação do ataque, verifique os dispositivos do ataque usando o seguinte comando.

mdadm -E /dev/sd[b-d]1

Nota: A saída do comando acima será um pouco longa, pois imprime as informações de todas as três unidades.

11. Em seguida, verifique a matriz RAID para assumir que os dispositivos que incluímos no nível RAID estão em execução e começaram a sincronizar novamente.

mdadm --detail /dev/md0

Etapa 4: Criando sistema de arquivos para md0

12. Crie um sistema de arquivos para o dispositivo ‘md0‘ usando ext4 antes da montagem.

mkfs.ext4 /dev/md0

13. Agora crie um diretório em '/mnt' e monte o sistema de arquivos criado em /mnt/raid5 e verifique os arquivos no ponto de montagem, você verá o diretório lost+found.

mkdir /mnt/raid5
mount /dev/md0 /mnt/raid5/
ls -l /mnt/raid5/

14. Crie alguns arquivos no ponto de montagem /mnt/raid5 e anexe algum texto em qualquer um dos arquivos para verificar o conteúdo.

touch /mnt/raid5/raid5_tecmint_{1..5}
ls -l /mnt/raid5/
echo "tecmint raid setups" > /mnt/raid5/raid5_tecmint_1
cat /mnt/raid5/raid5_tecmint_1
cat /proc/mdstat

15. Precisamos adicionar uma entrada em fstab, caso contrário não exibiremos nosso ponto de montagem após a reinicialização do sistema. Para adicionar uma entrada, devemos editar o arquivo fstab e anexar a seguinte linha conforme mostrado abaixo. O ponto de montagem será diferente de acordo com o seu ambiente.

vim /etc/fstab

/dev/md0                /mnt/raid5              ext4    defaults        0 0

16. Em seguida, execute o comando ‘mount -av’ para verificar se há algum erro na entrada fstab.

mount -av

Etapa 5: salvar a configuração do Raid 5

17. Conforme mencionado anteriormente na seção de requisitos, por padrão o RAID não possui um arquivo de configuração. Temos que salvá-lo manualmente. Se esta etapa não for seguida, o dispositivo RAID não estará em md0, estará em algum outro número aleatório.

Portanto, devemos salvar a configuração antes de reiniciar o sistema. Se a configuração for salva, ela será carregada no kernel durante a reinicialização do sistema e o RAID também será carregado.

mdadm --detail --scan --verbose >> /etc/mdadm.conf

Nota: Salvar a configuração manterá o nível de RAID estável no dispositivo md0.

Etapa 6: adicionar unidades sobressalentes

18. Qual é a utilidade de adicionar uma unidade sobressalente? é muito útil se tivermos uma unidade sobressalente, se algum dos discos falhar em nosso array, esta unidade sobressalente ficará ativa e reconstruirá o processo e sincronizará os dados de outros discos, para que possamos ver uma redundância aqui.

Para obter mais instruções sobre como adicionar unidade sobressalente e verificar a tolerância a falhas do Raid 5, leia #Etapa 6 e #Etapa 7 no artigo a seguir.

  1. Adicionar unidade sobressalente à configuração do Raid 5

Conclusão

Aqui, neste artigo, vimos como configurar um RAID 5 usando três discos. Posteriormente, em meus próximos artigos, veremos como solucionar problemas quando um disco falha no RAID 5 e como substituí-lo para recuperação.