Discos & Cia em PostgreSQL

download Discos & Cia em PostgreSQL

If you can't read please download the document

description

Tudo o que você queria saber sobre o uso de discos em servidores PostgreSQL mas tinha vergonha de perguntar

Transcript of Discos & Cia em PostgreSQL

  • 1. TudoquevocqueriasabersobreousodediscosemservidoresPostgreSQLetinhavergonhadeperguntarporFbioTellesRodriguez

2. Agenda Discos Controladoras Storage RAID SistemasdeArquivo Particionamento Exemplosprticos 3. Discos SATABaixodesempenho SCSISubstitudopeloSAS SASArmazenamentolocal FibreChannelUtilizadoemstorages SSDHotfiles! 4. DiscosCapacidade Latncia Custo / Custo / Tecnologia(GB)(s)IOPS IOPS (USD) GB (USD) Cloud Storage Ilimitado60.000 200,015/GB 0,15 / msHDs de altacapacidade2.500 12.000250 1,67 0,15HDs de alto desempenho 300 7.000 500 1,52 1,30 SSD (escrita)64 3005.000 0,2013SSD (leitura) 644530.0000,0313 DRAM80,005 500.0000,00152 Fonte: (Sun) Database performance tuning for SSD based storage 5. SolidStateDisks RAM: StoragescommemriasRAMconectadasporFC; Bateriasalimentamdiscosquegravamcontedoda RAMemcasodefaltadeenergia; 600.000IOPS!!! Flash: UsodeSLCFlash,algortimosespeciaiseoutras tcnicasparaaumentaravidatiledesempenho; 100.000IOPS!!! Flash+RAM 6. Controladorasoumelhor:HostBusAdapter(HBA) Discoslocais: SATA,SAS,SCSI Nmerodediscossuportados BufferdeleituraeBufferdeescrita BateriainternaXBateriaexterna SuporteaRAID Storage: ISCSI,FC,Infiniband Usodefabric Softwarep/loadbalanceefailover 7. Storage Suporteadiscos:SATA,SAS,SCSI,FC SuporteavriostiposdeRAID Suporteadiversasinterfaces:Infiniband,FC,iSCSI Buffergerencivelde2GBa256GB Bateriasconfiveis Softwareparatuning,snapshot,gerencimento,etc Redundnciadecontroladoras,discos,HBAs,fontes,baterias,ventoinhas,etc; 8. RAID RedundantArrayofIndependentDrives JBOD(justabonchofdisks) RAID0(strip) RAID1(mirror) RAID2,RAID3,RAID4 RAID5(paridadedistribuda) RAID6(paridadedupladistribuda) RAID10(strip+mirror) 9. RAID1 300 2x 1X Baixo Discos: 4x 300GB (sem hot spare)Tipo Espao (GB) Leitura Gravao Risco5900 3x1,5X Mdio6600 2x1,5X Baixo 10600 2x 2xBaixo Discos: 8x 300GB (sem hot spare)Tipo Espao (GB) Leitura Gravao Risco5 2100 7x 3x Alto6 1800 6x 3xMdio 10 1200 4x 4xBaixo 10. SisemasdeArquivos Linux: EXT2,EXT3,EXT4,XFS,ReiserFS FreeBSD: UFS2 Solaris: UFS2,ZFS Windows FAT,NTFS 11. SistemasdeArquivos Desempenho: Testesc/pgbench(emlinux): $pgbenchi1000testedb $pgbenchc100T3600 EXT2>>XFS>EXT4>EXT3>ReiserFS Segurana EXT4=EXT3=XFS>ReixerFS>>EXT2 12. Particionamento Porquseparardiferentestiposdearquivos? Desempenho; Segurana; Facilidadedeadministrao. Ambientescrticosecomboamodeobradedicada:divisoagressiva; Ambientenocrticocommodeobraocasional:agrupamentoempoucasparties. 13. Particionamento SO:/boot,/var,/usr,/home,/tmp,/ swap; Logdetrasao:pg_xlog, mv /postgres/teste/pg_xlog/ /postgres ln -s /postgres/pg_xlog /postgres/teste/pg_xlog Aquivamento(postgresql.conf); archive_mode = on archive_command = 'cp "%p" /postgres/archive/"%f"' archive_timeout = 3600 Logsdeerroemonitoramento; http://www.postgresql.org/docs/current/static/runtimeconfiglogging.html#RUNTIMECONFIGLOGGINGWHERE Backuplocal; 14. Particionamento Tablespacestemporrio(postgresql.conf): temp_tablespaces = '/postgres/temp' Tablespacesportipoouuso(index,data,hist,OLTP,BI,etc) mkdir/postgres/data/postgres/index/postgres/old/postgres/rh CREATETABLESPACEdataLOCATION'/postgres/data'; CREATETABLESPACEdataLOCATION'/postgres/index'; CREATETABLESPACEdataLOCATION'/postgres/old'; CREATETABLESPACEdataOWNER'hr'LOCATION'/postgres/index' SETdefault_tablespace='/postgres' 15. Particionamento Oqueparticionar,oquesepararemdiscos/RAIDsdistintos? Dependedequantosdiscos,RAIDsvoctem disponvel; Dependedamodeobradisponvel; Dependedoperfildacargadaaplicao; Dependedovolumeetipodedadosdaaplicao; 16. Exemplosprticos Caso 1 - Ambiente Basede50GB; Aplicaocom50usurios,cargamistadeOLTPerelatrios; SemDBAdedicado; Baixopoderdeinvestimento; Ambientenocrtico; Discos:2discosSAS300GB. 17. Exemplosprticos Caso 1 - Sugesto RAID1; /boot(100MB) /(40GB) /postgres(dados)(120GB) /backup(backup)(120GB) swap(4GB) 18. Exemplosprticos Caso 2 - Ambiente Basede10GB; AplicaoWebcommilharesdeacessossimultneos; AdministradordesistemamonitoraoPostgreSQLcomfrequncia; Disponibilidadeedesempenhocrticos; Discos:5discosSAS300GB. 19. Exemplosprticos Caso 2 - Sugesto 1RAID1; /boot(100MB) /(50GB) /postgres/pg_xlog(20GB) /backup(backup)(200GB) swap(8GB) 2RAID1+HotSpare /postgres/data(300GB) 20. Exemplosprticos Caso 3 - Ambiente ERPc/250GB: OLTPc/500usuriossimultneos; Relatriospesadosdefechamentomensal; Cargasemlotedirias; DBA+Sysadmin; Disponibilidade+perdadedados+desempenhocrticos; Discos:12discosSAS300GB. 21. ExemplosprticosCaso 3 - Sugesto RAID1+hotspare/15Krpm: /boot(100MB); /(20GB); /var(20GB); /postgres/pg_xlog(50GB) swap(8GB) 22. Exemplosprticos Caso 3 Sugesto (continuao) RAID10c/4discos(10Krpm): /postgres/archive(200GB); /postgres/backup(400GB); RAID4c/4discos+hotspare/15Krpm: /postgres/data(600GB); 23. Exemplosprticos Caso 4 Ambiente OLAP+DataMining(1TB) Cargaspesadasnoite; Poucosusuriosrealizandoconsultascomplexas; Desempenhocrtico; DBAeSysadminc/nvelsnior; 3discoslocais:SAS300GB10Krpm 12discosemstorage:FC146GB15Krpm 6discosemstorage:SAS300GB10Krpm 24. Exemplosprticos Caso 4 Sugesto RAID1+HotSparelocal /boot(100MB) /(50GB) /var(50GB) /postgresql/pg_xlog(200GB)EXT3c/noatime swap(16GB) 25. Exemplosprticos Caso 4 Sugesto (continuao) RAID5c/5discosSAS10Krpm+hotspare: /postgresql/data/old(800GB)XFS /postgresql/archive(400GB)EXT3c/noatime+writeback RAID0c/3discosFC15KrpmStorage: /postgresql/data/temp(226GB)EXT2 RAID10c/8discosFC15Krpm+hotspare: /postgresql/data/new(568GB)XFSc/noatime 26. Obrigado! Perguntas,Sugestesecervejas! Contatos: [email protected] gtalk/msn/mail:[email protected] Skype:fabio_telles http://www.midstorm.org.br