Você está na página 1de 26

Tudoquevocqueriasabersobreo usodediscosemservidores PostgreSQLetinhavergonhade perguntar

porFbioTellesRodriguez

Agenda

Discos Controladoras Storage RAID SistemasdeArquivo Particionamento Exemplosprticos

Discos

SATABaixodesempenho SCSISubstitudopeloSAS SASArmazenamentolocal FibreChannelUtilizadoemstorages SSDHotfiles!

Discos
Capacidade Latncia Custo / Custo / Tecnologia (GB) (s) IOPS IOPS (USD) GB (USD) Cloud Storage Ilimitado 60.000 20 0,015/GB 0,15 / ms HDs de alta capacidade 2.500 12.000 250 1,67 0,15 HDs de alto desempenho 300 7.000 500 1,52 1,30 SSD (escrita) 64 300 5.000 0,20 13 SSD (leitura) 64 45 30.000 0,03 13 DRAM 8 0,005 500.000 0,001 52
Fonte: (Sun) Database performance tuning for SSD based storage

SolidStateDisks

RAM:

StoragescommemriasRAMconectadasporFC; Bateriasalimentamdiscosquegravamcontedoda RAMemcasodefaltadeenergia; 600.000IOPS!!! UsodeSLCFlash,algortimosespeciaiseoutras tcnicasparaaumentaravidatiledesempenho; 100.000IOPS!!!

Flash:

Flash+RAM

Controladorasoumelhor: HostBusAdapter(HBA)

Discoslocais:

SATA,SAS,SCSI

Nmerodediscossuportados BufferdeleituraeBufferdeescrita BateriainternaXBateriaexterna SuporteaRAID

Storage:

ISCSI,FC,Infiniband

Usodefabric Softwarep/loadbalanceefailover

Storage

Suporteadiscos:SATA,SAS,SCSI,FC SuporteavriostiposdeRAID Suporteadiversasinterfaces:Infiniband,FC,iSCSI Buffergerencivelde2GBa256GB Bateriasconfiveis Softwareparatuning,snapshot,gerencimento,etc Redundnciadecontroladoras,discos,HBAs, fontes,baterias,ventoinhas,etc;


RAID
RedundantArrayofIndependentDrives

JBOD(justabonchofdisks) RAID0(strip) RAID1(mirror) RAID2,RAID3,RAID4 RAID5(paridadedistribuda) RAID6(paridadedupladistribuda) RAID10(strip+mirror)

300

2x

RAID
1X Gravao 1,5X 1,5X 2x Gravao 3x 3x 4x

Baixo Risco Mdio Baixo Baixo Risco Alto Mdio Baixo

Discos: 4x 300GB (sem hot spare)

Tipo Espao (GB) Leitura 5 900 3x 6 600 2x 10 600 2x


Discos: 8x 300GB (sem hot spare)

Tipo Espao (GB) Leitura 5 2100 7x 6 1800 6x 10 1200 4x

SisemasdeArquivos

Linux:

EXT2,EXT3,EXT4,XFS,ReiserFS UFS2 UFS2,ZFS FAT,NTFS


FreeBSD:

Solaris:

Windows

SistemasdeArquivos

Desempenho:

Testesc/pgbench(emlinux):

$pgbenchi1000testedb $pgbenchc100T3600

EXT2>>XFS>EXT4>EXT3>ReiserFS EXT4=EXT3=XFS>ReixerFS>>EXT2

Segurana

Particionamento

Porquseparardiferentestiposdearquivos?

Desempenho; Segurana; Facilidadedeadministrao.

Ambientescrticosecomboamodeobra dedicada:divisoagressiva; Ambientenocrticocommodeobraocasional: agrupamentoempoucasparties.

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


http://www.postgresql.org/docs/current/static/runtimeconfiglogging.html#RUNTIMECONFIGLOGGINGWHERE

Logsdeerroemonitoramento; Backuplocal;

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'

Particionamento

Oqueparticionar,oquesepararemdiscos/RAIDs distintos?

Dependedequantosdiscos,RAIDsvoctem disponvel; Dependedamodeobradisponvel; Dependedoperfildacargadaaplicao; Dependedovolumeetipodedadosdaaplicao;

Exemplosprticos
Caso 1 - Ambiente

Basede50GB; Aplicaocom50usurios,cargamistadeOLTPe relatrios; SemDBAdedicado; Baixopoderdeinvestimento; Ambientenocrtico; Discos:2discosSAS300GB.


Exemplosprticos
Caso 1 - Sugesto

RAID1;

/boot(100MB) /(40GB) /postgres(dados)(120GB) /backup(backup)(120GB) swap(4GB)

Exemplosprticos
Caso 2 - Ambiente

Basede10GB; AplicaoWebcommilharesdeacessos simultneos; AdministradordesistemamonitoraoPostgreSQL comfrequncia; Disponibilidadeedesempenhocrticos; Discos:5discosSAS300GB.


Exemplosprticos
Caso 2 - Sugesto

1RAID1;

/boot(100MB) /(50GB) /postgres/pg_xlog(20GB) /backup(backup)(200GB) swap(8GB) /postgres/data(300GB)


2RAID1+HotSpare

Exemplosprticos
Caso 3 - Ambiente

ERPc/250GB:

OLTPc/500usuriossimultneos; Relatriospesadosdefechamentomensal; Cargasemlotedirias;

DBA+Sysadmin; Disponibilidade+perdadedados+desempenho crticos; Discos:12discosSAS300GB.


Exemplosprticos
Caso 3 - Sugesto

RAID1+hotspare/15Krpm:

/boot(100MB); /(20GB); /var(20GB); /postgres/pg_xlog(50GB) swap(8GB)

Exemplosprticos
Caso 3 Sugesto (continuao)

RAID10c/4discos(10Krpm):

/postgres/archive(200GB); /postgres/backup(400GB); /postgres/data(600GB);

RAID4c/4discos+hotspare/15Krpm:

Exemplosprticos
Caso 4 Ambiente

OLAP+DataMining(1TB)

Cargaspesadasnoite; Poucosusuriosrealizandoconsultascomplexas;

Desempenhocrtico; DBAeSysadminc/nvelsnior;

3discoslocais:SAS300GB10Krpm 12discosemstorage:FC146GB15Krpm 6discosemstorage:SAS300GB10Krpm

Exemplosprticos
Caso 4 Sugesto

RAID1+HotSparelocal

/boot(100MB) /(50GB) /var(50GB) /postgresql/pg_xlog(200GB)EXT3c/noatime swap(16GB)

Exemplosprticos
Caso 4 Sugesto (continuao)

RAID5c/5discosSAS10Krpm+hotspare:

/postgresql/data/old(800GB)XFS /postgresql/archive(400GB)EXT3c/noatime+ writeback /postgresql/data/temp(226GB)EXT2 /postgresql/data/new(568GB)XFSc/noatime

RAID0c/3discosFC15KrpmStorage:

RAID10c/8discosFC15Krpm+hotspare:

Obrigado!

Perguntas,Sugestesecervejas! Contatos:

telles@timbira.com.br gtalk/msn/mail:fabio.telles@gmail.com Skype:fabio_telles http://www.midstorm.org.br