[FUG-BR] Carregamento do gmirror e gstripe no loader.conf

Luiz Otavio O Souza lists.br em gmail.com
Quinta Janeiro 30 16:23:49 BRST 2014


2014-01-29 Marcelo Gondim <gondim em bsdinfo.com.br>:
>>> Pessoal,
>>>
>>> Estou tentando faz um tempo colocar todo o disco inclusive o raiz em
>>> gmirror+gstripe(raid10) pra bootar e não consigo. Quando inicia o boot
>>> já manda na lata o Not ufs.
>>> Creio que o motivo seja porque para carregar o geom é necessário
>>> primeiramente carregar o kernel. O zfs funciona porque tem um boot
>>> específico para ele.
>>> Só vi uma solução: colocar o / fora do raid e colocar o restante /usr,
>>> swap, /var e /tmp no raid10. Alguém já conseguiu bootar o sistema com
>>> tudo no geom raid?
>>>
>>> Meu loader.conf:
>>>
>>> geom_mirror_load="YES"
>>> geom_stripe_load="YES"
>>> vfs.root.mountfrom="ufs:/dev/stripe/root"
>>>
>>> []'s
>>> Gondim
>>>
>> Como esta criando raid10?
>> Gstripe = gmirror+ gmirror ou
>> Gmirror = gstripe + gstripe?
>>

[...]

> Pelo que percebi eu não consigo carregar o gstripe e o gmirror antes do
> kernel ser carregado e por isso o /boot não fica visível, dando o tal
> erro: Not ufs
> O que funcionou para mim foi tirar o / do gmirror e gstripe, aí nesse
> caso carregou o kernel e o módulo gmirror e gstripe. O restante
> funcionou de boa.
>
> A minha dúvida era se existe alguma maneira de carregar o gmirror e
> gstripe antes de tudo, como o tal initrd do Linux.

Gondim,

Da forma como eu vejo (posso estar errado, claro) o gstripe não pode
ser utilizado na partição de boot (no root '/').

No gmirror você tem os dois (ou mais) discos iguais o tempo todo,
assim se você montar e ler o root '/' a partir de qualquer um dos
discos que compõem o mirror e você sempre vai ler os mesmos dados,
independente de qual disco você faça a leitura.

No caso do gstripe as informações (os blocos) estão espalhados pelos
discos que compõe o stripe e assim você não pode ler a partição (ou
slice) sem primeiro reconstruir o RAID, coisa que como você já notou
não é simples.

Mesmo no linux, com o uso do initrd, é preciso de uma pequena partição
de boot - sem RAID - que no caso contém a imagem que será utilizada
para boot e carga dos módulos.

Montando o root '/' numa pequena partição separada ou até com o
gmirror deve resolver seu problema (lembrando que o root '/' pode ser
sobreposto depois).

Att.,
Luiz


Mais detalhes sobre a lista de discussão freebsd