Você está na página 1de 20

PostgreSQL em alta disponibilidade: Parte 1.

5- usando sistema de arquivos GlusterFS

- Escopo Este estudo analisar e avaliar tecnologias para alta disponibilidade de servidor de banco de dados PostgreSQL, com nfase em preservao da escalabilidade de porte e carga e viabilidade de distribuio geogrfica. Sempre ue poss!vel, buscar manter compatibilidade com tecnologias de alto desempen"o.

- #b$etivos e crit%rios Simplificao da infraestrutura de alta disponibilidade, eliminao de SP#& e gargalos, mantendo escalabilidade, com reduo de custos, menor comple'idade de administrao e maior fle'ibilidade para diferentes cenrios de carga e porte, mantendo a m'ima transparncia para sgbd e aplica(es. Estudaremos conceitos ue se$am aplicveis sobre e uipamentos desde os mais singelos at% o estado da arte.

- )ustificativa * parte mais frgil da infraestrutura, em +,,-, % o sistema de arma.enamento de dados. *tualmente, as mem/rias de massa mais viveis para grandes volumes de dados ainda so os discos r!gidos magn%ticos. Em algumas implanta(es, visando alto desempen"o, partes dos dados ou dos ar uivos de trabal"o do sgbd podem ser arma.enados em ainda caros discos de estado s/lido 0SS12. 1os mais simples discos 31E de bai'a velocidade at% velo.es unidades S*S internas aos S*4, todos sofrem com as ma.elas dos desgastes mec5nicos e ta'as de fal"as agravadas pela temperatura e at% mesmo ru!do sonoro. So o elo mais fraco da corrente de disponibilidade. Para se alcanar n!veis de disponibilidade maiores, % necessrio pensar em loca(es diversificadas geograficamente para os centros de dados.

- 6enrio 7m servidor e'ecutando o sgbd Postgres l, acessando ar uivos distribu!dos transparentemente, montados em modo local em seu ponto de vista. Sem altera(es na aplicao ou no sgbd. 4a futura parte +, estudaremos a alta disponibilidade do pr/prio engine sgbd, com balanceamento de carga e failover automtico usando S l8ela9 e geograficamente distribu!da replicao de dados, usando :ucardo. * soluo con$unta ;luster&S, S l8ela9 e :ucardo apresenta a maior transparncia con"ecida no momento para as aplica(es, escalabilidade, disponibilidade, menor custo e comple'idade administrativa. Lembrar ue uma das pr/'imas vers(es do Postgres l dever incorporar a soluo nativa de replicao Postgres-8.

- *r uitetura Estudaremos a abordagem com sistema de ar uivos compartil"ado, em leitura e escrita, e distribu!do. Essencial ter loc<s coordenados e conformidade P#S3=. Ser usado espel"amento com failover automtico. Ser usado balanceamento de carga round-robin, o mais simples dos disponibili.ados. Sendo um sgbd >nico 0e na parte + um grupo finito e con"ecido2, para eliminar os SP#& e gargalos, o espel"amento e failover % feito no cliente do fs 0no caso, o "ost do sgbd2. ?oda a infra estrutura f!sica e l/gica de rede e arma.enamento pode ser redundante e tolerante a fal"as 0espel"amento, stripping, m>ltiplas fontes de alimentao, etc2, com m>ltiplas interfaces de rede e m>ltiplos discos f!sicos em cada servidor.

#s servidores de files9stem podem estar dispersos geograficamente, limitados em desempen"o pela velocidade de rede. * tecnologia de rede adotada ser tcp@ip sobre et"ernet, entre as disponibili.adas. # sistema de ar uivos nativo dos servidores ser o e'tA, adotando $ournaling de metadados BEB dados em um deles, para avalia(es. 4o abordaremos tunings de sistema de ar uivos nativos, sgbd ou <ernel e rede, adotando os defaults do 1ebian. 6onfigura(es de cluster para confiabilidade e disponibilidade em primeiro lugar, sem impedir futuro desempen"o. 6uidados com split brain.

- Por ue ;luster&SC Der artigos anteriores sobre virtuali.ao e cluster em 1ebian publicado em +,,E. "ttpF@@GGG.tec"force.com.br@inde'.p"p@neGs@linu'Hblog@virtuali.acaoHeHservicoH deHar uivosHemHclusterH"aHcomHdebianHetc"HparteHI "ttpF@@GGG.tec"force.com.br@inde'.p"p@neGs@linu'Hblog@redH"atHclusterHsuiteHde bianHetc" &ull P#S3=. Simplicidade e eleg5ncia eficiente e efica.. Sem reinventar a roda. 7sa atributos e'tendidos no sistema de ar uivos nativo ue for escol"ido. 4o escreve, manda o fs escrever. &le'ibilidade total de configurao para diferentes cenrios. Jodular. Escalvel. 4o e'ige "ardGare especial.

Pode ser configurado para no ter gargalos nem SP#&. Pode ser configurado para diversos cenrios de confiabilidade, disponibilidade, desempen"o, escalabilidade, comple'idade, transparncia. Pode usar rede especial de muito alta velocidade. :ai'!ssimo consumo de recursos da m uina "ospedeira. Sem modifica(es de <ernel 0estabilidade e segurana2. #pera em user space. ?rfego pass!vel de fireGalling. Self "ealing ra.oavelmente automati.ado. Drios protocolos de comunicao. *inda mais poss!veis, dependendo da ar uitetura de implantao 0iS6S3, 4&S, SJ:...2.

- 6ontras Jaturidade em pe uena variedade de cenrios. Jas $ " uma boa massa de usurios ue aponta obscuros bugs em cenrios diversos. Evoluo bastante rpida. Jigrao da I.' para +.' e'ige bac<up, reimplementao, restore. Sem automao. 4a verso +.' e'iste possibilidade de soluo automati.ada de split-brain, mas % perigosa por assumir um bric< como referncia SEJP8E. Jel"or adotar manual a menos ue "a$a um bric< com "ardGare ultra confivel.

- *valia(es comparativas Partindo do estudo publicado em +,,E, ainda "o$e con"ecemos apenas ;luster&S, ;&S, ;&S+ e #6&S+ como full P#S3=. * variedade de cenrios aplicveis de ;&S e #6&S+ % limitada e m!nima fle'ibilidade. ;&S+ % considerado imaturo pela 8ed Kat. *lta comple'idade, e'igem "ardGares especiais para alcanar funcionalidade failover correta. E'igem recursos de cpu e intenso trfego, e'igindo redes pr/prias de alta velocidade e boas cpu. Precisam m/dulos de <ernel, arriscando instabilidade e dificultando updates e upgrades. 3mplantao e administrao comple'a. 3nfle'ibilidade para variados cenrios. 6omple'o conseguir sem SP#&. 3mplantao e administrao. 4o escalveis. 8einventam a roda, dispendiosamente.

- Prova de conceito ?udo 1ebian Lenn9 L., e Pg M.A defaults. KardGare modesto, obsoleto. bric<IF Pentium 333 -NN, +LN J: ram, discos 31E, parti(es I,;:, rede I,, J:@s. bric<+F DJ Dirtual:o', com +LN J: ram, disco virtual e'tA sobre e'tA com $ournaling total. "ost sgbdF PO , I;: ram, disco sata, rede I,, Jb@s

- 8esultados ;luster&S I.A.E modo nfs-li<e 0por%m mais simples2 sobre e'tA normalF I+ J:@s. EL ?PS pgbenc" ?P6-: sem recone'o. modo afr com cac"esF L J:@s 0e'tA $ournal total e virtual2 M J:@s 0e'tA $ournal normal2 +I ?PS pgbenc" ?P6-: sem recone'o I ?PS pgbenc" ?P6-: com recone'o. +P cpu no bric<I ILP cpu no bric<+ rede I,,P ocupada disco 0cpu Gait states2 menor ue MP no bric<I e menor ue ALP no bric<+ em scp. disco 0cpu Gait states2 menor ue AP no bric<I e menor ue MP no bric<+ em pgbenc".

- 8esultados ;luster&S +.,.I modo nfs-li<e 0por%m mais simples2 sobre e'tA normalF N,A J:@s. IAL ?PS pgbenc" ?P6-: sem recone'o. modo afr com cac"esF L,L J:@s 0e'tA $ournal normal2 EA ?PS pgbenc" ?P6-: sem recone'o LP cpu no bric<I I,P cpu no bric<+ rede I,,P ocupada disco 0cpu Gait states2 menor ue OP no bric<I e menor ue LP no bric<+ em scp. disco 0cpu Gait states2 menor ue OP no bric<I e menor ue OP no bric<+ em pgbenc".

- Potenciais Simplificao da ar uitetura de alta disponibilidade. *s possibilidades de failover, escalabilidade, desempen"o, ficam preservadas. * partir de "ardGares obsoletos $ % poss!vel ter um cluster.

"ttpF@@Gi<i.debian.org@Q"91ebian&or1evelopers "ttpF@@Gi<i.debian.org@1ebian&or4on6oder6ontributors "ttpF@@Gi<i.debian.org@P<gSplit

*ndr% &elipe Jac"ado Randremac"adoStec"force.com.brT "ttpF@@GGG.tec"force.com.br Este te'to % licenciado segundo 6reative 6ommons *tribuio-7so 4o-6omercial-6ompartil"amento pela mesma licena +.L :rasil "ttpF@@creativecommons.org@licenses@b9-nc-sa@+.L@br@ ,Iout+,,-

Você também pode gostar