RAID via Software no Debian 6 “Squeeze”

Este é um passo-a-passo de um exemplo de configuração RAID básica para que você possa adaptar à sua necessidade.
Se você já sabe o básico sobre RAID, vá em frente, se não aconselho que leia algo sobre. Algumas referências boas:

Para demonstrar este exemplo, usei uma máquina virtual (usando VirtualBox) com três unidades de disco rígido de 8.6GB cada e partindo do princípio que os discos não tem nenhuma tabela de partição. Não vou explicar todos os passos da instalação, mas somente a fase de particionamento e montagem.

A configuração de particionamento que queremos fazer é:

[/boot] (RAID1 100MB)
[/    ] (RAID0 9GB  )
[/home] (RAID0 16GB )
[swap ] (RAID0 768MB)

O ponto de montagem /boot deve usar RAID1 (espelhamento) obrigatoriamente, uma vez que os gerenciadores de boot (Grub e Lilo) não suportam bem partições em RAID0.

Usando RAID0 para a partição do sistema “/“, para a partição de troca “swap” e para a partição de dados pessoais “/home” implicará em uma resposta mais rápida. Caso você queria maior confiabilidade para a partição de dados, por exemplo, use RAID1. E lembre-se que existem os outros tipos de RAID que podem ser usados de acordo com o que você precisa.

Inicie a instalação e siga os passos até chegar na tela de particionamento. Escolha “Manual”:


Serão mostrados os discos rígidos instalados no computador

Teclando “Enter” será perguntado se você deseja criar uma nova tabela de particionamento, responda sim. Repita esse passo para todos os dipositivos:

O esquema deverá ficar assim:

Agora temos os discos prontos para receber as partições. Normalmente, em discos que já foram usados uma vez, este último passo é desnecessário, bastando apagar as partições existentes.

Agora criaremos as partições que serão responsáveis pelo ponto de montagem /boot. Para isso, selecione ESPAÇO LIVRE no primeiro disco e tecle “Enter”.

Selecione “Criar uma nova partição” e tecle “Enter”. Como o ponto de montagem /boot deverá ter 100MB usando RAID1 é necessário criar uma partição de 100MB em cada disco, uma vez que o RAID1 não soma as partições como no RAID0.

Será perguntado o tipo de partição. Normalmente isto não influencia no sistema RAID, desde que seja igual em todos os discos. Neste caso escolheremos “Primária”.

Será perguntado a localização da partição em relação ao espaço livre. Neste caso, no início.

Na tela seguinte é a de configuração da partição. Em “Usar como:” selecione “Sistema de arquivos com ‘journaling’ ext3”. Na realidade, o sistema de arquivos neste ponto acaba sendo irrelevante, mais adiante você verá por quê. Em “Ponto de montagem” selecione “Não montar”.

Ficando assim:

Se você não está familiarizado com RAID deve estar se perguntando o por quê de selecionar “nenhum” em vez de “/boot” para o ponto de montagem. A resposta é simples: esta partição não será o ponto de montagem /boot, mas sim uma das partições do array RAID que será o ponto de montagem /boot.

Repita estes passos para todos os discos. Feito isso, criaremos as outras partições. Em cada disco crie uma partição de 3GB no começo do disco, que fará parte do array do ponto de montagem “/“,  uma partição de 256MB no final do disco, que fará parte do array do ponto de montagem “swap“, e o restante do espaço livre para o ponto de montagem “/home“. Ficando assim:

Agora vá em “Configurar RAID via software” e tecle “Enter”. A seguinte tela será mostrada:

Selecione “Sim” e tecle “Enter”. As mudanças serão feitas nos discos e o particionador irá re-ler o esquema de particionamento. Logo após, será mostrada a tela de particionamento novamente. Vá em “Configurar RAID via software”. Na tela que aparecer, vá em “Criar dispositivo MD”:

Vamos configurar o volume que será responsável pelo ponto de montagem “/boot”, usando RAID1:

Logo após, serão perguntadas as quantidades de dispositivos ativos e reservas. Não convém explicar esta configuração agora, para melhores esclarecimentos veja as referências do começo deste post.

Como temos 3 discos, vamos usar os 3 como ativos e nenhum como reserva, já que a partição de boot, normalmente, não recebe tanta carga de trabalho como as demais.

O próximo passo é escolher as partições que serão usadas por este “novo” volume. Neste caso, serão as primeiras de cada disco:

Para finalizar, o particionador precisará modificar aquelas partições que criamos no início, e lhe pedirá confirmação para isto, responda “sim”:

Repita os passos anteriores para criar novos dispositivos MD, mas agora com as outras partições, escolhendo RAID0 e as respectivas partições.

Depois de que todos os dispositivos MD tiverem sido criados, finalize:

O esquema agora ficou assim:

Note que o primeiro tem apenas o tamanho da partição sozinha por ser RAID1, enquanto as demais somam as capacidades por serem RAID0. O próximo passo é configurar estes novos volumes com seus respectivos sistemas de arquivos e pontos de montagem. Neste caso, ext3 para a partição de boot, ext4 para a partição de sistema e para a partição de dados e, por fim, a área de troca “swap”. Acompanhe a configuração do primeiro (boot):

Ficando desta maneira:

Configure os demais:

Finalize:

Assim que o particionador terminar de fazer as mudanças, a instalação continuará:

Bem, é isto! Como eu disse, é apenas um exemplo pra quem ainda se perde na hora de criar os arrays. Adapte essas informações à sua realidade.

27 comentários sobre “RAID via Software no Debian 6 “Squeeze”

  1. Hum, poderia ter citado o video que fiz sobre RAID.😀

    http://blog.bibliotecaunix.org/?p=366

    Onde mostro por video como fazer isso.

    Abraços,
    Brivaldo Jr

  2. seu tutorial foi o melhor que encontrei, me ajudou bastante, muito obrigado

  3. Olá. Primeiramente gostaria de parabenizá-lo pelo excelente post sobre esse assunto que é um pouco ‘obscuro’, hehe.
    Fiquei apenas com uma dúvida, após seguir exatamente os passos (adaptando as partições às minhas necessidades).
    Depois de tudo pronto, fiz o teste de ‘desligar’ o primeiro hd da maquina e testar o boot, mas não obtive sucesso.
    Com a configuração de RAID1 (espelhamento) os hds não deveriam ficar idênticos? Com os dois hds o pc liga normalmente.

    • Olá, obrigado pelo comentário.

      Primeiro preciso saber qual é o erro. Provavelmente, é no Grub. Se for isto, aqui está a possível razão para o erro:

      O Grub identifica o HD por uma identificação única. Ele também reconhece a partição física, não a partição RAID (por isso que não é possível colocar RAID0 na partição de boot). Para resolver isto, é necessário reconfigurar o Grub para bootar pela identificação do 2º HD. Feito isso, o sistema já deverá funcionar (e te avisar que um hd pifou…). Além disso, se for adicionado um HD vazio, ele deve fazer a cópia para o novo HD.

      Veja se é isto, comente aqui. Valeu!

      • Então. Eu coloquei como RAID1 em todas as partições, inclusive a de boot.
        Não deu erro, apenas não dá boot, quando desligo o hd1 e ligo o pc apenas com o hd2 não boota e fica uma tela escura com o cursor de digitação piscando.

        Será que no momento da instalação o grub não foi para o hd2?

        Não sei se entendi o ponto do RAID1 da forma correta. Minha idéia e a seguinte:
        – configurar tudo com RAID1 (mirror)
        – ao final do sistema instalado, ambos os hds terão exatamente o mesmo conteúdo
        – para testar se está tudo ok, desligo o pc, desconecto os cabos do hd1 e ligo o pc novamente apenas com o hd2
        – seguindo o passo acima o esperado era que o pc iniciasse normalmente, pois o hd2 está lá, com os mesmos dados do hd1
        O meu raciocinio está certo?

      • Parcialmente, em razão daquele problema da identificação do HD no Grub, ou seja, o conteúdo dos HDs é o mesmo, mas para o Grub, o HD que ficou ligado não é o mesmo e, por razões de segurança, ele não dá boot. Mas é estranho ele não mandar alguma mensagem de erro do Grub ou da placa-mãe (Boot Failure).

        Experimenta retirar o 2º HD, deixando o 1º, e ligar para ver o quê acontece.

  4. Desconectando o hd2 e ligando o pc apenas com o hd1 boota normalmente e até aparece uma mensagem sobre o gerenciador de raid (mdadm) no inicio do boot informando que está bootando apenas com 1 hd em vez de 2.

    • Então, foi o que eu pensei. Vou “chutar” duas possibilidades. A primeira é o que eu tinha achado antes mesmo, talvez ele fique aparecendo o cursor piscando por não achar o HD “certo”, mas é estranho não dar a mensagem de erro do Grub. A segunda é o que você levantou, talvez não tenha sido instalado o Grub no 2º HD. Mas nesse último caso, não faz sentido a placa-mãe não mandar uma mensagem de erro do tipo “BOOT FAILURE – Ctrl+alt+del”.

      Experimente, novamente, deixar somente o 2º HD. Mas agora antes de iniciar, vá na BIOS e deixe o boot somente no HD, sem ordem, ou seja, boot exclusivamente pelo HD. Se a sua teoria de não ter instalado o Grub no 2º HD estiver correta, deverá aparecer a mensagem de “BOOT FAILURE” da placa-mãe.

      Vamos fazendo testes. Em algum momento a gente resolve!

      • Fiz o procedimento de ligar o pc apenas com o hd2 e selecionar o mesmo para bootar.
        Caiu na tela preta com o cursor de digitação piscando. Nenhuma mensagem de erro ou “BOOT FAILURE”.

      • Bom, vamos, então, presumir que esse cursor piscando seja do Grub (ou da sua placa-mãe procurando um lugar pra dar o boot). Experimenta seguir estes passos: Como reinstalar GRUB com live-CD do Ubuntu 9.04 do site Viva o Linux. É para Ubuntu, mas acredito que não haja diferenças significantes.

  5. Reinstalo o GRUB apenas com o hd2 ligado?

  6. Olá, tenho o Windows instalado em minha máquina e não quero perde-lo. Qual forma de particionamento devo escolher?

  7. Excelente!

    Muito obrigado.

  8. Olá, como faço dual boot com windows 7 já instalado e Debian? Tenho o seguinte particionamento em Raid 0, mostrado com o DVD do Debian:

    Dispositivo RAID0 #125 – 67.7 GB Linux Software RAID Array
    No. 1 primária 67.7 GB ntfs
    Dispositivo RAID0 #126 – 1.9 TB Linux Software RAID Array
    No. 1 primária 41.1 MB fat16
    No. 2 primária 788.5 MB B ntfs
    No. 3 primária 1.9 TB ntfs

    SCSI1 (0,0,0) (sda) – 1.0 TB ATA ST31000524AS
    SCSI2 (0,0,0) (sdb) – 1.0 TB ATA ST31000524AS

    Qual partição devo escolher para instalar o linux?
    Obrigada

  9. Parabém pelo Tutorial e muito obrigado por compartilhar. Fiz no Virtual Box e deu certinho montando RAID 1, porem quando tento fazer isso com 2 HDs de 2 TB o sdb não boota sem o sda. O pc fica reiniciando quando tenta ler o disco. Nem exibe o menu do grub.

    Já segui Vários tutorias, mas parece que existe uma limitação com o tamanho do HD. Estou usando o Ubuntu 12.04.2.

    Já tentei dar um grub-install /dev/sdb; grub-update – O que eu entendo que nem seria necessário, pois os discos já estão espelhados. Quando retiro o sda e entro com o ubuntu live cd eu vejo os dados sincronizados no sdb. O Sistema só não boota.

    Agradeço a ajuda se possível.

    • Resolvi, não tinha nada a ver com o tamanho, mais o problema não ocorre quando instalo o ubuntu sem o cabo de rede. Ou seja, ele não atualiza alguma coisa durante a instalação que danifica o raid. Já Refiz e atualizei e não deu mais problema.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s