//Crie e Gerencie Partições RAID mdadm no Linux Ubuntu, Debian e CentOS

Crie e Gerencie Partições RAID mdadm no Linux Ubuntu, Debian e CentOS

Definição de R.A.I.D.

O termo RAID significa “Redundant Array of Inexpensive Disks” (discos baratos em bloco redundante), indicando justamente o uso de HDDs padronizados e baratos como “blocos de montagem” para a criação de sistemas que se comportam como um único disco, maior, mais rápido e/ou mais confiável do que usar somente 1.

Particionar discos num sistema em modo RAID, possui algumas vantagens, dependendo da configuração:

  1. Redundância
    Com a redundância, você possuindo 2 ou mais discos poderá espelhar um no outro. Caso um dos discos estrague por pane mecânica, é fácil substituí-lo e espelhar dos demais uma cópia dos dados.
    A vantagem é trazer segurança, mas pode perder desempenho, sempre baseado no disco mais lento.
  2. Desempenho
    Dessa maneira você poderá pegar 2 ou mais discos e usá-los em paralelo, como se fossem 1 só.
    Portanto você terá mais velocidade de leitura, sendo uma alternativa na ausência de um SSD, porém se 1 dos discos der uma pane, você perderá uma boa parte dos seus dados, ficando muito difícil de recupera-los.
  3. E métodos híbridos, que gerenciam redundância enquanto trabalham em paralelo, trazendo segurança e desempenho!

Lembrando que o RAID possui diversos métodos de aplicação:

  1. RAID por Hardware
    Neste, a placa mãe, pela BIOS, consegue controlar o RAID dando o melhor desempenho possível.
    Caso sua placa mãe não suporte, você pode comprar uma controladora RAID e conectá-la via PCI-e.
  2. Fake RAID
    Esse é o método da maioria das controladoras baratas vistas em computadores comuns que suportam RAID por BIOS. A controladora passa uma parte das instruções mas é a CPU quem faz todo o trabalho de controle desse RAID. Ainda apresenta melhor desempenho que o RAID por Software.
  3. RAID por Software
    É o método que vamos explicar nesse post. Nele, a CPU gerencia todo o processo de RAID e, caso seu PC seja mais antigo, poderá ter perda de desempenho já que a CPU vai trabalhar mais.

Pré-Requisitos

  • Um usuário não-root com privilégios de sudo, não sabe como se logar como root Clique Aqui!
    As etapas deste guia serão concluídas com um usuário SUDO.
  • Um entendimento básico da terminologia e conceitos RAID: Enquanto neste guia abordamos algumas terminologias RAID, uma compreensão mais completa é muito útil, como saber como recuperar um sistema RAID em caso de um dos discos apresentar falhas.
  • Vários dispositivos de armazenamento brutos disponíveis no seu hardware.
    Demonstraremos como configurar vários tipos de RAID em máquinas comuns ou servidores. Como tal, você precisará de algumas unidades para configurar, no mínimo 2 HDDs.
  • O tutorial é voltado a sistemas baseados em Debian mas pode ser aplicado a qualquer distro Linux que suporte o pacote mdadm.

Observação:
Se você possui 2 HDD’s, pretende fazer RAID neles e 1 deles possui seu sistema instalado, o RAID poderá ser feito apenas na partição livre do primeiro HDD.
Além disso, qualquer implementação de RAID exige que o HDD seja plenamente formatado!
Muito cuidado aos comandos, para evitar perdas de dados acidentais.

Raid por Software

Apesar do famigerado mal desempenho de usar RAID por software, tenha em mente que se você for possuidor de um computador de qualquer linha do Core i3, i5 ou i7, essa diferença de desempenho será mínima.

O software que vamos utilizar é o mdadm, um processo gerenciador de partições RAID!
Instale-o com o comando:

Instalando no Ubuntu e Debian

Instalando no CentOS

A parti desse ponto todo procedimento abaixo será com o mdadm já instalado.

Configurando RAID 0

Objetivo

A matriz RAID 0 funciona dividindo os dados em partes e distribuindo-os pelos discos disponíveis. Isso significa que cada disco contém uma parte dos dados e que vários discos serão referenciados ao recuperar informações.

  • Requisitos: mínimo de 2 dispositivos de armazenamento
  • Benefício principal: desempenho
  • Pontos a serem lembrados: verifique se você tem backups funcionais. A falha de um único dispositivo destruirá todos os dados na matriz.

Identificando os Componentes

Para começar, encontre os identificadores dos discos brutos que você usará:

Exemplo de saída do comando:

Como você pode ver acima, temos dois discos com um sistema de arquivos, cada um com 100G de tamanho. Neste exemplo, esses dispositivos são /dev/sda1 e /dev/sdb1. Estes serão os componentes brutos que usaremos para construir o array.

Observação!
Caso seu disco rígido a ser usado no RAID esteja sem uma partição, formate-o e crie uma partição comum, ext4 por exemplo, para ser mapeado como /dev/sd_1 em vez de /dev/sd_ (sem número).
A montagem direta do disco rígido não particionado poderá gerar problemas futuros como a não montagem automática do disco durante o boot.

Crie o array

Para criar um array RAID 1 com esses componentes, passe-os para o mdadm. Você terá que especificar o nome do dispositivo que você deseja criar (/dev/md0 no nosso caso), o nível de RAID e o número de dispositivos: [Tudo em 1 linha]

Você pode garantir que o RAID foi criado com sucesso, verificando o /proc/mdstatarquivo:

Crie e monte o sistema de arquivos
Em seguida, crie um sistema de arquivos na matriz:

Crie um ponto de montagem para anexar o novo sistema de arquivos:

Você pode montar o sistema de arquivos digitando:

Verifique se o novo espaço está disponível digitando:

Saída do comando:

O novo sistema de arquivos é montado e acessível.

Salve o layout da matriz, para garantir que a matriz seja remontada automaticamente na inicialização. Teremos que ajustar o arquivo /etc/mdadm/mdadm.conf. Você pode verificar automaticamente a matriz ativa e ao mesmo tempo anexar ao arquivo, digitando:

Posteriormente, você pode atualizar o initramfs, ou o sistema de arquivos RAM inicial, para que a matriz esteja disponível durante o processo de inicialização antecipada:

Adicione as novas opções de montagem do sistema de arquivos ao /etc/fstabarquivo para montagem automática na inicialização: [Tudo em 1 linha]

Sua matriz RAID 0 deve agora ser montada e montada automaticamente a cada inicialização.

Configurando RAID 1

Objetivo

O tipo de matriz RAID 1 é implementado espelhando os dados em todos os discos disponíveis. Cada disco em uma matriz RAID 1 obtém uma cópia completa dos dados, fornecendo redundância no caso de uma falha do dispositivo.

  • Requisitos: mínimo de 2 dispositivos de armazenamento
  • Benefício principal: Redundância
  • Coisas a ter em conta: uma vez que são mantidas duas cópias dos dados, apenas metade do espaço em disco será utilizável

Identificando os Componentes

Para começar, encontre os identificadores dos discos brutos que você usará:

Exemplo de saída do comando:

Como você pode ver acima, temos dois discos com um sistema de arquivos, cada um com 100G de tamanho. Neste exemplo, esses dispositivos são /dev/sda1 e /dev/sdb1. Estes serão os componentes brutos que usaremos para construir o array.

Observação!
Caso seu disco rígido a ser usado no RAID esteja sem uma partição, formate-o e crie uma partição comum, ext4 por exemplo, para ser mapeado como /dev/sd_1 em vez de /dev/sd_ (sem número).
A montagem direta do disco rígido não particionado poderá gerar problemas futuros como a não montagem automática do disco durante o boot.

Crie o array

Para criar um array RAID 1 com esses componentes, passe-os para o mdadm. Você terá que especificar o nome do dispositivo que você deseja criar (/dev/md0 no nosso caso), o nível de RAID e o número de dispositivos: [Tudo em 1 linha]

Você pode garantir que o RAID foi criado com sucesso, verificando o /proc/mdstatarquivo:

Saída do comando

Crie e monte o sistema de arquivos
Em seguida, crie um sistema de arquivos na matriz:

Crie um ponto de montagem para anexar o novo sistema de arquivos:

Você pode montar o sistema de arquivos digitando:

Verifique se o novo espaço está disponível digitando:

Saída do comando:

O novo sistema de arquivos é montado e acessível.

Salve o layout da matriz, para garantir que a matriz seja remontada automaticamente na inicialização. Teremos que ajustar o arquivo /etc/mdadm/mdadm.conf. Você pode verificar automaticamente a matriz ativa e ao mesmo tempo anexar ao arquivo, digitando:

Posteriormente, você pode atualizar o initramfs, ou o sistema de arquivos RAM inicial, para que a matriz esteja disponível durante o processo de inicialização antecipada:

Adicione as novas opções de montagem do sistema de arquivos ao /etc/fstabarquivo para montagem automática na inicialização: [tudo em 1 linha]

Sua matriz RAID 1 deve agora ser montada e montada automaticamente a cada inicialização.

Configurando RAID 5

Objetivo

O tipo de matriz RAID 5 é implementado ao distribuir dados pelos dispositivos disponíveis. Um componente de cada faixa é um bloco de paridade calculado. Se um dispositivo falhar, o bloco de paridade e os blocos restantes poderão ser usados ​​para calcular os dados ausentes. O dispositivo que recebe o bloco de paridade é verificado para que cada dispositivo tenha uma quantidade equilibrada de informações de paridade.

  • Requisitos: mínimo de 3 dispositivos de armazenamento
  • Benefício primário: Redundância com mais capacidade utilizável.
  • Pontos a ter em mente: Enquanto as informações de paridade são distribuídas, o valor de capacidade de um disco será usado para paridade. O RAID 5 pode sofrer um desempenho muito ruim quando está em um estado degradado.

Identificando os Componentes

Para começar, encontre os identificadores dos discos brutos que você usará:

Exemplo de saída do comando:

Como você pode ver acima, temos dois discos com um sistema de arquivos, cada um com 100G de tamanho. Neste exemplo, esses dispositivos são /dev/sda1, /dev/sdb1 e /dev/sdc1. Estes serão os componentes brutos que usaremos para construir o array.

Observação!
Caso seu disco rígido a ser usado no RAID esteja sem uma partição, formate-o e crie uma partição comum, ext4 por exemplo, para ser mapeado como /dev/sd_1 em vez de /dev/sd_ (sem número).
A montagem direta do disco rígido não particionado poderá gerar problemas futuros como a não montagem automática do disco durante o boot.

Crie o array

Para criar um array RAID 5 com esses componentes, passe-os para o mdadm. Você terá que especificar o nome do dispositivo que você deseja criar (/dev/md0 no nosso caso), o nível de RAID e o número de dispositivos: [Tudo em 1 linha]

Você pode garantir que o RAID foi criado com sucesso, verificando o /proc/mdstatarquivo:

Saída do comando

Crie e monte o sistema de arquivos
Em seguida, crie um sistema de arquivos na matriz:

Crie um ponto de montagem para anexar o novo sistema de arquivos:

Você pode montar o sistema de arquivos digitando:

Verifique se o novo espaço está disponível digitando:

Saída do comando:

O novo sistema de arquivos é montado e acessível.

Salve o layout da matriz, para garantir que a matriz seja remontada automaticamente na inicialização. Teremos que ajustar o arquivo /etc/mdadm/mdadm.conf. Você pode verificar automaticamente a matriz ativa e ao mesmo tempo anexar ao arquivo, digitando:

Posteriormente, você pode atualizar o initramfs, ou o sistema de arquivos RAM inicial, para que a matriz esteja disponível durante o processo de inicialização antecipada:

Adicione as novas opções de montagem do sistema de arquivos ao /etc/fstabarquivo para montagem automática na inicialização: [tudo em 1 linha]

Sua matriz RAID 5 deve agora ser montada e montada automaticamente a cada inicialização.

Configurando RAID 6

Objetivo

O tipo de matriz RAID 6 é implementado ao distribuir dados pelos dispositivos disponíveis. Dois componentes de cada faixa são blocos de paridade calculados. Se um ou dois dispositivos falharem, os blocos de paridade e os blocos restantes poderão ser usados ​​para calcular os dados ausentes. Os dispositivos que recebem os blocos de paridade são verificados para que cada dispositivo tenha uma quantidade equilibrada de informações de paridade. Isso é semelhante a um array RAID 5, mas permite a falha de até dois drives.

  • Requisitos: mínimo de 4 dispositivos de armazenamento
  • Benefício principal: Dupla redundância com mais capacidade utilizável.
    Pontos a serem lembrados: Enquanto as informações de paridade são distribuídas, o valor de dois discos de capacidade será usado para paridade. O RAID 6 pode sofrer um desempenho muito ruim quando está em um estado degradado.

Identificando os Componentes

Para começar, encontre os identificadores dos discos brutos que você usará:

Exemplo de saída do comando:

Como você pode ver acima, temos dois discos com um sistema de arquivos, cada um com 100G de tamanho. Neste exemplo, esses dispositivos são /dev/sda1, /dev/sdb1, /dev/sdc1 e /dev/sdd1. Estes serão os componentes brutos que usaremos para construir o array.

Observação!
Caso seu disco rígido a ser usado no RAID esteja sem uma partição, formate-o e crie uma partição comum, ext4 por exemplo, para ser mapeado como /dev/sd_1 em vez de /dev/sd_ (sem número).
A montagem direta do disco rígido não particionado poderá gerar problemas futuros como a não montagem automática do disco durante o boot.

Crie o array

Para criar um array RAID 6 com esses componentes, passe-os para o mdadm. Você terá que especificar o nome do dispositivo que você deseja criar (/dev/md0 no nosso caso), o nível de RAID e o número de dispositivos: [Tudo em 1 linha]

Você pode garantir que o RAID foi criado com sucesso, verificando o /proc/mdstatarquivo:

Saída do comando

Crie e monte o sistema de arquivos
Em seguida, crie um sistema de arquivos na matriz:

Crie um ponto de montagem para anexar o novo sistema de arquivos:

Você pode montar o sistema de arquivos digitando:

Verifique se o novo espaço está disponível digitando:

Saída do comando:

O novo sistema de arquivos é montado e acessível.

Salve o layout da matriz, para garantir que a matriz seja remontada automaticamente na inicialização. Teremos que ajustar o arquivo /etc/mdadm/mdadm.conf. Você pode verificar automaticamente a matriz ativa e ao mesmo tempo anexar ao arquivo, digitando:

Posteriormente, você pode atualizar o initramfs, ou o sistema de arquivos RAM inicial, para que a matriz esteja disponível durante o processo de inicialização antecipada:

Adicione as novas opções de montagem do sistema de arquivos ao /etc/fstabarquivo para montagem automática na inicialização: [tudo em 1 linha]

Sua matriz RAID 6 deve agora ser montada e montada automaticamente a cada inicialização.

Configurando RAID 10

Objetivo

O tipo de matriz RAID 10 é implementado tradicionalmente criando um array RAID 0 distribuído, composto de conjuntos de matrizes RAID 1. Esse tipo de matriz aninhada fornece redundância e alto desempenho, às custas de grandes quantidades de espaço em disco. O mdadm tem seu próprio tipo de RAID 10 que fornece o mesmo tipo de benefícios do tradicional com maior flexibilidade. Não é criado por matrizes de aninhamento, mas tem muitas das mesmas características e garantias.

  • Requisitos: mínimo de 4 dispositivos de armazenamento
  • Benefício principal: desempenho e redundância
  • Pontos a serem lembrados: a quantidade de redução de capacidade da matriz é definida pelo número de cópias de dados que você deseja manter. O número de cópias armazenadas com o RAID 10 é configurável.

Por padrão, duas cópias de cada bloco de dados serão armazenadas no que é chamado de layout “near”. Os possíveis layouts que determinam como cada bloco de dados é armazenado são:

  • near: o arranjo padrão. Cópias de cada parte são escritas consecutivamente quando distribuídas, o que significa que as cópias dos blocos de dados serão gravadas em torno da mesma parte de vários discos.
  • far: A primeira e as cópias subsequentes são gravadas em partes diferentes dos dispositivos de armazenamento na matriz. Por exemplo, a primeira parte pode ser escrita perto do começo de um disco, enquanto a segunda parte seria escrita na metade de um disco diferente. Isso pode gerar alguns ganhos de desempenho de leitura para discos rígidos tradicionais, em detrimento do desempenho de gravação.
  • offset: Cada faixa é copiada, compensada por uma unidade. Isso significa que as cópias são deslocadas umas das outras, mas ainda juntas no disco. Isso ajuda a minimizar a procura excessiva durante algumas cargas de trabalho.

Identificando os Componentes

Para começar, encontre os identificadores dos discos brutos que você usará:

Exemplo de saída do comando:

Como você pode ver acima, temos dois discos com um sistema de arquivos, cada um com 100G de tamanho. Neste exemplo, esses dispositivos são /dev/sda1, /dev/sdb1, /dev/sdc1 e /dev/sdd1. Estes serão os componentes brutos que usaremos para construir o array.

Observação!
Caso seu disco rígido a ser usado no RAID esteja sem uma partição, formate-o e crie uma partição comum, ext4 por exemplo, para ser mapeado como /dev/sd_1 em vez de /dev/sd_ (sem número).
A montagem direta do disco rígido não particionado poderá gerar problemas futuros como a não montagem automática do disco durante o boot.

Crie o array

Para criar um array RAID 10 com esses componentes, passe-os para o mdadm. Você pode configurar duas cópias usando o layout near, não especificando um layout e um número de cópia:

Se você quiser usar um layout diferente ou alterar o número de cópias, será necessário usar –layout=opção, que usa um layout e um identificador de cópia. Os layouts são:

  • n para near
  • f para far
  • o para offset

O número de cópias a armazenar é anexado posteriormente.

Por exemplo, para criar uma matriz que tenha 3 cópias no layout de deslocamento, o comando ficaria assim:

A madadm começará a configurar o array (ele realmente usa o processo de recuperação para construir o array por motivos de desempenho). Isso pode levar algum tempo para ser concluído, mas o array pode ser usado durante esse tempo.

Você pode garantir que o RAID foi criado com sucesso, verificando o /proc/mdstatarquivo:

Saída do comando

Crie e monte o sistema de arquivos
Em seguida, crie um sistema de arquivos na matriz:

Crie um ponto de montagem para anexar o novo sistema de arquivos:

Você pode montar o sistema de arquivos digitando:

Verifique se o novo espaço está disponível digitando:

Saída do comando:

O novo sistema de arquivos é montado e acessível.

Salve o layout da matriz, para garantir que a matriz seja remontada automaticamente na inicialização. Teremos que ajustar o arquivo /etc/mdadm/mdadm.conf. Você pode verificar automaticamente a matriz ativa e ao mesmo tempo anexar ao arquivo, digitando:

Posteriormente, você pode atualizar o initramfs, ou o sistema de arquivos RAM inicial, para que a matriz esteja disponível durante o processo de inicialização antecipada:

Adicione as novas opções de montagem do sistema de arquivos ao /etc/fstabarquivo para montagem automática na inicialização: [tudo em 1 linha]

Sua matriz RAID 10 deve agora ser montada e montada automaticamente a cada inicialização.

Caso deseje mais informações sobre Desativação de RAID mdadm Clique Aqui!

Caso deseje mais informações sobre Substituir um Disco RAID Clique Aqui!

Para Saber mais sobre Linux Clique Aqui!

Sou Analista de Sistemas Bacharel em Sistemas da Informação, Certificado MCTS 70-680 / MOS, Trabalho como Administrador de Redes e Servidores Windows e Linux! Minhas atividades favoritas são: Caminhar, Fazer Trilhas, Natureza, Insetos e claro ler sobre Tecnologia.