Ola amigos,
Ha algum tempo enviei para a lista (a pedidos de colegas) umas notas de
instalacao sobre como criar sistemas em RAID em distros que nao o faziam
na instalacao. Eu dei uma revisada e melhorei um pouco a escrita, estou
enviando o texto abaixo, caso alguem queira hospeda-lo (para facilitar
as atualizacoes e procuras), eu ficarei muito contente (soh pediria para
manterem meu e-mail e nome). Sugestoes e correcoes sempre sao MUITISSIMO
bem-vindas !!!
[]'s,
Soh
Instala��o de um Sistema Linux em RAID
Autor: Fabiano Felix <[EMAIL PROTECTED]>
Esse tutorial tem a finalidade de auxiliar a instala��o de sistemas Linux em
RAID manualmente.
1 - Introdu��o
Nos dias atuais, com o advento do Linux nas grandes empresas, faz-se necess�rio
um aumento no grau de confiabilidade dos sistemas. Um recurso muito utilizado
para esse fim s�o os dispositivos RAID. Existem v�rios "niveis" de dispositivos
RAID, bem como tipos diferentes de implementa��es. As mais recomendadas s�o as
solu��es baseadas em Hardware, por serem mais r�pidas, sendo a performance um
fator muito importante para a maioria dos sistemas. Por�m o seu custo � muito
elevado, sendo que uma alternativa vi�vel seria o RAID por Software, que � o
foco desse texto.
Os exemplos citados no texto baseiam-se em RAID nivel 1 (n�o ser�o explicados
aqui o conceito e nivel de RAIDs existentes), sendo que s�o v�lidos para todos
os niveis com pequenas mudan�as.
A id�ia da instala��o do sistema manualmente partiu da necessidade de algumas
distribui��es n�o o criarem na instala��o (hoje um bom n�mero de grandes
distribui��es j� permitem a cria��o a partir da instala��o).
Durante o texto ser� levado em considera��o a cria��o do Sistema em RAID 1 com
dois discos e tr�s pontos de montagem.
2 - Requerimentos para a instala��o
Para a instala��o do Sistema, ser� necess�rio um terceiro disco, que ser�
utilizado somente durante o processo de instala��o, podendo ser descartado ap�s
a conclus�o da mesma (n�o h� a necessidade desse disco ser igual aos outros).
Em nosso exemplo, o sistema ter� as seguintes parti��es:
/boot
swap
/
Sendo o tamanho vari�vel conforme a necessidade de cada indiv�duo. Proceda com
a instala��o normal do sistema.
2 - Compilando o kernel
Para que se possa utilizar o sistema em RAID, o kernel deve ser configurado com
suporte ao nivel desejado (RAID 1, RAID 5, etc) e com o par�metro
CONFIG_AUTODETECT_RAID=Y (usado para a montagem autom�tica do array). Algumas
distribui��es j� tem esses par�metros configurados, n�o necessitando de
recompila��o do kernel. N�o desmontraremos aqui como compilar o kernel, para
isso deve-se procurar as refer�ncias sobre o assunto.
A montagem autom�tica do array significa que o sistema, ao carregar, ir�
inicializar os dispositivos RAID autom�ticamente (incluindo o pr�prio sistema),
caso contr�rio os dispositivos dever�o ser inicializados manualmente, n�o
funcionando assim para o Sistema Operacional.
3 - Particionando os discos
Com o sistema j� instalado, criaremos nos discos que far�o parte do array as
parti��es equivalentes as instaladas.
A tabela seguinte ser� usada como exemplo:
ponto montagem tamanho(exemplo) label da parti��o
===========================================================================
/boot 30MB 83
swap dobro da RAM 82
/ depende da aplica��o fd
O label da parti��o � um c�digo que define seu tipo, no exemplo o label 83 �
equivalente ao Linux Native. O tipo fd � o Linux Raid Autodetect, que � o tipo
utilizado para a montagem autom�tica do RAID, conforme explicado anteriormente,
sendo que esse par�metro tamb�m � indispens�vel. As parti��es de boot e swap
n�o fazem parte do array, pois:
- O setor de boot deve ser uma parti��o prim�ria e �nica, pois quando l�-se a
MBR o array n�o est� montado;
- N�o faz sentido criar uma �rea de swap em RAID, pois em vez de ganho, poder�
haver perda de performance.
N�o faz parte do escopo do nosso texto entrar em detalhes do RAID, mas ficam
algumas dicas importantes:
- As parti��es a serem espelhadas devem ter aproximadamente o mesmo tamanho (de
prefer�ncia o mesmo);
- Se poss�vel, utilize discos de mesmo modelo e crie as parti��es nas mesmas
posi��es em ambos os discos.
4 - Criando o dispositivo RAID
O primeiro passo para a cria��o do dispositivo � a cria��o/edi��o de um arquivo
denominado raidtab, que deve estar localizado em /etc. Abaixo um exemplo
comentado de arquivo raidtab:
raiddev /dev/md0 # Nome do dispositivo no sistema
raid-level 1 # Nivel do RAID
nr-raid-disks 2 # N�mero de discos no array
nr-spare-disks 0 # N�mero de discos de paridade, n�o utilizado
em RAID 1
chunk-size 4 # Fator de "Blocagem" do array
persistent-superblock 1 # Usado pelo sistem de autodetect - deve ser 1
device /dev/sda3 # Parti��o a ser incluida no array
raiddisk 0 # Ordem dos discos - 0 indica o primeiro disco
device /dev/sdb3 # Parti��o a ser incluida no array
raiddisk 1 # Ordem dos discos - 1 indica um disco espelho
Para a cria��o do dispositivo, utiliza-se o comando mkraid. Exemplo: mkraid
/dev/md0
Ele ir� ler o arquivo /etc/raidtab e, caso esteja tudo certo, inicializar� o
dispositivo md0.
Com o dispositivo montado, deve-se criar o sistema de arquivos como em uma
parti��o comum. Exemplo:
mkfs -t ext2 /dev/md0
Para parar ou inializar o dispositivo, utiliza-se:
raidstop /dev/md0 # P�ra o dispositivo
raidstart /dev/md0 # Inicializa o dispositivo
O estado dos dispositivos RAID podem ser vistos no arquivo /proc/mdstat. Nele
voc� poder� observar o percentual de replica��o dos dados, se todos os discos
est�o OK, se um array est� funcionando, etc. Um exemplo de saida do arquivo
/proc/mdstat:
cat /proc/mdstat
Personalities : [raid1]
read_ahead 1024 sectors
md0 : active raid1 sda3[0] sdb3[1]
2884544 blocks [2/2] [UU]
unused devices: <none>
5 - Montando o Sistema em RAID
Com o dispositivo criado e iniciado, vamos agora montar o sistema em RAID. Para
isso, devemos copiar o sistema que instalamos no HD tempor�rio para o(s)
nosso(s) dispositivos. A c�pia n�o pode ser feita por comandos do sistema
(cp,mv), porque eles fazem uma c�pia do tipo RAW. A c�pia RAW, n�o copia
corretamente apontamento de dispositivos, como por exemplo, sockets, sendo que
o sistema n�o funcionar� corretamente. A c�pia deve ser feita pelo TAR. Existem
formas de fazer-mos uma c�pia TAR, sendo que as mais usadas s�o a cria��o de
arquivos e posterior descompacta��o (para que tem espa�o no HD e pouco
processamento), e a c�pia direta, interligando dois comandos TAR com um pipe.
Exemplos:
# utilizando arquivos
tar -cpf etc.tar.gz /etc #criar um arquivo etc.tar.gz com o diret�rio /etc
tar -xpf etc.tar.gz -C /etc_raid #descompacta o dir /etc no dispositivo RAID
# C�pia direta
tar -cvf - /etc | tar -xvf - -C /etc_raid #copia o /etc para o dispositivo RAID
6 - Configurando o sistema para o boot
Com o sistema j� montado, precisamos fazer alguns acertos para fazer o nosso
RAID inicializ�vel. O primeiro passo � criar o setor de boot dos discos. Para
criar o setor de boot, deve-se montar a parti��o que foi destinada para boot em
ambos os discos (certifique-se de j� haver um sistema de arquivos existentes
nas parti��es). O procedimento � o mesmo para a c�pia do sistema, a diferen�a �
que ele deve ser executado para TODOS os discos, isto �, cada disco deve ter
uma c�pia fi�l do setor de boot para que seja garantida a integridade do
sistema.
Com os arquivos copiados, devemos ajustar agora os nossos arquivos de
configura��o. Os arquivos e suas respectivas modifica��es s�o:
- /etc/fstab - Tabela de pontos de montagem do sistema
Na fstab, devmos trocar as entradas dos pontos de montagem, onde tinh�mos a
refer�ncia para o disco utilizado na instala��o, devemos colocar uma entrada
para o nosso dispositivo, lembrando que as parti��es /boot e swap n�o fazem
parte do array. Vamos a um exemplo:
## Antiga fstab
/dev/hda3 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda2 swap swap defaults 0 2
## RAID fstab
/dev/md0 / ext2 defaults 1 1
/dev/hda1 /boot ext2 defaults 1 2
/dev/hda2 swap swap defaults 0 2
Podemos notar que as parti��es de boot e swap n�o fazem parte do array conforme
explicado anteriormente). Caso o disco que esteja sendo usado no boot falhar,
basta modificar os arquivos de configura��o para um outro e o sistema operar�
normalmente.
- /etc/lilo.conf - Arquivo de configura��o do LILO (Boot Manager)
No lilo.conf, devemos trocar a entrada da parti��o raiz do sistema. Um exemplo:
## Antigo lilo.conf
boot = /dev/hda
image = /boot/vmlinuz-raid
label = linux_raid
root = /dev/hda3
## RAID lilo.conf
boot = /dev/hda
image = /boot/vmlinuz-raid
label = linux_raid
root = /dev/md0
No exemplo, o nosso boot aponta para /dev/hda, se esse disco falhar, � s�
trocar essa entrada para outro boot, por exemplo, /dev/hdc.
Devemos criar um disco de boot para o sistema, pois ele ser� utilizado para
gravarmos a MBR. Com as altera��es j� feitas, devemos iniciar o sistema com o
disco de boot (Dica: em algums distribui��es � poss�vel utilizar o pr�prio CD
para inicializar um sistema instalado) e utilizar o seguinte comando:
lilo
Isso deve gravar as novas configura��es de boot na MBR.
Reinicie o sistema. Ele dever� inicializar normalmente, j� montando os
dispositivos. Por ser o primeiro boot, os dispositivos RAID inicializar�o o
processo de sincronismo, o que poder� causar uma perda de performance
moment�nea. Para visualizar o andamento do processo de sincronismo utilize o
comando:
cat /proc/mdstat.
Com isso n�s temos um sistema montado em RAID nivel 1. Quaisquer d�vidas,
crit�cas ou sugest�es ser�o bem-vindas.
Refer�ncias:
Guia do Servidor Conectiva:
http://www.conectiva.com/doc/livros/online/guia_servidor/raid.html
Suporte Conectiva:
http://www.conectiva.com.br/suporte/pr/aplicativos.raid.definicao.html
Root-RAID-HOWTO
http://www.linuxdoc.com/LDP/HOWTO/index.lxp?lxpwrap=HOWTO-INDEX/os%2ehtml#OSRAID
Assinantes em 29/04/2002: 2249
Mensagens recebidas desde 07/01/1999: 164800
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]