>> >     Estou com uma dúvida, tenho dois servidores com postgres e um
>> > storage da
>> > dell 3200i com iscsi, gostaria de saber se é possível os dois acessarem
>> > a
>> > mesma LUN para ler e gravar. para fazer alta disponibilidade, ou se
>> > teria
>> > alguma outra maneira.
>>
>> Isso depende exclusivamente do storage. Consulte a documentação dele.
>> Provavelmente você terá de pagar licenças para utilizar esta
>> funcionalidade. Em alguns casos, um virtualizador de SAN também faz
>> isso.
>>
>> Existem licenças para funcionar do jeito que estás falando usando GFS,
>> ambos os servidores tem a LUN montada simultaneamente ou usando
>> qualquer outro filesystem no modo montado/desmontado. Uma aplicação
>> cliente no S.O. comanda a liberação da LUN para um ou outro servidor.
>>
>> Não depende do PostgreSQL nem do S.O. Tudo depende do storage/sistema SAN.
>
> Calma lá!
> Veja, a maior parte das operações ficam em memória, não em disco. As
> operações tem um log (o nosso amigo WAL) onde as transações vão sendo
> registradas sequencialmente e se houver uma queda brusca do servidor, o
> postgres lê esse log e restaura a ordem no caos. A gravação do que estão na
> memória para o disco ocorre através do CHECKPOINT.
> Qual é o problema. Se as últimas alterações estão em memória, e você subir
> um postgres em cada nó, acessando os mesmos dados, utilizando um sistema de
> arquivos como o GFS, OCFS2 ou Lustre, um postgres não vai saber o que está
> na memória do outro postgres, então um não conhece a última posição dos
> dados alterados pelo outro. Para resolver este problema, seria preciso
> implementar um cluster "shared all", ou seja, que compartilhe a memória
> também.
> O Oracle RAC faz isso através do 'cache fusion'. Só a Oracle adota esta
> tecnologia hoje, onde vários nós podem ler e gravar na mesma base.
> Quais as suas alternativas? Um cluster ativo/passivo, como o implementado
> pela Red Hat, um standby ou olhe as possibilidades
> em: http://www.postgresql.org/docs/9.0/static/different-replication-solutions.html
> Acho que é isso.
> OK?

Oi Telles

Brilhante explicação!
Apenas explicando pro colega que fez a pergunta, o PostgreSQL, com LUN
compartilhada, funcionará apenas com a funcionalidade de
Ativo/Passivo.
Mesmo usando GFS, apenas um dos servidores poderá estar no ar de cada vez.

É que já é tão natural que esqueci do detalhe.
Todo mundo acha que storage é mágico, não falha nunca, quem falha é
servidor/OS/SGBD.

Portanto, ao mesmo colega, sugiro que utilize dois storages, cada
servidor conectado num deles, e uma das soluções de replicação
(hot/warm-standby no PostgreSQL, DRBD, Slony, Rubyrep, Londiste, etc)
o que garantiria alta disponibilidade inclusive do sub-sistema de
armazenamento.


[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a