[FUG-BR] Raid com FreeBSD - Sugestão

Daniel Bristot de Oliveira danielbristot em gmail.com
Quarta Outubro 18 23:26:56 BRST 2006


Olá
> Uma coisa que nao entendi ainda, posso esta sendo ate
> burro, mas vcs sabem como é vida de iniciante.. tenho
> 3 discos.. 17GB cada.. antes de iniciar o raid5 estou
> usando o tutorial em alemão traduzido pelo google..
> hehehe, terei que instalar o freebsd, format um disco,
> montar as particoes um dos disco ? é isso ou somente
> atraves do boot alguem pode me explicar o procedimento
> inicial.

Olha só, deixa ver se entendi, você quer fazer Raid nos 3 discos inteiros certo?

E você só tem estes tres discos, e eles vão ter o FreeBSD Instalado, e
você iniciará o FreeBSD a partir deste raid.

Se este for o caso, pense comigo. se não for.... vai lá para o
final... a partir de ******************************

a partir do segundo ************************* vai ter um mini How-TO

O Raid via software é feito a partir de um módulo do kernel, da classe
geom chamada vinum, que lá no tutorial é dis para você habilitar...

"echo 'geom_vinum_load="YES"' >>/boot/loader.conf"

certo?

Bom, então para reconhecermos o RAID precisamos do kernel carregado, e
do modulo carregado, certo?

Mas como iniciar um kernel e um módulo(que estão divididos em tres
discos) de uma coisa que o loader não conhece (que os dados estão
divididos), que é raid com "striping", ele não intende sobre onde os
dados estão, e assim ele não pode carregar o kernel e nem o modulo :(.

Então, até onde meu conhecimento vai, é impossível fazer isto via
kernel e modulo... porque é eles que vão criar o dispositivo
/dev/gvinum/data, que vai conter o tua unidade com os discos (Geom de
um provider com 3 consumers)

Uma aprofundada... o geom vai reconhecer o disco e criar o
/dev/gvinum/data, no final da inicialização do kernel e antes das
"montagens" em RW, e checagens de disco.

Ai vem a questão... AAA mais espelhamento dá!

Realmente espelhamento dá, porque a inicialização do kernel é feita em
um dos dicos que contém o kernel e o modulo, ai na inicialização, é
detectado o espelhamento e o provider é criado, antes que qualquer
escrita em disco, o que mantem os dados consistentes, ai antes de ler
o fstab e fazer qualquer checagem o dispositivo estará criado e tudo
flui...

Bom, ate onde meu conhecimento vai, uma saida para você é:

iniciar o kernel de uma partição ou de um disco ou de um pendrive ou
de um cd e assim vai... de algo que não faça parte do striping, ai
quando o kernel inicializa e o modulo reconhecer o raid, ele vai
checar(com o fstab configurado....), o raid e montar e funcionar...

Outra possibilidade, é como foi feito no artigo, um raid de partições.
isto é possivel e funciona, instala o teu / (so o que precisa pra
inicializar),  em um partição, e cria tres partições iguais nos tres
discos e cria o vinum a partir delas...

******************************
Se você está inicializando o SO, e fazendo o stripe das partições...

O dispositivo vai ser criado em, seguindo o tutorial...

/dev/gvinum/data

Se você criou ele sem problemas....

newfs /dev/gvinum/data
mount /dev/gvinum/data /qualquerlugar

vai estar funcionando...

ou adicione ele no fstab, se você leu a parte grande acima, vai saber
que ele não vai poder ser o /.

***********************
Mini How-TO

crie três parrtições iguais nos três discos, durante a instalação...
ao iniciar o sistema....

crie o arquivo  "raid5.conf"....

drive eins device /dev/Partição1
drive zwei device /dev/Partição2
drive drei device /dev/Partição3
volume data
 plex org raid5 491k
  sd length 0 drive eins
  sd length 0 drive zwei
  sd length 0 drive drei

execute:
# gvinum create raid5.conf
# echo 'geom_vinum_load="YES"' >>/boot/loader.conf

quando reinicizar, o dispositivo /dev/gvinum/data vai estar criado
ai você cria o sistema de arquivos (formata), mas isso só da primeira vez :)

#newfs /dev/gvinum/data

monta em qualquer lugar,

# mount /dev/gvinum/data

Ou já adiciona no fstab...
/dev/gvinum/data           /PontoDeMontagem            ufs     rw
        2       2

Ai também vai funcionar...

hehe você deve pensar, este cara escreve d+, mas não se assuste eu
estou em uma aula que meu professor está explicando delphi, não
preciso comentar mais nada :P

espero ter ajudado....

Um abraço
-- 
Daniel Bristot de Oliveira
http://dbristot.info

R João Paez 409 Ap 202
Sta Augusta - Criciúma - SC
CEP 88805440 Brazil
+55-48-91032512


Mais detalhes sobre a lista de discussão freebsd