Crie e Gerencie Partições RAID com MDADM

A ferramenta mdadm torna simples o particionamento em todos os modos de RAID! Aprenda como configura-lo seu sistema Linux!

| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.

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
    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:

$ sudo apt install mdadm

Se você utiliza sistemas baseados no Fedora, OpenSUSE e outros, veja se está disponível no repositório da sua distro!

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á:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Exemplo de saída do comando:

NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
└─sda1 ext4 part
sdb 100G disk
└─sdb1 ext4 part
vda 20G disk 
├─vda1 20G ext4 part /
└─vda15 1M part

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]

$ sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 
/dev/sda1 /dev/sdb1

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

$ cat /proc/mdstat

Saída do comando

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>

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

$ sudo mkfs.ext4 -F /dev/md0

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

$ sudo mkdir -p /mnt/md0

Você pode montar o sistema de arquivos digitando:

$ sudo mount /dev/md0 /mnt/md0

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

$ df -h -x devtmpfs -x tmpfs

Saída do comando:

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/md0 197G 60M 187G 1% /mnt/md0

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:

$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

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:

$ sudo update-initramfs -u

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]

$ echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | 
sudo tee -a /etc/fstab

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á:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Exemplo de saída do comando:

NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
└─sda1 ext4 part
sdb 100G disk
└─sdb1 ext4 part
vda 20G disk 
├─vda1 20G ext4 part /
└─vda15 1M part

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]

$ sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 
/dev/sda1 /dev/sdb1

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

$ cat /proc/mdstat

Saída do comando

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>

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

$ sudo mkfs.ext4 -F /dev/md0

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

$ sudo mkdir -p /mnt/md0

Você pode montar o sistema de arquivos digitando:

$ sudo mount /dev/md0 /mnt/md0

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

$ df -h -x devtmpfs -x tmpfs

Saída do comando:

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/md0 197G 60M 187G 1% /mnt/md0

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:

$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

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:

$ sudo update-initramfs -u

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]

$ echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | 
sudo tee -a /etc/fstab

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á:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Exemplo de saída do comando:

NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
└─sda1 ext4 part
sdb 100G disk
└─sdb1 ext4 part
sdc 100G disk 
└─sdc1 ext4 part
vda 20G disk 
├─vda1 20G ext4 part /
└─vda15 1M part

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]

$ sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 
/dev/sda1 /dev/sdb1 /dev/sdc1

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

$ cat /proc/mdstat

Saída do comando

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>

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

$ sudo mkfs.ext4 -F /dev/md0

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

$ sudo mkdir -p /mnt/md0

Você pode montar o sistema de arquivos digitando:

$ sudo mount /dev/md0 /mnt/md0

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

$ df -h -x devtmpfs -x tmpfs

Saída do comando:

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/md0 197G 60M 187G 1% /mnt/md0

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:

$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

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:

$ sudo update-initramfs -u

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]

$ echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | 
sudo tee -a /etc/fstab

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á:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Exemplo de saída do comando:

NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
└─sda1 ext4 part
sdb 100G disk
└─sdb1 ext4 part
sdc 100G disk 
└─sdc1 ext4 part
sdd 100G disk 
└─sdd1 ext4 part
vda 20G disk 
├─vda1 20G ext4 part /
└─vda15 1M part

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]

$ sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 
/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

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

$ cat /proc/mdstat

Saída do comando

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdd[4] sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>

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

$ sudo mkfs.ext4 -F /dev/md0

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

$ sudo mkdir -p /mnt/md0

Você pode montar o sistema de arquivos digitando:

$ sudo mount /dev/md0 /mnt/md0

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

$ df -h -x devtmpfs -x tmpfs

Saída do comando:

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/md0 197G 60M 187G 1% /mnt/md0

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:

$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

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:

$ sudo update-initramfs -u

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]

$ echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | 
sudo tee -a /etc/fstab

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á:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Exemplo de saída do comando:

NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
└─sda1 ext4 part
sdb 100G disk
└─sdb1 ext4 part
sdc 100G disk 
└─sdc1 ext4 part
sdd 100G disk 
└─sdd1 ext4 part
vda 20G disk 
├─vda1 20G ext4 part /
└─vda15 1M part

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:

$ sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 
/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

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:

$ sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 
/dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1

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:

$ cat /proc/mdstat

Saída do comando

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdd[4] sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>

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

$ sudo mkfs.ext4 -F /dev/md0

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

$ sudo mkdir -p /mnt/md0

Você pode montar o sistema de arquivos digitando:

$ sudo mount /dev/md0 /mnt/md0

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

$ df -h -x devtmpfs -x tmpfs

Saída do comando:

Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 1.1G 18G 6% /
/dev/md0 197G 60M 187G 1% /mnt/md0

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:

$ sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf

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:

$ sudo update-initramfs -u

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]

$ echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | 
sudo tee -a /etc/fstab

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

Desativando RAID

Ao longo deste guia, apresentaremos as etapas para criar vários níveis de RAID diferentes. Se você deseja acompanhar, provavelmente desejará reutilizar seus dispositivos de armazenamento após cada seção. Esta seção pode ser referenciada para aprender a redefinir rapidamente seus dispositivos de armazenamento de componentes antes de testar um novo nível de RAID. Ignore esta seção por enquanto, se você ainda não configurou nenhuma matrizes.

Atenção
Esse processo destruirá completamente o array e todos os dados gravados nele. Verifique se você está operando na matriz correta e copiou todos os dados que precisa reter antes de destruir a matriz.
Encontre os arrays ativos no /proc/mdstat digitando:

$ cat /proc/mdstat

Saída do comando:

Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdc[1] sdd[0]
209584128 blocks super 1.2 512k chunks
unused devices: <none>

Desmonte o array do sistema de arquivos:

$ sudo umount /dev/md0

Em seguida, pare e remova a matriz digitando:

$ sudo mdadm --stop /dev/md0
$ sudo mdadm --remove /dev/md0

Encontre os dispositivos que foram usados ​​para construir o array com o seguinte comando:

$ lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

Saída do comando:

NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
sdc 100G linux_raid_member disk
sdd 100G linux_raid_member disk
vda 20G disk
├─vda1 20G ext4 part /
└─vda15 1M part

Depois de descobrir os dispositivos usados ​​para criar uma matriz, zere o superbloco para redefini-los ao normal:

$ sudo mdadm --zero-superblock /dev/sdc
$ sudo mdadm --zero-superblock /dev/sdd

Você deve remover qualquer uma das referências persistentes à matriz. Edite o arquivo /etc/fstab e remova a linha do seu array:

$ sudo nano /etc/fstab
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

Além disso, remova a linha da matriz do arquivo /etc/mdadm/mdadm.conf:

$ sudo nano /etc/mdadm/mdadm.conf
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

Por fim, atualize o initramfs:

$ sudo update-initramfs -u

Neste ponto, você deve estar pronto para reutilizar os dispositivos de armazenamento individualmente ou como componentes de uma matriz RAID diferente.

Conclusão

Neste guia, demonstramos como criar vários tipos de matrizes usando o mdadmutilitário RAID de software do Linux . Os arrays RAID oferecem alguns aprimoramentos de redundância e desempenho atraentes ao usar vários discos individualmente.

Depois de estabelecer o tipo de array necessário para o seu ambiente e criar o dispositivo, você precisará aprender como executar o gerenciamento diário mdadm. Nosso guia sobre como gerenciar matrizes RAID mdadmno Ubuntu 16.04 pode ajudar você a começar.

#UrbanCompassPony

Fontes:
Hardware.com.br
DigitalOcean

5 comentários em “Crie e Gerencie Partições RAID com MDADM”

  1. Bom dia, Nathan. Parabéns por este artigo. Fiz o Raid 1 conforme está neste artigo usando 3 HDs, sendo que 1 c/ o Ubuntu 18.04. No final, coloquei 1 pasta no raid e desativei um HD p/ testar e ao voltar no raid, este constou como vazio, sem a pasta. Recoloquei o HD e tirei o outro e o resultado foi o mesmo. Com os dois HDs do raid, aí sim apareceu a pasta. Meu PC é uefi, será que estas instruções deste artigo é p/ PC mbr?

    Responder
    • Possivelmente, a publicação é antiga e alguma coisa pode ter faltado, vou revisar o artigo. QUanto á duvida, pode ser o caso. Lembrando que pra tirar e colocar um HD no RAID deve fazer todo o procedimento de desmontagem e montagem deles com os comandos.

      Responder
  2. Obrigado, Nathan, pelo retorno. Então, eu tirei o HD p/ simular uma queima do HD. Agora, se tivesse queimado o HD na realidade, sem tirar o HD do lugar, a pasta que coloquei ficaria visível? Então antes de remover o HD eu devo fazer o procedimento de desmontagem?

    Responder

Deixe um comentário