Ola pessoal,

Ha um tempo atras, tive um problema com o SuSE 7.1, pois o Yast nao permite
a instalacao do sistema em RAID, e tive que me virar. Depois de ter ajudado
uma pessoa da lista, outras se interessaram pelo assunto. Eu vou escrever um
texto tecnicamente melhor, mas conforme pedidos estou enviando um "textinho"
com algumas anotacoes que fiz durante a instalacao, por favor, se sintam a
vontade para corrigirem, pois tive que fazer na "raca", pois a documentacao
que encontrei cobre o assunto nao eh muito clara. Vale lembrar que, para
quem se interessar, os exemplos descritos valem tanto para sistema qto para
dados, e para qualquer nivel de RAID.

[]'s,

Soh



Procedimentos para a cria��o e manuten��o de um sistema Linux em RAID

1 - Instala��o do sistema

Para a cria��o de um sistema em RAID1 com dois discos, ser� necess�rio um
terceiro disco, no qual o sistema ser� instalado em primeiramente.
Deve-se proceder com a instala��o normal do sistema, criando as seguintes
parti��es:

/boot
swap
/

nesse momento, fica a cargo da pessoa o tamanho das parti��es.

2 - Compilando o kernel

Para que se possa utilizar o sistema em RAID, o kernel deve ser compilado
com suporte ao nivel que voc� deseja (RAID1, RAID5) e com o parametro
CONFIG_AUTODETECT_RAID=Y, usado para a montagem autom�tica do array.

3 - Criando as parti��es

Com o sistema no ar, deve-se criar nos discos que far�o parte do array as
parti��es equivalentes as anteriores.

Como exemplo:

pt. montagem   tamanho(sugerido)  label da parti��o
============================================================
/boot    20MB    83
swap    dobro da RAM   82
/    depende da aplicacao  fd

O label da parti��o � um c�digo que define o tipo da parti��o, no exemplo
83=Linux Native, sendo fd=Linux Raid Autodetect, que � o tipo utilizado para
a montagem autom�tica do RAID, necess�rio para a instala��o do sistema.
As parti��es de boot e swap n�o fazem parte do array, pois:
O setor de boot deve ser uma parti��o primaria e unica, pois quando le-se a
MBR o array n�o est� montado;
N�o faz sentido criar uma area de swap em RAID, pois em vez de ganhar,
poder� perder-se performance.

4 - Criando o dispositivo RAID

O primeiro passo para a cria��o do dispositivo � a edi��o/cria��o do arquivo
raidtab, que deve estar localizado no diret�rio /etc
A sintaxe do arquivo � a seguinte:

raiddev /dev/md0   # nome do dispositivo no sistema
 raid-level 1  # indica o nivel do RAID
 nr-raid-disks 2  # numero de discos do array
 nr-spare-disks 0  # discos com paridade, nao utilizado em nivel 1
 chunck-size 4  # fator de "blocagem" do disco
 persistent-superblock 1 # usado pelo sistema de autodetect - deve ser 1
 device  /dev/hda3 # particao a ser includa
 raiddisk  0  # ordem dos discos - 0 indica o disco de dados
 device  /dev/hdc3 # particao a ser includa
 raiddisk  1  # ordem dos discos - 1 indica o disco espelho

Para inicializar o dispositivo, deve-se usar o seguinte comando:

mkraid /dev/md0

Com o dispositivo montado, deve-se criar o sistema de arquivos, por exemplo;

mkfs.ext2 /dev/md0

Para inicializar ou para o dispositivo, usa-se:

raidstop /dev/md0
raidstart /dev/md0

Para verificar o estado do dispositivo, usa-se:

cat /proc/mdstat


5 - Montando o sistema no RAID

Com o dispositivo criado e iniciado, vamos agora criar o sistema em RAID.
Para isso, devemos literalmente copiar o sistema que esta no ar para o
dispositivo, s� que essa nao pode ser uma c�pia RAW (p.e., cp), entao
devemos utilizar c�pia TAR.
Uma maneira mais simples (por�m mais trabalhosa) � gerar um arquivo tar dos
diretorios raiz e descompacta-lo no array. Um exemplo:

cd /
tar -zcpvf etc.tar.gz /etc  # compacta o diretorio /etc no arquivo. A
opcao -v � muito importante, pois ela mant�m as       permiss�es dos
arquivos
mount /dev/md0 /dir_temp # monta-se o array em um diretorio temporario
tar -zxpvf etc.tar.gz /dir_temp # descompacta-se o arquivo no array

Isso deve ser feito com todos os diretorios raizes, menos o /boot, que ser�
visto a seguir

6 - Preparando o sistema para o boot

Com o sistema j� montado, precisamos fazer alguns acertos para fazer o nosso
RAID inicializavel. O primeiro passo � criar o setor de boot dos discos.
Para se criar o setor de boot, deve-se montar a parti��o que foi destinada
para boot em ambos os discos (se nao foi criado um sistema de arquivos nas
parti��es, fa�a-o agora). O procedimento � o mesmo para a c�pia do sistema,
a diferen�a � que ele deve ser feito em ambas as parti��es. Vamos ver um
exemplo considerando como array o 1o disco da 1a controladora IDE (/dev/hda)
e o 1o disco da 2a controladora IDE (/dev/hdc):

mount /dev/hda1 /boot_temp1  # monta-se a particao em um diretorio
temporario, onde /dev/hda1 � a particao destinada       ao boot e ja tem um
sistema de arquivos criado
tar -zcpvf boot.tar.gz /boot  # cria-se um arquivo da parti��o de boot
tar -zxpvf boot.tar.gz /boot_temp1 # descompacta-se o arquivo na particao
destino

mount /dev/hda1 /boot_temp2  # monta-se a particao em um diretorio
temporario, onde /dev/hdc1 � a particao destinada       ao boot e ja tem um
sistema de arquivos criado
tar -zcpvf boot.tar.gz /boot  # cria-se um arquivo da parti��o de boot
tar -zxpvf boot.tar.gz /boot_temp2 # descompacta-se o arquivo na particao
destino

Com os arquivos copiados, devemos ajustar agora os nossos arquivos de
configura��es. Os arquivos e suas respectivas modifica��es s�o:

/etc/fstab Tabela de pontos-de-montagem do sistema

Na fstab, devemos trocar as entradas dos pontos-de-montagem, onde nos
tinhamos a refer�ncia para o disco usado para a instala��o, devemos colocar
uma entrada para o nosso dispositivo, lembrando que as parti��es de boot e
swap nao fazem parte do array. para facilitar o entendimento, vamos mostrar
um exemplo:

Antiga fstab

/dev/hda3 / ext2 defaults 1 1
/dev/hda /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

Aqui cabe uma observa��o: a nova fstab deve apontar o /boot e o swap para um
dos discos, e nao para os dois. Isso garante a redund�ncia do sistema, pois
se o disco que est� sendo usado no boot falhar, � s� modificar os arquivos
de configura��o para o outro disco e tudo continuar� funcionando.

/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, p.e. /dev/hdc.

Com os arquivos ja alterados, vamos reiniciar o sistema, remover o disco com
o sistema usado na instala��o e entrar com um disco de boot (no caso do
SuSE, pode ser usado o CD) e inicializar o novo sistema para que possamos
gravar o setor de boot. Com o sistema ja iniciado, use o seguinte comando no
prompt:

lilo

Isso deve gravar as novas configura��es de boot na MBR.

Reinicie o sistema e verifique se est� tudo OK. Se nenhum erro critico
ocorreu, seu sistema estar� funcionando.


Assinantes em 10/09/2001: 2341
Mensagens recebidas desde 07/01/1999: 131672
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a