O básico sobre RAID com mdadm e raidtools

Trago neste artigo, uma abordagem simples sobre conceitos e a configuração de RAID por software, com duas ferramentas muito utilizadas para tal propósito: raidtools e mdadm.

[ Hits: 54.326 ]

Por: Igor Teixeira da Rocha em 28/01/2013


Configurando um RAID 1 com o mdadm



O ambiente utilizado foi o mesmo do exemplo anterior, neste caso somente restaurei o snapshoot da VM.

O mdadm, provavelmente, encontra-se disponível nos repositórios da sua distribuição. Para procurá-lo em distribuições derivadas do Debian usando o apt, use o seguinte comando:

# apt-cache search mdadm

Ele deve retornar:
mdadm - tool to administer Linux MD arrays (software RAID)

Agora, basta instalar:

# apt-get install mdadm

Em Red Hat e derivados:

# yum list mdadm
# yum install mdadm


Devido ao mdadm trabalhar com superblocos persistentes por padrão, podemos utiliza-lo na criação de dispositivos RAID de duas maneiras, sendo uma delas usando o arquivo de configuração /etc/mdadm/mdadm.conf ou diretamente através da ferramenta mdadm (esta será a forma utilizada no artigo).

O primeiro passo a seguir é idêntico ao utilizar o raidtools, é necessário alterar o tipo das partições para fd. Para quem não sabe realizar o procedimento, na parte onde abordei o raidtools, o procedimento é feito passo a passo, basta dar uma olhadinha. :)

Após as alterações realizadas no disco, vamos começar a criar o nosso dispositivo de RAID (RAID 1) utilizando o comando mdadm, irei explicando seus parâmetros a cada comando:

# mdadm -C -v /dev/md0 -l 1 -n 2 /dev/sdc1 /dev/sdd1
mdadm: size set to 2056192K
mdadm: array /dev/md0 started.

Onde:
  • -C → Cria o Dispositivo de RAID;
  • -l → O Nível(level) do RAID;
  • -n → O número de dispositivos que compõem o RAID;
  • /dev/sd[cd]1 → Os discos que fazem parte do meu novo dispositivo de RAID, o /dev/md0 (lembrando que "md" vem de dispositivos múltiplos).

Como pode ser observado, o próprio mdadm já informa que o dispositivo de RAID foi inicializado na saída do comando.

E uma das maneiras de verificar se o RAID está funcionado é utilizando o arquivo /proc/mdstat, onde o sincronismo entre os discos também pode ser verificado.

Outra maneira de verificar o funcionamento do RAID é utilizando a opção "-D" (ou: --detail [detalhes]) do mdadm, onde a saída é bem completa.

Agora basta fazer o mesmo procedimento básico, aplicar um sistema de arquivos ao nosso sistema de RAID (Ex.: mkfs -t ext3 /dev/md0), montar em um ponto de montagem qualquer, de acordo com as suas necessidades e ser feliz. :)

* Lembrando que o mdadm fornece muitas opções bacanas para o RAID, vamos à mais algumas.

Uma coisa muito interessante é testar a eficiência do RAID que estou configurando, e para isso o mdadm possibilita "falhar" um dos discos. Mas calma, ele não vai destruir o seu HD.

O que o mdadm faz é "marcar" o seu disco como defeituoso, assim o mdadm passa a utilizar os outros discos do array para o seu correto funcionamento (claro, dependendo das configurações que você fez e o nível do RAID).

Antes de falhar um dos meus discos, vamos ver como que está o "status" do meu device de raid:

# mdadm -D /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Mon Jan 21 02:39:08 2013
     Raid Level : raid1
     Array Size : 2056192 (2008.34 MiB 2105.54 MB)
  Used Dev Size : 2056192 (2008.34 MiB 2105.54 MB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Jan 21 02:39:50 2013
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           UUID : 48c32905:e7358574:b05e291b:984b098e (local to host daileon)
         Events : 0.18

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       8       49        1      active sync   /dev/sdd1

Como pode ser observado, está tudo OK, agora falhando um dos discos:

# mdadm --manage /dev/md0 --set-faulty /dev/sdd1
mdadm: set /dev/sdd1 faulty in /dev/md0

Agora meu disco apresentou uma "falha" no dispositivo /dev/sdd1:

# mdadm -D /dev/md0
/dev/md0:
        Version : 00.90
  Creation Time : Mon Jan 21 02:39:08 2013
     Raid Level : raid1
     Array Size : 2056192 (2008.34 MiB 2105.54 MB)
  Used Dev Size : 2056192 (2008.34 MiB 2105.54 MB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 0
    Persistence : Superblock is persistent

    Update Time : Mon Jan 21 02:52:53 2013
          State : clean, degraded
 Active Devices : 1
Working Devices : 1
 Failed Devices : 1
  Spare Devices : 0

           UUID : 48c32905:e7358574:b05e291b:984b098e (local to host daileon)
         Events : 0.19

    Number   Major   Minor   RaidDevice State
       0       8       33        0      active sync   /dev/sdc1
       1       0        0        1      removed

       2       8       49        -      faulty spare   /dev/sdd1

Neste caso, como existem somente dois HDs e o RAID é de nível 1, os dados não serão perdidos, pois as cópias dos dados estão salvas no outro disco, então, bastaria eu remover este HD "defeituoso", espetar um novo, particionar, alteração o tipo da partição e adicioná-lo no meu RAID.

Como por exemplo:

# mdadm --manage /dev/md0 --add /dev/sde1

Assim eu poderia verificar o andamento da sincronização do novo disco através do arquivo /proc/mdstat.


É isso pessoal!

Até a próxima...

Referências


Página anterior    

Páginas do artigo
   1. Introdução, softwares e o ambiente utilizado
   2. RAID: Particionando os discos com a ferramenta fdisk
   3. Configurando um RAID 1 com o raidtools
   4. Configurando um RAID 1 com o mdadm
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Deduplicação com LessFS

Introdução ao universo dos filesystems

Dm-crypt - Criptografia no filesystem - Kernel 2.6

Ubuntu com Criptografia Total + Snapper

LVM completo e sem mistérios

  
Comentários
[1] Comentário enviado por obernan em 30/01/2013 - 08:22h


Testei seu artigo e funfou blz. Parabéns muito bom !!!
Abraço

[2] Comentário enviado por igor_rocha em 30/01/2013 - 08:45h

Ola obernan fico feliz em ser util :) ..

Qualquer coisa que precisar estamos ai, abraço!

[3] Comentário enviado por starke em 10/01/2014 - 07:29h

O que acontece se eu tenho o seguinte cenário:

1hd com o SO;
3hds para fazer o raid;

Instalo o SO (ubuntu) e configuro os 3hds como raid usando mdadm. Por algum motivo meu SO da algum problema e nao inicia mais fazendo com que eu precise reinstalar o SO.

O que acontece ? perco o meu RAID com todos os dados me forçando e refazer todo o processo acima novamente ?

Obrigado

[4] Comentário enviado por lelecomb em 23/02/2017 - 12:05h

Brother, ótimo artigo.
o que posso fazer quando a sincronização não chega ao fim e o RAID fica desta maneira:

[email protected]:/home/servidor# cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 sdb1[2](S) sdc1[1]
727406400 blocks super 1.2 [2/1] [_U]

md2 : active raid1 sdd1[0] sde1[1]
976629568 blocks super 1.2 [2/2] [UU]

[email protected]:/home/servidor# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Tue Jun 10 19:00:15 2014
Raid Level : raid1
Array Size : 727406400 (693.71 GiB 744.86 GB)
Used Dev Size : 727406400 (693.71 GiB 744.86 GB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Thu Feb 23 15:00:48 2017
State : clean, degraded
Active Devices : 1
Working Devices : 2
Failed Devices : 0
Spare Devices : 1

Name : DELL-CS24-SC:0
UUID : 7307b163:e96d260a:52b16438:0262e681
Events : 156026

Number Major Minor RaidDevice State
0 0 0 0 removed
1 8 33 1 active sync /dev/sdc1

2 8 17 - spare /dev/sdb1



desculpem a ignorância, é sou novo no linux...

por favor, poderiam me ajudar?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts