Post on 22-May-2015
1 / 36
Montando seu DataCenter Pessoal
Fernando Massen
17 de agosto de 2008
Motivacoes
Motivacoes
Vida DigitalModerna
Backups
Motivacao Pessoal
Motivacao Pessoal(cont.)
Backend
Ideias
Recursos
Final
2 / 36
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
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.
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
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
Backend
Motivacoes
BackendServicosInteressantes (ehh...indispensaveis)
Compartilhandoarquivos
Sistema Operacional
Linux
FreeBSD
OpenBSD
OpenSolaris
OpenSolaris
Ideias
Recursos
Final
7 / 36
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
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)
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
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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.
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.
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
Final
Motivacoes
Backend
Ideias
Recursos
Final
Meu set-up
Questoes?
34 / 36
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
Questoes?
Motivacoes
Backend
Ideias
Recursos
Final
Meu set-up
Questoes?
36 / 36
Obrigado.plan9ner@gmail.comhttp://juliobiason.net/ferhr