Montando seu DataCenter Pessoal

36
1 / 36 Montando seu DataCenter Pessoal Fernando Massen 17 de agosto de 2008

Transcript of Montando seu DataCenter Pessoal

Page 1: Montando seu DataCenter Pessoal

1 / 36

Montando seu DataCenter Pessoal

Fernando Massen

17 de agosto de 2008

Page 2: Montando seu DataCenter Pessoal

Motivacoes

Motivacoes

Vida DigitalModerna

Backups

Motivacao Pessoal

Motivacao Pessoal(cont.)

Backend

Ideias

Recursos

Final

2 / 36

Page 3: Montando seu DataCenter Pessoal

Vida Digital Moderna

Motivacoes

Vida DigitalModerna

Backups

Motivacao Pessoal

Motivacao Pessoal(cont.)

Backend

Ideias

Recursos

Final

3 / 36

■ Textos (documentos, HTML, texto puro,documentacoes, PDFs)

■ Fotos (digitalizadas, digitais, “interessantes”)■ Vıdeos■ Bancos de dados sobre as coisas acima■ Alem do armazenamento, tem o problema da exibicao

e disponibilidade

Page 4: Montando seu DataCenter Pessoal

Backups

Motivacoes

Vida DigitalModerna

Backups

Motivacao Pessoal

Motivacao Pessoal(cont.)

Backend

Ideias

Recursos

Final

4 / 36

■ Gravar num disco so significa nao ter dados■ Redundancia tambem so conta quando se tem pelo

menos duas copias alem do original■ Ha necessidade de indexacao dos backups ja

realizados, para nao perder tempo restaurandoquando o “queimao”/inundacao vier

■ De preferencia, ha uma certa necessidade dedistribuicao geografica das copias de seguranca.

■ Tudo isso depende do quanto voce valoriza os dados■ Ha uma ilusao de que quanto maior o disco rıgido

(por ser mais moderno) mais coisas cabemimpunemente nele.

Page 5: Montando seu DataCenter Pessoal

Motivacao Pessoal

Motivacoes

Vida DigitalModerna

Backups

Motivacao Pessoal

Motivacao Pessoal(cont.)

Backend

Ideias

Recursos

Final

5 / 36

■ O PowerMac G3 que era minha maquina principal jaestava comecando a ficar pesado como servidor dearquivos e Internet para outros usuarios (tinha 4usuarios, ja!). Alem disso, as gambiarras para fazer oOS X funcionar como servidor ja estavam consumindomuito meu tempo

■ Minha colecao de computadores comecou a ficargrande demais: boa oportunidade de organizar a redede forma funcional e que trouxesse maior utilidade

■ Laboratorio para testes

Page 6: Montando seu DataCenter Pessoal

Motivacao Pessoal (cont.)

Motivacoes

Vida DigitalModerna

Backups

Motivacao Pessoal

Motivacao Pessoal(cont.)

Backend

Ideias

Recursos

Final

6 / 36

■ Utilizar um ambiente neutro de forma a nao se fixarem um unico fornecedor de hardware ou sistemaoperacional

■ Guardar todas as tralhas e bugigangas digitais deforma organizada e facil de pesquisar

■ Disponibilizar um ambiente que resista a mudancas(fısicas, de topologia, de equipamento, de sistemaoperacional, de humor)

■ So o software aberto permite essa maleabilidade.Provavelmente sera assim no futuro tambem

Page 7: Montando seu DataCenter Pessoal

Backend

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

7 / 36

Page 8: Montando seu DataCenter Pessoal

Servicos Interessantes (ehh... indispensaveis)

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

8 / 36

■ FTP■ HTTP (Apache) + WebDAV + PHP + mod python

+ mod perl■ Tomcat + conector Apache■ PostgreSQL e/ou MySQL + servico de gerencia via

Web■ LDAP■ CUPS (impressao)■ SANE (scanner)■ DNS■ DHCP■ PPPoE para ADSL■ SAMBA, NFS, SSHfs

Page 9: Montando seu DataCenter Pessoal

Compartilhando arquivos

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

9 / 36

Do mais ubıquo ao menos ubıquo, por sistema:

■ SMB (Windows, Linux, OpenSolaris, MacOS)■ NFS (Qualquer Unix-like, para servir incluindo o

Windows)■ SSHfs (Linux, FreeBSD, MacOS)■ WebDAV (Linux, MacOS, Windows)■ FTP (qualquer coisa, mas so se for extremamente

necessario)

Page 10: Montando seu DataCenter Pessoal

Sistema Operacional

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

10 / 36

■ A escolha de sistema operacional vai realmente aogosto e a vontade de aprender do administradorcaseiro

■ Em todas as sugestoes que citarei os sistemas saocapazes de realizar as funcoes que eu sugiro eimplementar o backend de servicos do slide anterior

■ Em ordem de popularidade / dificuldade de encontrardocumentacao: Linux ¿ FreeBSD ¿ OpenBSD ¿ MacOS X ¿ Solaris

Page 11: Montando seu DataCenter Pessoal

Linux

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

11 / 36

■ Obviamente o mais conhecido■ O que tera documentacao mais farta e completa, com

certas diferencas para cada distribuicao■ Dentre os Linux, sempre optei pelo Slackware, por vir

sem muitos enfeites e modificacoes na forma de rodaros servicos (e sem muitas polıticas de uso, tambem)

■ Alguns servicos so rodam em Linux, ou rodam maisfacilmente neste

■ Algumas coisas que interagiam com o hardware, comoo PPPoE, se mostraram extremamente difıceis etediosas de se configurar. De resto, foi realmentetranquilo

■ A performance e fantastica■ Comparado com o PF do FreeBSD/OpenBSD, tive

que gastar muito mais tempo para deixar a maquinasegura como queria

■ Por questoes de preferencia pessoal, uso sempre XFS

Page 12: Montando seu DataCenter Pessoal

FreeBSD

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

12 / 36

■ Voltado para servidores de rede■ Bem-documentado, com pontos positivos para a

documentacao ser centralizada■ Achei o mais facil de configurar entre os sistemas que

eu utilizei, principalmente por causa da documentacao

■ A performance tambem e excelente■ Tem algumas idiossincrasias na configuracao, mas sao

faceis de se adaptar; o sistema de logging e maisespecıfico na hora de resolver problemas

Page 13: Montando seu DataCenter Pessoal

OpenBSD

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

13 / 36

■ Voltado para seguranca e servidores■ Documentacao sucinta e sempre correta■ Com menos features do que o Linux ou FreeBSD,

mas a simplicidade e a falta de constante manutencaocompensa

■ O aspecto seguranca esta evidente em todos osdetalhes

■ O que tem a pior performance de disco entre todos ossistemas utilizados; a parte boa e a integridade dosdados

■ A configuracao exige uma certa curva de aprendizado,mas ela so e galgada uma vez; dificilmente algomuda no OpenBSD de forma a necessitar umreaprendizado

Page 14: Montando seu DataCenter Pessoal

OpenSolaris

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

14 / 36

■ E o mesmo Solaris de sempre, com algumas coisas amenos (que nao fazem muita falta, a nao sersaudosistas como eu)

■ Tem uma userland ancia, embora projetos como oNexenta (Ubuntu + OpenSolaris) mudam essaperspectiva

■ E o mais obscuro em termos de documentacao econfiguracao, e nem sempre a documentacao que seencontra por aı fala a verdade; o melhor ainda e adocumentacao oficial da Sun

■ A estabilidade e boa, mas nao conversa muito bemcom PPPoE e nao tem suporte a certos gadgets USB,assim como Bluetooth; dos sistemas testados, e o quetem pior suporte a hardware (no sentido de escassez,nao no sentido de features em hardware suportado)

Page 15: Montando seu DataCenter Pessoal

OpenSolaris

Motivacoes

BackendServicosInteressantes (ehh...indispensaveis)

Compartilhandoarquivos

Sistema Operacional

Linux

FreeBSD

OpenBSD

OpenSolaris

OpenSolaris

Ideias

Recursos

Final

15 / 36

■ Coisas como o ZFS, Zones fazem com que vale apena testar o sistema

■ O sistema de firewalling e parecido com o PF dosBSDs

■ Se voce comprar um hardware Sun mais antigo, vaiter que aprender o Solaris na marra caso resolvacontinuar com ele na maquina

Page 16: Montando seu DataCenter Pessoal

Ideias

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

16 / 36

Page 17: Montando seu DataCenter Pessoal

Sistema de Backup Automatizado

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

17 / 36

■ Rsync■ Cron■ Base do comando: time rsync -tubrvv

--backup-dir=/backupdir/$TIME origem

destino

Page 18: Montando seu DataCenter Pessoal

ZFS

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

18 / 36

■ Maquina dedicada para ZFS■ Varios discos■ Set-up incrivelmente facil■ Administracao incrivelmente facil, quase automatica■ Raid X, mirrors, backups, tudo muito facil de se fazer

Page 19: Montando seu DataCenter Pessoal

Webcam / TV

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

19 / 36

■ Fotos em momentos aleatorios■ Seguranca■ Deteccao de movimento■ MythTV no servidor!■ Funciona melhor com Linux

Page 20: Montando seu DataCenter Pessoal

Banco de Dados de Conteudo

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

20 / 36

■ Indexar o conteudo em DVDs e CDs■ Criar previas■ Armazenar em BDs■ Fazer aplicativo Web para consultas

Page 21: Montando seu DataCenter Pessoal

Streamer

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

21 / 36

■ Filmes ficam no HD■ Escolhe-se um software de streaming■ (muita dor-de-cabeca)■ Profit!■ Tente achar uma placa BT878, facilita bastante■ A mesma ideia se aplica para sua colecao de musicas

Page 22: Montando seu DataCenter Pessoal

Controle de versao

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

22 / 36

■ Com git, cvs, subversion, etc.■ Controle as configuracoes do seu servidor■ Controle seu diretorio $HOME com controle de versao

■ Instale o viewvc para navegar nos arquivos-fonte■ Instale o statcvs para gerar estatısticas sobre os

arquivos-fonte

Page 23: Montando seu DataCenter Pessoal

Mails

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

23 / 36

■ Versione os seus e-mails (se forem em .mbox fica maisfacil)

■ Com os e-mails versionados voce pode rodar omhonarc nas suas mboxes e partir para a proximasugestao...

■ Listas de discussao (util para condomınios)■ E-mails de alerta (falhas de hardware, reboots

inesperados, trocas de IP); use o twitter tambem!■ Baixar e-mails do GMail localmente, para evitar de

depender do Google

Page 24: Montando seu DataCenter Pessoal

Mini-Google

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

24 / 36

■ Baixar meio-mundo atraves do wget

■ Deixar todos os HTMLs baixados atraves de umdiretorio acessıvel via Apache

■ Utilizar o ht.dig para indexar■ Profit!■ Aplica-se a PDFs tambem, se configurado

corretamente

Page 25: Montando seu DataCenter Pessoal

Cache de HTML

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

25 / 36

■ Instale o squid e bloqueie os seus sites nao-preferidos■ Economiza banda e acelera o acesso■ Gere estatısticas de acesso ao seu apache e ao squid

com o Webalizer

Page 26: Montando seu DataCenter Pessoal

Bugzilla / Trac

Motivacoes

Backend

IdeiasSistema de BackupAutomatizado

ZFS

Webcam / TV

Banco de Dados deConteudo

Streamer

Controle de versao

Mails

Mini-Google

Cache de HTML

Bugzilla / Trac

Recursos

Final

26 / 36

■ Para controlar as tarefas relacionadas ao datacenter■ Tambem serve como lista de atividades■ Gera informacoes para o e-mail local

Page 27: Montando seu DataCenter Pessoal

Recursos

Motivacoes

Backend

Ideias

RecursosConsumo deRecursosEquacao deFernando paraPossibilidade DeMontar Datacentersem Casa

Exemplo facil

Exemplo com umpouco desofisticacao

Exemplo sofisticado

Perto do Ideal

Final

27 / 36

Page 28: Montando seu DataCenter Pessoal

Consumo de Recursos

Motivacoes

Backend

Ideias

RecursosConsumo deRecursosEquacao deFernando paraPossibilidade DeMontar Datacentersem Casa

Exemplo facil

Exemplo com umpouco desofisticacao

Exemplo sofisticado

Perto do Ideal

Final

28 / 36

■ Tempo■ Dinheiro (a.k.a. limitador de prazeres)■ Espaco■ Tres fatores em funcao da vontade de aprender■ Os itens a seguir sao quase cientıficos. Calculei os

precos conforme o que encontrei a venda nosarredores de Porto Alegre, nao procurando beneficiarnenhum fabricante ou loja

■ Vale a pena dizer que, como o assunto e amplo, tudoe uma questao de sugestao; nao ha leis a seremseguidas, somente o bom senso

Page 29: Montando seu DataCenter Pessoal

Equacao de Fernando para Possibilidade De MontarDatacenters em Casa

Motivacoes

Backend

Ideias

RecursosConsumo deRecursosEquacao deFernando paraPossibilidade DeMontar Datacentersem Casa

Exemplo facil

Exemplo com umpouco desofisticacao

Exemplo sofisticado

Perto do Ideal

Final

29 / 36

dc = (t + d + e) ∗ va

vm

■ dc → datacenter■ t → tempo■ d → dinheiro■ e → espaco■ va → vontade de aprender■ vm → vontade da mulher de deixar voce baguncar a

casa

Page 30: Montando seu DataCenter Pessoal

Exemplo facil

Motivacoes

Backend

Ideias

RecursosConsumo deRecursosEquacao deFernando paraPossibilidade DeMontar Datacentersem Casa

Exemplo facil

Exemplo com umpouco desofisticacao

Exemplo sofisticado

Perto do Ideal

Final

30 / 36

■ Micro de R$ 500 de supermercado■ Monitor opcional, so necessario durante a instalacao;

vem com gravador de CD, pelo menos■ Um switch de rede fundo-de-quintal + cabos por

menos de R$ 100■ Ubuntu Server■ Benefıcios imediatos: servidor de arquivos, grava CDs,

permite a colocacao de um banco de dados e PHPsem esforco

■ Vai falhar em um ano; pense R$ 20 por mes paraefetuar backups

■ Se der tudo certo, gastara ao todo de tempo com omicro em torno de 12 horas por ano

■ Vai gastar luz enquanto voce o estiver utilizando.

Page 31: Montando seu DataCenter Pessoal

Exemplo com um pouco de sofisticacao

Motivacoes

Backend

Ideias

RecursosConsumo deRecursosEquacao deFernando paraPossibilidade DeMontar Datacentersem Casa

Exemplo facil

Exemplo com umpouco desofisticacao

Exemplo sofisticado

Perto do Ideal

Final

31 / 36

■ Micro de R$ 1.200 de um fabricante■ Monitor opcional, mas vem com gravador de DVD e

um disco maior■ Acessa ADSL e compartilha, digamos, com seu laptop■ Poe-se aı mais uns R$ 300 num Access Point■ Voce vai gastar mais com backups e com gravacao de

DVDs; provavelmente outro disco depois de mais umtempo. Imagine o dobro dos R$ 20 do exemploanterior

■ Wi-Fi, NAT exige um pouco mais de dedicacao;monitorar a conexao tambem.

■ O gasto com energia eletrica (ja que ficara ligadotodo o tempo) aumenta pelo menos R$ 15 a mais naconta. Uma maquina economica ou nao-x86 podetornar o gasto negligıvel

■ Algumas vezes por semana voce tera de verificar seesta tudo em dia. Calcule pelo menos meia hora porsemana.

Page 32: Montando seu DataCenter Pessoal

Exemplo sofisticado

Motivacoes

Backend

Ideias

RecursosConsumo deRecursosEquacao deFernando paraPossibilidade DeMontar Datacentersem Casa

Exemplo facil

Exemplo com umpouco desofisticacao

Exemplo sofisticado

Perto do Ideal

Final

32 / 36

■ Micro de R$ 2.500 de um fabricante ou personalizado■ Acessa ADSL, monitora seguranca

personalizadamente, possui varios servicos de rede.■ Fornece aplicacoes customizadas, testes do que voce

faz no trabalho, arquivos, tem automacoes, serveimpressao, e-mail, etc.

■ O gasto de hardware excedente (alem da propriamaquina) e ligeiramente maior, porque haverao maisdiscos, e quanto mais discos, maior e o nıvel de falha.

■ O maior gasto sera de tempo. Quando uma falhaocorrer, ja que estamos tratando com hardwareoff-the-shelf, voce tera que descobrir o problema eser capaz de arrumar. A partir de um certo momento,fica complicado passar o conserto do seu set-upadiante.

Page 33: Montando seu DataCenter Pessoal

Perto do Ideal

Motivacoes

Backend

Ideias

RecursosConsumo deRecursosEquacao deFernando paraPossibilidade DeMontar Datacentersem Casa

Exemplo facil

Exemplo com umpouco desofisticacao

Exemplo sofisticado

Perto do Ideal

Final

33 / 36

■ Hardware dedicado para a conexao de internet (pelomenos R$ 500)

■ Hardware dedicado para armazenamento de dados(pelo menos R$ 2.000)

■ Redundancia de discos; pelo menos 1 TB dearmazenamento com redundancia; discos confiaveispassam a custar pelo menos R$ 2.000 por terabyte

■ Hardware de processamento mais sofisticado, comvarios processadores, memorias de maior qualidade,fontes redundantes; maquinas assim comecam acustar a partir de R$ 5.000

■ Dependendo do que voce fizer, voce comeca adescobrir caracterısticas avancadas do Linux, ou partepara outros sistemas operacionais que possuem essascaracterısticas

■ Gastando mais que R$ 30 de energia eletrica por mes

Page 34: Montando seu DataCenter Pessoal

Final

Motivacoes

Backend

Ideias

Recursos

Final

Meu set-up

Questoes?

34 / 36

Page 35: Montando seu DataCenter Pessoal

Meu set-up

Motivacoes

Backend

Ideias

Recursos

Final

Meu set-up

Questoes?

35 / 36

■ Domınio: ap704■ inferno: Celeron D 2.6 Ghz, 712 Mb RAM, NAT,

DNS, DHCP, POP3, WWW (...), ao todo 1TB+ dedisco contando o espelhamento

■ rio: PPC G3 450 Mhz, 160 Gb de disco, para backupse escrever

■ sam: Mac Mini G4 1.2, ligado na TV, lendo arquivosda rede via sshfs

■ Diversos clientes: x86, sparc, PPC, com mirroring deconteudo e backups distribuıdos

Page 36: Montando seu DataCenter Pessoal

Questoes?

Motivacoes

Backend

Ideias

Recursos

Final

Meu set-up

Questoes?

36 / 36

[email protected]://juliobiason.net/ferhr