>> > 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