Instalando o Ubuntu Server com o temido FakeRAID

 Antes de começar a falar da instalação do Ubuntu Server com o temido FakeRAID eu gostaria de esclarecer sobre a diferença entre as três principais modalidades de RAID: o RAID propriamente dito, o FakeRAID e o SoftRAID:

  • RAID Original: Se você pagou (geralmente caro) por uma placa controladora RAID, você a possui. Se você não sabe se tem, é muito provável que você realmente não tenha.
  • FakeRAID: Muito popular hoje em dia nos desktops que possuem placas-mãe com “suporte a RAID 0 e 1”, aquele que você configura pela BIOS, que vem com os disquetes contendo os drivers para a instalação no Windows. Na verdade esse tipo de RAID é controlado pela BIOS (consumindo CPU) e não chega nem perto da performance do RAID controlado por hardware. Mas, de qualquer forma, é melhor que nada.
  • SoftRAID: Esse eu nunca utilizei, mas dizem que possuem performance igual à do FakeRAID, pois, afinal de contas, a CPU é quem acaba fazendo o trabalho. Como o próprio nome já diz, é um RAID controlado por software. No caso, o único sistema operacional que eu conheço que suporta este tipo de RAID é o Linux. Uma grande desvantagem de utilizar esse tipo de RAID ao invés do FakeRAID ou do RAID original é que ele impossibilita ter um segundo sistema operacional instalado nos discos (como o Windows, por exemplo, rodando em dual-boot).

Se você ainda possui dúvidas sobre o FakeRAID, dê uma lida no FakeRaidHowTo da documentação do Ubuntu, que é muito boa e explica tudo o que eu disse acima com alguns detalhes a mais: https://help.ubuntu.com/community/FakeRaidHowto

A instalação do Ubuntu Server em uma máquina que suporta FakeRAID sempre foi problemática, mas vem ficando mais fácil desde a versão 8.04 (Hardy Heron). Eu me lembro de que nesta versão era necessário iniciar com Live CD, baixar os pacotes do dmraid (software de controle para FakeRAIDs), instalar os novos pacotes, criar as partições no novo dispositivo RAID, montá-lo em um diretório temporário e copiar grande parte do sistema operacional na mão. Na época, não era possível fazer isso utilizando o CD do Ubuntu Server, apenas o Live CD.

A nova versão do Ubuntu (9.04 – Jaunty Jackalope) melhorou muito esse tipo de instalação. Agora ela vem com os pacotes do dmraid por padrão e (teoricamente) já detecta os dispositivos RAID no momento da instalação. Veja como ficou fácil:

  1. Inicie a instalação comum do Ubuntu a partir do CD do Ubuntu Server (As imagens foram obtidas utilizando a câmera de um celular à noite; daí a maravilhosa qualidade): 

    Tela inicial de instalação do Ubuntu Server
    Tela inicial de instalação do Ubuntu Server
  2. Você deve estar conectado à internet para que o programa de instalação possa fazer o download do pacote dmraid automaticamente, portanto, lembre-se de selecionar a placa de rede que realmente está conectada à internet:

    Selecionando a placa de rede conectada à Internet
    Selecionando a placa de rede conectada à Internet
  3. Opa! Dispositivo Serial ATA RAID detectado, deseja ativá-lo? Será que vai ser simples assim?? Hmmm…

    Dispositivo Serial ATA RAID detectado!
    Dispositivo Serial ATA RAID detectado!
  4. Ué, cadê os drives para configurar as partições? Estava bom demais pra ser verdade, hein? De qualquer forma, podemos acessar um console e ativar o dispositivo RAID manualmente (o que já é mais do que conseguimos fazer no Windows quando a instalação cisma de não reconhecer o dispositivo).

    Instalação não detecta as partições do dispositivo RAID
    Instalação não detecta as partições do dispositivo RAID
  5. OK, pressione ESC ou “Go Back” e o menu principal da instalação irá aparecer. Vá até o fim do menu e escolha a opção “Execute a shell”, conforme mostrado na figura abaixo:

    Executando um shell a partir da instalação
    Executando um shell a partir da instalação
  6. Execute o comando “dmraid -ay” e aguarde a mensagem de que os seus dispositivos RAID foram ativados. Depois digite “exit” para voltar ao menu de instalação:

    Executando o comando "dmraid -ay" no shell
    Executando o comando "dmraid -ay" no shell
  7. OK, agora volte para a opção “Partition disks” no menu principal da instalação e…

    Menu principal para particionar os discos
    Menu principal para particionar os discos
  8. … voilà! Finalmente podemos particionar os discos em RAID (no caso 1TB em RAID-0, YES):

    Particionando os discos
    Particionando os discos
  9. Ao rebootar o computador, uma triste mas esperada surpresa: a imagem de boot também não reconhece o dispositivo RAID. Mas, como estamos no Linux, é claro que ele vai te ajudar e executar um shell automaticamente, permitindo que você rode o comando “dmraid -ay” manualmente e reconhecendo o seu dispositivo RAID:

    Rodando o "dmraid -ay" manualmente no momento do boot
    Rodando o "dmraid -ay" manualmente no momento do boot
  10. Para consertar este pequeno lapso da instalação do Ubuntu Server, basta copiar o conteúdo abaixo e colar dentro de um novo arquivo chamado “dmraid” localizado em “/etc/initramfs-tools/scripts/local-top/”. Este comando irá rodar o comando dmraid automaticamente antes de tentar montar os dispositivos em seus respectivos diretórios. Para atualizar a imagem de inicialização do boot, basta rodar o comando “sudo update-initramfs -u”.
#!/bin/sh
PREREQ="udev"
prereqs()
{
        echo "$PREREQ"
}
case $1 in
# get pre-requisites
prereqs)
        prereqs
        exit 0
        ;;
esac
/sbin/udevadm settle --timeout=30
[ -x /sbin/dmraid ] && /sbin/dmraid -ay

Lembre-se de tornar o arquivo “dmraid” executável antes de rodar o update-initramfs com o comando “sudo chmod a+x dmraid”.

É isso! Você está pronto para reiniciar a sua máquina e desfrutar os benefícios da sua nova instalação Ubuntu Server utilizando FakeRAID:

Velocidades de leitura do disco em RAID-0
Velocidades de leitura do disco em RAID-0

3 Comments

  1. Caro viniciusvbf, este conteudo foi de extrema importancia para mim, porém tive um problema com o disco em spare na controladora! desativei o spare e rodou beleza!

    Se puderes fazer um comentario para auxiliar com discos em spare seria muito útil também!

    Obrigado

  2. Olá Ramiro!

    Fico muito feliz em ter ajudado. Confesso que iniciei este blog apenas com o intuito de documentar as coisas que eu já fiz (minha memória é péssima e eu sempre tenho de aprender tudo novamente). Infelizmente eu não possuo discos em spare para fazer os testes. Por favor me avise caso consiga resolver o seu problema para que eu possa atualizar o conteúdo deste post com a sua dica.

    Obrigado

  3. Cara estou tendo o mesmo problema, so que nao sei como editar ou criar o arquivo atraves da tela do initramfs, que comando tem que dar para acessar o diretorio, pois os comando padrao do shell nao serve no initramfs.

Leave a reply to Thiago Cancel reply