[FUG-BR] ZFS com GEOM_GATE
Mario Augusto Mania
m3.bsd.mania em gmail.com
Quinta Agosto 12 13:38:48 BRT 2010
Bom pessoal, o assunto do email jah diz tudo hehehe
Montei o seguinte cenario com o virtualbox:
4 machines com freebsd e dois hd (ad0, e ad1) com o freebsd minimo
instalado no ad0 e o ad1 raw, sem criar slices nem particoes
Chamei as maquinas de server, storage01, storage02 e storage03
nas 3 storages, eu criei o /etc/gg.exports com:
192.168.1.1 RW /dev/ad1
ou seja, exporte como rw o /dev/ad1 (hd inteiro sem particao sem
slice) para o 192.168.1.1 q eh o server
e nas tres maquinas rodei o ggated
Ateh ae tudo bem
No .1, o server, carreguei o zfs e rodei o ggatec para os tres
stoarges e funcionou tudo beleza, criou o
ggate0, ggate1 e ggate2, tudo certinho
ae, fiz assim:
server# zpool create storage raidz ad1 ggate0 ggate1 ggate2
e criou o /storage perfeito, ou seja, criei o pool usando o /dev/ad1
do server e mais os tres hds dos storages via geom_gate.
Cada ad1 tem 2G
Depois de criar uns arquivos com dd para testes, o df -h me retorna:
storage 5.8G 20M 5.8G 0% /storage
ou seja, o pool tem aproximadamente 6 gigas (sendo que cada hd tem 2,
nao deveriam ser 8G?)
Até ae tudo bem.
Bom, com o ee criei um arquivo teste.txt e digitei algum texto, coisa
pouca, salvei e tudo beleza.
Segundo teste, desligue o storage02, dei um shutdown -h na maquina, e rodei:
dd if=/dev/zero of=f1.bin bs=1M count=10
E ele criou o arquivo com 10 megas normalmente
e mesmo com o storage02 desligado o zpool status retorna:
server# zpool status
pool: storage
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad1 ONLINE 0 0 0
ggate0 ONLINE 0 0 0
ggate1 ONLINE 0 0 0
ggate2 ONLINE 0 0 0
errors: No known data errors
Bem, resolvi chutar o balde hehehe, desliguei o storage03, e rodei o
dd novamente para criar um novo arquivo, o f2.bin tambem com 10 megas,
ae a coisa ficou estranha, aparentemente o server travou, apesar de
responder ao enter (o texto rolava para cima, tanto via ssh, quanto
via sessao local no virtualbox), o processo do dd nao continuava, nem
morria com control+c, nem ia pra bg com control-v.
Chutei o balde mais ainda e desliguei o storage01, ou seja, soh ficou
o server rodando (ou melhor, travado mais ou menos heheh)
o zpool status ainda retornava:
server# zpool status
pool: storage
state: ONLINE
scrub: none requested
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz1 ONLINE 0 0 0
ad1 ONLINE 0 0 0
ggate0 ONLINE 0 0 0
ggate1 ONLINE 0 0 0
ggate2 ONLINE 0 0 0
errors: No known data errors
mesmo com as maquinas DESLIGADAS.
Ae, liguei as tres maquinas, e como tinha carregado o ggated na mao
(como q faz pra subir no boot???), resolvi subir na mao de novo:
ggated
fiz isso nas tres maquinas e voi-la: o processo dd finalizou e tudo
voltou ao normal, parece q o gate ficou congelado enquanto os servers
(ggated) nao respondiam. Agora, o problema eh q o f2.bin ficou com
2megas e nao 10!!!!
rodei o dd de novo e gerou normalmente com 10M
O que voces acham? Eu gostaria que quando uma das maquinas caissem, o
processo continuassem normalmente, e nao o servidor ficasse em
stand-by esperando a maquina voltar heheheh :)
Que acham? Sera q tem solucao? alguem fez algo parecido e funcionou???
--
Atenciosmente
Mario Augusto Mania <m3BSD>
-----------------------------------------------
m3.bsd.mania em gmail.com
Cel.: (43) 9938-9629
Msn: mario em oquei.com
Mais detalhes sobre a lista de discussão freebsd