Estou para configurar duas máquinas como Dom0 acessando um grupo de
volume LVM que está em um SAN. Mais ou menos como no esquema abaixo:
vl_virtual0
/
Maquina1-Dom0 -- vl-Virtual1
\ /
(SAN) gvXen ---- vl-Virtual2
/ \
Maquina2-Dom0 -- vl-Virtual3
\
vl_Virtual4
Cada volume "vl-VirtualX é um volume lógico com o sistema operacional
de uma domU. Todas elas já rodam na "Maquina1-Dom0", mas eu pretendo
levantar a "Maquina2-dom0" passar pra ela as Domus que estão em
vl_Virtual3 e vl_Virtual4.
Vejam que o grupo de volume gvXen (que está no San) será visto/usado
por ambos os servidores, mas os volumes lógicos só estarão em uso por
uma máquina de cada vez. Isso é confiável, ou não funciona?
Eu já dei umas pesquisadas por ai, mas não achei nada muito
elucidativo. Vários links referem-se ao clvm, mas não dizem nada a
respeito. Olhei a documentação do CentOS[1] - que diga-se de passagem
é muito boa - mas não tem nada que me responda a esta dúvida. O manual
do LVM diz que ele não suporta cluster, mas ao mesmo tempo mostra
como compartilhar volumes[2].
Alguns textos inclusive citam o GFS. A documentação da Redhat e do
CentOS principalmente (eles estão vendendo o peixe), mas pro meu caso
que cada volume será visto por apenas uma máquina acho que não teria
necessidade de colocar a raiz de todos os meus Domus como gfs, ou
teria? Se eu quiser compartilhar arquivos entre as Domus eu faço como
tenho feito desde o tempo da Internet à vapor (com NFS). Eu achei
também uma discussão em [3] mas também não trouxe nenhuma luz nesse
túnel.
Ao que parece não há informações muito claras sobre este tipo de
configuração que (IMO) se tornará cada vez mais comum com o
crescimento do mercado de sistemas de virtualização.
O sistema das minhas dom0's é o Debian Lenny com Xen 3.4.0 e das
Domus o Lenny e Etch.
Aceito sugestões, palpites, links e que mais puder ajudar.
Grato.
[1] Creating LVM Volume in a cluster -
http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/cluster_setup.html
[2] Sharing Volumes on LVM - http://tldp.org/HOWTO/LVM-HOWTO/sharinglvm1.html
[3] is LVM cluster-aware? -
http://www.nabble.com/is-LVM-cluster-aware--td15070306.html
--
Welington Rodrigues Braga
--------------
Web: http://www.welrbraga.eti.br
MSN: welrbraga[*]msn·com
Gtalk: welrbraga[*]gmail·com
Yahoo / Skype: welrbraga
PGP Key: 0x6C7654EB
Linux User #253605
"Em tudo somos atribulados, porém não angustiados; perplexos, porém
não desanimados; perseguidos, porém não desamparados; abatidos, porém
não destruídos;" - 2Co 4:8,9
Estou para configurar duas máquinas como Dom0 acessando um grupo de
volume LVM que está em um SAN. Mais ou menos como no esquema abaixo:
vl_virtual0
/
Maquina1-Dom0 -- vl-Virtual1
\ /
(SAN) gvXen ---- vl-Virtual2
/ \
Maquina2-Dom0 -- vl-Virtual3
\
vl_Virtual4
Cada volume "vl-VirtualX é um volume lógico com o sistema operacional
de uma domU. Todas elas já rodam na "Maquina1-Dom0", mas eu pretendo
levantar a "Maquina2-dom0" passar pra ela as Domus que estão em
vl_Virtual3 e vl_Virtual4.
Vejam que o grupo de volume gvXen (que está no San) será visto/usado
por ambos os servidores, mas os volumes lógicos só estarão em uso por
uma máquina de cada vez. Isso é confiável, ou não funciona?
Eu já dei umas pesquisadas por ai, mas não achei nada muito
elucidativo. Vários links referem-se ao clvm, mas não dizem nada a
respeito. Olhei a documentação do CentOS[1] - que diga-se de passagem
é muito boa - mas não tem nada que me responda a esta dúvida. O manual
do LVM diz que ele não suporta cluster, mas ao mesmo tempo mostra
como compartilhar volumes[2].
Alguns textos inclusive citam o GFS. A documentação da Redhat e do
CentOS principalmente (eles estão vendendo o peixe), mas pro meu caso
que cada volume será visto por apenas uma máquina acho que não teria
necessidade de colocar a raiz de todos os meus Domus como gfs, ou
teria? Se eu quiser compartilhar arquivos entre as Domus eu faço como
tenho feito desde o tempo da Internet à vapor (com NFS). Eu achei
também uma discussão em [3] mas também não trouxe nenhuma luz nesse
túnel.
Ao que parece não há informações muito claras sobre este tipo de
configuração que (IMO) se tornará cada vez mais comum com o
crescimento do mercado de sistemas de virtualização.
O sistema das minhas dom0's é o Debian Lenny com Xen 3.4.0 e das
Domus o Lenny e Etch.
Aceito sugestões, palpites, links e que mais puder ajudar.
Grato.
[1] Creating LVM Volume in a cluster -
http://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/cluster_setup.html
[2] Sharing Volumes on LVM - http://tldp.org/HOWTO/LVM-HOWTO/sharinglvm1.html
[3] is LVM cluster-aware? -
http://www.nabble.com/is-LVM-cluster-aware--td15070306.html
--
Welington Rodrigues Braga
--------------
Web: http://www.welrbraga.eti.br
MSN: welrbraga[*]msn·com
Gtalk: welrbraga[*]gmail·com
Yahoo / Skype: welrbraga
PGP Key: 0x6C7654EB
Linux User #253605
2009/7/17 Flavio Junior <bil...@gmail.com>:
> 2009/7/17 Welington R. Braga <welr...@gmail.com>
> Não entendi muito bem..
> Tu ta querendo um VG compartilhado entre duas maquinas?
> Se sim, isso é CLVMD... Eu o uso e funciona muito bem. Porem, o clvmd
> depende de alguma cluster-stack, ai tu vai ter que usar openais/corosync ou
> rhcs, o que vais ter q avaliar o valor beneficio/complexidade.
>
Pelo que eu andei lendo acho que é isso mesmo. Mas não achei nada que
facilite a configuração do clvmd. Você tem algum link para sugerir?
Eu achei dois links [4] e [5], mas cada um diz uma coisa e no fim das
contas não sei se é pra fazer só um ou só o outro, ou ainda os dois.
Um diz que basta alterar o locking do lvm o outro precisa mexer no
arquivo de configuração cluster.conf...
Será que ninguém escreveu sobre este tipo de cenário, ainda!?
Eu vi comentário sobre usar dois VGs, mas como você disse eu não vou
> Se não, tu não pode usar o mesmo VG, mas nada te impede de ter 2 VG's na
> SAN e definir um VG como ativo pra cada Dom0, no caso de uma pane na
> Maquina1, tu so precisa levantar os LV dela na Maquina2.
>
ter como compartilhar os vbds entre os servidores.
Com o CLVM, não seria possivel compartilhar os volumes lógicos ? O que
>>
>> Cada volume "vl-VirtualX é um volume lógico com o sistema operacional
>> de uma domU. Todas elas já rodam na "Maquina1-Dom0", mas eu pretendo
>> levantar a "Maquina2-dom0" passar pra ela as Domus que estão em
>> vl_Virtual3 e vl_Virtual4.
>
> Não vai ser tão simples, pq se tu criar um segundo VG, tu não pode mover os
> LV.. tu só pode mover PV's, e assim so se tu tiver bem definido qual LV ta
> em qual PV pra poder fazer isso sem um esquema de dd/rsync.
>
me deixa confuso quanto a isso é que se eu pego um tutorial como o [6]
o que se vê é exatamente isso (eu acho). Um único VG que é distribuido
entre dois servidores. usando o DRDB que, segundo eu entendi, vai
apenas espelhar os volumes na outra máquina, mas se for necessário
(falha no disco de uma delas) ele continuará a obter o VBD da outra
maquina que está sobre um LVM.
>>Já pensei em fazer algo como o citado em [4], só que substituindo os
>> Vejam que o grupo de volume gvXen (que está no San) será visto/usado
>> por ambos os servidores, mas os volumes lógicos só estarão em uso por
>> uma máquina de cada vez. Isso é confiável, ou não funciona?
>
> Como disse, separe por VG's e nao por LV's, se não tu vai ferrar a
> integridade dos metadados do LVM.
discos locais por discos no SAN e replicados com DRDB. Acho que é uma
solução. Isso é o que eu não gostaria de fazer já que vou desperdiçar
espaço no SAN, e como eu disse isso é realmente necessário. O DRDB faz
essa "camada de proteção" para o LVM?
>Anotado, vou passar por lá. Português ou Inglês?
>>
>> Eu já dei umas pesquisadas por ai, mas não achei nada muito
>> elucidativo. Vários links referem-se ao clvm, mas não dizem nada a
>> respeito. Olhei a documentação do CentOS[1] - que diga-se de passagem
>> é muito boa - mas não tem nada que me responda a esta dúvida. O manual
>> do LVM diz que ele não suporta cluster, mas ao mesmo tempo mostra
>> como compartilhar volumes[2].
>>
>> Alguns textos inclusive citam o GFS. A documentação da Redhat e do
>> CentOS principalmente (eles estão vendendo o peixe), mas pro meu caso
>> que cada volume será visto por apenas uma máquina acho que não teria
>> necessidade de colocar a raiz de todos os meus Domus como gfs, ou
>> teria? Se eu quiser compartilhar arquivos entre as Domus eu faço como
>> tenho feito desde o tempo da Internet à vapor (com NFS). Eu achei
>> também uma discussão em [3] mas também não trouxe nenhuma luz nesse
>> túnel.
>
> Eu recomendo o #lvm no irc.freenode.net - o pessoal lá ta sempre pronto pra
> ajudar.
>
> É, o LV ser acessado ao mesmo tempo em 2 servidores - não.
> O LV ser "visto" pelos 2 servidores, sim. Agora tua estrutura tem que
> garantir que 2 servidores não vao montar o mesmo LV ao mesmo tempo. No caso
> do ext3, eu diria que nem somente-leitura pode ser montado, por que mesmo
> assim o ext3 escreve metadados, já outros filesystem não sei especificar,
> alguns tu vai ver a opção de "hard read-only" que é uma opção pra nao
> escrever nada mesmo.
Esta garantia de que ambos os servidores não montarão o volume não
pode ser garantida via heartbeat? Se não acho que um scriptzinho
idiota que teste ping, serviços oferecidos por aquele Domu, ou mesmo
leia os dados do storage via snmp ou algo assim consiga garantir, não?
Quanto ao Ext3... eu não uso. Apesar de muita gente criticar o
Reiserfs e elogiar o Ext3 com LVM e Xen, comigo o caminho foi inverso
e nunca perdi dados com Reiserfs, mas com ext3... só de lembrar me dá
tremedeira, mas como disse não haverá momento em que um msmo volume
será montado pelos dois servidores.
Isso! Essa é a minha intenção. Chegamos ao modelo que queria. Se
>
> A minha idéia aqui é 3 LV's no VG maquina1, 3 LV's no VG maquina2.
> Dom0-1 usa os 3 LV's do VG maquina1 - POR PADRAO
> Dom0-2 usa os 3 LV's do VG maquina2 - POR PADRAO
>
> Digamos que cada LV seja uma VM.
> A VM2 do Dom0-1 foi pro pau, tu shutdown/destroy essa VM e com isso o
> maquina1-vg/vm2-lv vai ficar totalmente livre, ai o Dom0-2 sobe a VM2 nele,
> por que ele enxerga o maquina1-vg.
>
considerar este cenário, bastaria setar o locking no lvm e colocar pra
rodar em ambos os servidores? O heartbeat seria só para monitorar as
máquinas e garantir a tolerancia a falhas automática, certo?