You are on page 1of 30

AUGUSTO CAMPOS p.

14
O aumento da complexidade o preo da expanso

MADDOG p.24
Migrao Windows para Linux

CEZAR TAURION p.26


Qual ser o futuro dos aplicativos de ERP?

MEDIALINX
# 102 Maio 2013

A REVISTA DO PROFISSIONAL DE TI
#44 07/08 R$ 13,90 7,50

CEZAR TAURION p.34 O Cdigo Aberto como incentivo inovao

Java, Ruby e Rails: conhea o JRuby on Rails p.74

Becape de bancos de dados com a Libferris p.46

LINUX PARK 2008 p.28 Iniciada em Porto Alegre a temporada de seminrios Linux Park de 2008

GOVERNANA COM

SEJA UM BOM GESTOR E UTILIZE AS MELHORES PRTICAS ADOTADAS E RECOMENDADAS PELOS PROFISSIONAIS MAIS EXPERIENTES NESSA REA p.36

CASE ALFRESCO p.26 A Construcap agilizou seus projetos com o Alfresco

A REVISTA DO PROFISSIONAL DE TI

LPI nvel 2: Servidores NIS e DHCP p.52

Relatrios do Squid com o SARG p.60

VEJA TAMBM NESTA EDIO:

Benchmarks do GCC 4.3? p.58

SEGURANA: DNSSEC p.69

O que dizem os prossionais certicados p.24

Cobit, CMMI, ITIL. Quais as melhores prticas? p.36

Novidades do ITIL v3. p.44

Com o DNSSEC, a resoluo de nomes ca protegida de ataques. Mas seu preo vale a pena?

SAMBA
CASE ALFRESCO p.26 A Construcap agilizou seus projetos com o Alfresco LINUX PARK 2008 p.28 Iniciada em Porto Alegre a temporada de seminrios Linux Park de 2008 CEZAR TAURION p.34 O Cdigo Aberto como incentivo inovao
#44 07/08 R$ 13,90 7,50

00044

A INTEROPERABILIDADE ENTRE SISTEMAS HETEROGNEOS DEIXOU DE SER UM PROBLEMA E PASSOU A SER A SOLUO DA INFRAESTRUTURA DE TI p.34
GOVERNANA COM
SEJA UM BOM GESTOR E UTILIZE AS MELHORES PRTICAS ADOTADAS E RECOMENDADAS PELOS PROFISSIONAIS MAIS EXPERIENTES NESSA REA p.36
O que dizem os prossionais certicados p.24 Cobit, CMMI, ITIL. Quais as melhores prticas? p.36 ITIL na prtica p.39 Novidades do ITIL v3. p.44
Com o DNSSEC, a resoluo de nomes ca protegida de ataques. Mas seu preo vale a pena?

A REVISTA DO PROFISSIONAL DE TI

Confira as novidades e melhorias do novo Samba 4 p.35


SEGURANA: DNSSEC p.69
VEJA TAMBM NESTA EDIO:
Relatrios do Squid com o SARG p.60 Java, Ruby e Rails: conhea o JRuby on Rails p.74 Benchmarks do GCC 4.3? p.58 Becape de bancos de dados com a Libferris p.46 LPI nvel 2: Servidores NIS e DHCP p.52

Poupe dinheiro utilizando Samba como controlador de domnio p.41


Conhea as vantagens da nova verso do Internet Protocol, e veja por que difcil adot-la
WWW.LINUXMAGAZINE.COM.BR

REDES: IPV6 p.64

Appliances SerNet para Samba 4 p.49

SEGURANA p.54

Solues para acesso remoto com autenticao de dois fatores

ANDROID p.68

Breve anlise do novo tablet da Google, Nexus 10 e suas mltiplas facetas.

ESSENCIAIS p.72

Aprenda a utilizar as mais diversas extenses para o protocolo legado IMAP4

VEJA TAMBM NESTA EDIO:


Como lidar com pacotes de cluster p.61 Otimize a organizao de dados em disco com Defragfs p.64 Gerenciamento de mquinas virtuais com Foreman e Puppet p.75

WWW.LINUXMAGAZINE.COM.BR

9 771806 942009

Conhea as vantagens da nova verso do Internet Protocol, e veja por que difcil adot-la

ITIL na prtica p.39

REDES: IPV6 p.64

WWW.LINUXMAGAZINE.COM.BR

9 771806 942009 00044

Expediente editorial
Diretor Geral Rafael Peregrino da Silva rperegrino@linuxmagazine.com.br Editores Flvia Jobstraibizer fjobs@linuxmagazine.com.br Laura Loenert Lopes llopes@linuxmagazine.com.br Editor de Arte Hunter Lucas Fonseca hfonseca@linuxnewmedia.com.br Colaboradores Alan Holt, Falko Benthin, Bruce Byfield, Rich Bowen, Thomas Drilling, Christian Pape, Trommer Ronny, Peter Schulik, Kurt Seifried, Zack Brown, Jon maddog Hall, Alexandre Borges, Cezar Taurion, Gilberto Magalhes, Klaus Knopper, Augusto Campos. Traduo Laura Loenert Lopes Reviso Flvia Jobstraibizer Editores internacionais Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, Hans-Georg Eer, Markus Feilner, Oliver Frommel, Marcel Hilzinger, Mathias Huber, Anika Kehrer, Kristian Kiling, Jan Kleinert, Daniel Kottmair, Thomas Leichtenstern, Jrg Luther, Nils Magnus. Anncios: Rafael Peregrino da Silva (Brasil) anuncios@linuxmagazine.com.br Tel.: +55 (0)11 3675-2600 Penny Wilby (Reino Unido e Irlanda) pwilby@linux-magazine.com Amy Phalen (Amrica do Norte) aphalen@linuxpromagazine.com Hubert Wiest (Outros pases) hwiest@linuxnewmedia.de

Zona de conforto
Uma das caractersticas bsicas do ser humano a predisposio inata a se manter no que se convencionou chamar de zona de conforto. algo que faz parte do instinto de preservao da espcie, e, decerto, tem uma raiz evolucionria marcante, pois serve para reduzir gastos desnecessrios de energia, o que, por sua vez, aumenta em geral nossas chances de sobrevivncia em perodos de escassez de recursos naturais, reduzindo, de quebra, o risco de exposio desnecessria a perigos desconhecidos. assim na natureza, assim na nossa vida social e, claro, no diferente no nosso modo de lidar com tecnologia. Exemplos no faltam: para quem se habituou a usar o Linux como ambiente de trabalho, com todos os seus recursos e facilidades, o uso do Windows o mais gritante deles. O escrevinhador destas linhas j se pronunciou reiteradas vezes burro demais para usar o Windows. Mas podemos ir mais longe: combinaes clssicas de tecnologia, como a associao da plataforma da Microsoft com os processadores de arquitetura x86 --- conhecida pelo jargo Wintel ---, fazem h anos as vezes do feijo com arroz no restaurante da computao, independentemente de essa ser sempre a melhor escolha. Do lado do servidor, por outro lado, a regra atualmente , no geral, uma combinao dos processadores da referida arquitetura com o Linux --- neste caso, j se fala em Lintel. No mundo da mobilidade, a combinao da vez entre Linux (na figura da distribuio Linux do Google, o Android) e os processadores de arquitetura ARM. Desta feita, o abandono tal zona de conforto precisa necessariamente estar aliado a um grande estmulo, seja ele financeiro ou social --- neste ltimo caso, o tal do fator coolness. E, quando esse estmulo simplesmente no aparece, muitas vezes oportunidades espetaculares acabam por ser desperdiadas. O profissional e o gestor de TI, bem como os prprios fabricantes de tecnologia, deveriam poder se despir de hbitos arraigados e buscar a soluo que fosse mais adequada para cada situao, ao invs de teimar em usar o velho martelo de sempre, mesmo quando s h parafusos disponveis. No cenrio atual da computao, considerando a mirade de sistemas disponveis, nos quais mesmo o hardware est se tornando livre, temos que aprender a avaliar caso a caso qual soluo entrega a melhor relao custo-benefcio, o menor aprisionamento a determinado fornecedor, a maior longevidade no mercado, as melhores condies de suporte e garantia, alm, claro, da disponibilidade de profissionais para lidar com a soluo. Ao fazer isso, seremos capazes de identificar algumas prolas esquecidas sobre a penteadeira da TI, que so capazes de fornecer um diferencial competitivo que vai fazer a diferena na hora de fechar aquele contrato junto ao cliente. Deixar o comodismo de lado e correr aquela milha extra so atitudes essenciais para o sucesso profissional em um terreno de concorrncia to acirrada como a TI de hoje. Oua quem tiver ouvidos para ouvir. n
Rafael Peregrino da Silva Diretor de Redao 3

EDITORIAL

Diretor de operaes Claudio Bazzoli cbazzoli@linuxmagazine.com.br Na Internet: www.linuxmagazine.com.br Brasil www.linux-magazin.de Alemanha www.linux-magazine.com Portal Mundial www.linuxmagazine.com.au Austrlia www.linux-magazine.es Espanha www.linux-magazine.pl Polnia www.linux-magazine.co.uk Reino Unido www.linuxpromagazine.com Amrica do Norte Apesar de todos os cuidados possveis terem sido tomados durante a produo desta revista, a editora no responsvel por eventuais imprecises nela contidas ou por consequncias que advenham de seu uso. A utilizao de qualquer material da revista ocorre por conta e risco do leitor. Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permisso expressa da editora. Assume-se que qualquer correspondncia recebida, tal como cartas, emails, faxes, fotografias, artigos e desenhos, sejam fornecidos para publicao ou licenciamento a terceiros de forma mundial no-exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux uma marca registrada de Linus Torvalds. Linux Magazine publicada mensalmente por: Linux New Media do Brasil Editora Ltda. Rua So Bento, 500 Conj. 802 S 01010-001 So Paulo SP Brasil Tel.: +55 (0)11 3675-2600 Direitos Autorais e Marcas Registradas 2004 - 2013: Linux New Media do Brasil Editora Ltda. Impresso e Acabamento: EGB Atendimento Assinante www.linuxnewmedia.com.br/atendimento So Paulo: +55 (0)11 3675-2600 Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 ISSN 1806-9428 Impresso no Brasil

Linux Magazine #102 | Maio de 2013

NDICE

CAPA
Vai dar Samba Muito aguardada, a nova verso do Samba traz aprimoramentos e melhorias significativamente superiores a qualquer um de seus equivalentes comerciais. O que h de novo no Samba 4  Em dezembro de 2012, o mundo do software livre recebeu o primeiro e muito aguardado lanamento da srie Samba 4.x. Samba para domnios Poupe dinheiro com o Samba como controlador de domnio em um domnio legado estilo Windows NT4. Appliances SerNet para Samba 4 SerNet e Univention agora integram o novo Samba em seus appliances, e oferecem aos administradores uma maneira fcil de configurar e testar um controlador de domnio no Samba 4. 49 41 36 34

www.linuxmagazine.com.br

Linux Magazine 102 |NDICE

COLUNAS
Alexandre Borges Charly Khnast Kurt Seifried Klaus Knopper Zack Brown 08 10 11 15 18

ANDROID

Augusto Campos14

NOTCIAS
Geral22 Twitter implementa autenticao de dois fatores Brasil lidera ranking mundial de ataques com o vrus Conficker Positivo lana aplicativos para alunos do ensino Fundamental e Mdio

Nexus 10

68

A gigante Google lana um novo dispositivo pronto para combater o iPad. O Nexus 10 associa um bom hardware verso mais recente do Android, tudo isso com um bom preo e um visual matador.

ANLISE

CORPORATE
Coluna: Jon maddog Hall Coluna: Cezar Taurion Coluna: Gilberto Magalhes 24 26 28

Notcias30 Komputer promove workshop gratuito de gesto de projetos HP e Google vo entregar soluo para PME entrar na nuvem Ex-executivos da HTC criam nova marca de smartphones Telebras expande rede para melhorar ambiente dos provedores Extenses de protocolo IMAP 4 Um conjunto de extenses de protocolo mantm o protocolo legado IMAP 4 utilizvel, o que tambm ajuda os clientes mveis. Apresentamos uma mistura saudvel de extenses teis. 70

TUTORIAL

Auxlio construo Como lidar com pacotes de cluster Adicionar e eliminar software a partir de um cluster em execuo pode ser complicado; no entanto, muitos pacotes de aplicativos podem ser adicionados ou removidos facilmente com algumas ferramentas e alguns truques simples. 61 Mquinas virtuais podem ser fceis de criar e remover se forem mais gerenciveis. Possuir as ferramentas certas pode ajudar.

75

SEGURANA
Acesso remoto com autenticao de dois fatores Neste artigo, apresentamos uma viso geral das solues de autenticao e abordagens potenciais para casos de uso comum que fogem ao uso de senhas regulares. 54

SERVIOS
Otimize a organizao de dados em disco O Defragfs otimiza arquivos em um sistema e permite que vdeos carreguem mais rapidamente e que grandes arquivos abram em um piscar de olhos. 64 Editorial03 Emails06 Linux.local78 Preview82

Linux Magazine #102 | Abril de 2013

Coluna do Alexandre

COLUNA

Metasploit parte II
Aprenda como uilizar workspaces e procurar por mquinas vulnerveis com o framework Metasploit. por Alexandre Borges

o ms passado abordamos como instalar o Metasploit em um ambiente Ubuntu e, naquele momento, evitamos utilizar a distribuio BackTrack para que tivssemos a oportunidade de observar os passos envolvidos na configurao inicial do framework. A partir de agora no far grande diferena se o leitor estiver usando o BackTrack ou uma instalao do Metasploit feita manualmente no Ubuntu. O Metasploit um framework que nos permite realizar ataques dos mais variados e por isso importante conhecer alguns termos: Exploit: mtodo usado pelo hacker para atacar um servio ou aplicativo da mquina alvo com o intuito de aproveitar-se de uma vulnerabilidade. Payload: cdigo ou comando a ser executado contra nosso alvo atravs (ou aps) de uma vulnerabilidade explorada. Shellcode: cdigo normalmente escrito em linguagem Assembly que pode ser executado na mquina alvo e fornecer ao hacker um Shell interativo. Mdulos auxiliares: softwares que podem ser usados com finalidades complementares, por exemplo, realizar um escaneamento. Para iniciar o Metasploit, execute o comando:
msfconsole

mais recentes. Para realizar esta tarefa, basta executar o comando msf > msfupdate. O Metasploit utiliza um banco de dados PostgreSQL por padro (e atualmente o nico suportado). As opes presentes do framework so diversas e, por exemplo, podemos executar comandos que nos ajudem a fazer o levantamento das informaes sobre as mquinas nas quais estamos interessados:
msf > whois linuxmagazine.com.br msf > nmap -sS 192.168.1.1

Uma vez dentro do console Metasploit, teremos acesso todas as alternativas possveis para realizar os passos de um ataque sem qualquer restrio. interessante notar que, assim que o comando msfconsole executado, apresentado um pequeno relatrio com a verso do Metasploit, o nmero de exploits, payloads e mdulos auxiliares que esto inclusos nesta verso. por isto que, habitualmente, costumo atualizar as definies do framework com os exploits
8

Isso funciona bem mas pode ser muito trabalhoso e incmodo gravar os resultados da sada de comandos com o nmap. Por este motivo, possvel que os resultados dos comandos sejam armazenados no prprio banco de dados do Metasploit e, mais especificamente, em uma rea de trabalho (workspace) da ferramenta. Para que possamos listar quais workspaces temos, digite o comando msf > workspace``. Por padro, sempre teremos o workspace default setado como ambiente principal. Antes de prosseguirmos, surgiro que o leitor faa o download do ambiente Metasploitable 2 [1], com a finalidade de acompanhar o tutorial sobre o assunto. Trata-se de uma mquina virtual (VMware, claro) com uma srie de vulnerabilidades que podem ser testadas e exploradas pelo framework do Metasploit. Para facilitar a vida do leitor, o usurio e senha padro do Metasploitable 2 msfadmin. Caso haja tempo livre, surgiro fortemente ler os documentos na pgina da ferramenta [2]. Com o ambiente Metasploitable 2 no ar, possvel usar uma variante do nmap para armazenar os resultados do escaneamento:

www.linuxmagazine.com.br

msf > db_nmap - sS 192.168.1.107// (esta seria nossa mquina Metasploitable 2)

Depois de o escaneamento ser concludo, os resultados armazenados podem ser verificados de muitas formas. Por exemplo, para listar quais hosts foram escaneados at aqui, execute o comando msf > hosts. O resultado ser algo como:
Hosts 192.168.1.107 address - mac 00:0C:29:D9:66:B9

mais do que um workspace, poder criar diversas outros atravs do comando msf > workspace -a teste. Para alternar entre os workspaces, faa:
msf > workspace teste msf > workspace msf > workspace default

name os_name os_flavor os_sp purpose info comments Unknown device

A mquina listada neste resultado possivelmente tem diversos servios no ar. Para realizar uma listagem deles, execute o comando msf > services. Note que todos os resultados esto guardados no Metasploit e, quando necessrio (e nas colunas futuras) poderemos us-los da forma que nos for mais conveniente. Caso no seja mais o nosso objetivo guardar tais resultados, apague o workspace com o comando msf > workspace -d default e em seguida verifique o estado dos hosts com msf > hosts. O resultado do ltimo comando dever vir vazio pois apagamos o workspace no qual trabalhvamos. Como este workspace era o nico que tnhamos, automaticamente o Metasploit cria um novo workspace para ns. Caso o leitor deseje trabalhar com

No ms que vem volto com mais sobre o Metasploit. At mais.

Mais informaes
[1] Metasploitable 2: http://sourceforge. net/projects/metasploitable/ files/Metasploitable2/ [2] Documentos do Metasploitable 2: https://community.rapid7.com/docs/ DOC-1875Alexandre Borges.

Alexandre Borges (linkedin: br.linkedin.com/in/aleborges) instrutor e especialista snior em sistemas operacionais Unix, Linux, Banco de Dados, Virtualizao, Cluster, Storage, Servidores, Backup, Desempenho e Segurana, alm de possuir profundo envolvimento com assuntos relacionados ao kernel Linux.

Linux Magazine #102| Maio de 2013

O preo da expanso
Para expandir, determinados produtos e servios pagam um alto preo: o aumento de sua complexidade. por Augusto Campos

Coluna do Augusto

COLUNA

m dos pontos fortes da expanso do Linux (e de vrios componentes open source que costumam acompanh-lo) foi a simplicidade de configurao de servidores para vrios dos servios online mais comuns: web, e-mail, compartilhamento, proxy, filtro de pacotes etc. Eram poucos componentes, com configuraes bastante centralizadas, e que tinham todos os recursos exigidos frequentemente eram as suas prprias implementaes que definiam quais os recursos a exigir. Softwares como Samba, Squid, Postfix e Apache se tornaram a referncia em seus mbitos. Mas a forte presena na camada dos servidores levou ao avano em direo camada de aplicao, cujo suporte conduziu criao do que ficou conhecido como a plataforma LAMP: Linux + Apache + MySQL + o ambiente de uma linguagem (PHP, Python, Perl etc.). A evoluo do LAMP permitiu o fortalecimento de diversos aplicativos essenciais para uma srie de servios online: gerenciadores de contedo (como o WordPress ou o MediaWiki), fruns, sistemas de suporte a portais, webmails, PIMs e outros. Nesse avano que transforma cada vez mais os aplicativos criados para plataforma web em algo bastante prximo dos seus equivalentes nas plataformas desktop, multiplicam-se as demandas nos servidores: vrios esquemas de cache, aceleradores, servios de suporte aplicativos, virtualizao, redes de armazenamento, distribuio geogrfica de contedo etc. Eles tambm ficaram mais crticos para a misso de muitos dos participantes do mercado, e assim, os investimentos em sua disponibilidade, escalonabilidade e segurana cresceu tambm. Tudo isso bom e desejado, mas aquela relativa simplicidade de configurao e manuteno de 10
14

anos atrs se perdeu completamente pelo caminho, e hoje a administrao profissional de sistemas envolve conhecer uma mirade de componentes que at pouco tempo atrs no existiam nem eram demandados, mas hoje se tornaram de fato indispensveis. Eu aplaudo de p essa tendncia, pela evoluo que significa para as plataformas livres. Mas para mim h um porm: escrevo diariamente para algum dos trs blogs que mantenho (BR-Linux, Efetividade e BR-Mac), mas a cada ms a minha disponibilidade de tempo para escrever se reduz, porque as tarefas de administrao das suas infraestruturas (que executo com muito prazer) so cada vez mais complexas e crticas. Para ficar em um exemplo que de vrias camadas acima, vou mencionar o WordPress: eu o escolhi h alguns anos, porque ele era fcil de instalar e atualizar, carregava rapidamente as pginas e, principalmente, porque na sua configurao padro a interface de administrao era simples e rpida de carregar, sem pausa entre a ideia e comear a escrev-la. Mas os anos se passaram, ele inchou em recursos, e agora o cenrio dele mudou, como ocorreu com os servidores web. No me desagrada a mudana, mas no a mim que ela interessa. A cada dia tenho pensado em buscar alternativas mais leves e simples para esses servios (para o WordPress eu j encontrei), e compartilho com vocs este breve desabafo para que outros que passam pela mensa reflexo saibam: vocs no esto sozinhos! n
Augusto Csar Campos administrador de TI e, desde 1996, mantm o site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.

www.linuxmagazine.com.br

Linux Magazine #102 | Maio de 2013

23

Samba 4

CAPA

Vai dar Samba


Muito aguardada, a nova verso do Samba traz aprimoramentos e melhorias significativamente superiores a qualquer um de seus equivalentes comerciais. por Flvia Jobstraibizer

uita espera e expectativa cercaram o lanamento da nova verso do Samba, que havia sofrido seu ltimo salto de verso em 2003. A popular plataforma de interoperabilidade Samba utilizada em milhares de servidores no mundo todo. A demora para a atualizao de verso no significa que o sistema estava com seu desenvolvimento paralisado. Pelo contrrio, a ferramenta esteve em constante desenvolvimento, recebendo correes, melhorias e extenses, at que chegou o momento de acordo com a prpria equipe que mantm o desenvolvimento do produto de fechar um marco de desenvolvimento e lanar a nova verso. Produtos como o Samba so imprescindveis nos dias atuais, onde diariamente somos obrigados a conviver harmoniosamente com os mais diferentes tipos de sistemas operacionais em uma mesma rede. Manter a compatibilidade entre arquivos, sistemas e servios em redes heterogneas deixou de ser um esforo hercleo desde que o Samba foi introduzido nas infraestruturas. Vale lembrar ainda que a migrao da verso anterior para a nova verso to simplificada que gerou muitos elogios da comunidade. No foram encontrados erros de qualquer tipo na maioria dos ambientes migrados. Ponto positivo para a equipe de desenvolvimento!

Uma das melhorias mais aguardadas da nova verso do Samba, a alternativa (gratuita) para controlar um domnio Active Directory, eliminando assim a necessidade de um servidor Windows. E pasmem, isso foi conseguido (e testado exaustivamente) pela prpria Microsoft. Outras novidades so o servidor de autenticao Kerberos integrado, servidor seguro de Dynamic DNS e uma nova infraestrutura RPC. Outras inmeras melhorias e aprimoramentos so abordados nesta edio da Linux Magazine , com um completo artigo sobre tudo o que voc pode esperar da nova verso. Seguindo a mesma linha de novidades, no deixe de ler o artigo que aborda o Samba como controlador de domnios, um dos mais usados recursos da ferramenta. E finalizando esta edio com chave de ouro, aprenda como integrar o Samba 4 ao Univention Corporate Server (UCS) com o appliance SerNet. Esta edio est to imperdvel quanto a nova verso do Samba! Aproveite! n
 Matrias de capa O que h de novo no Samba 4 Samba para domnios Appliances SerNet para o Samba 4 34 40 46

34

www.linuxmagazine.com.br

Gerenciamento de cluster | TUTORIAL

Gerenciamento de cluster

Como lidar com pacotes de cluster


Adicionar e eliminar software a partir de um cluster em execuo pode ser complicado; no entanto, muitos pacotes de aplicativos podem ser adicionados ou removidos facilmente com algumas ferramentas e alguns truques simples. por Douglas Eadline

TUTORIAL

nstalar e configurar um cluster HPC no to difcil como costumava ser; algumas ferramentas fornecem recursos agradveis que permitem a praticamente qualquer pessoa obter sucesso em pouco tempo. Uma questo que vale a pena considerar, no entanto, a facilidade com que podemos mudar as coisas, uma vez que o cluster esteja em funcionamento. Por exemplo, se um usurio receber um cluster configurado e, em seguida, aparecer algum e dizer: preciso de um pacote XYZ construdo com a biblioteca EFG verso 1.23, existir a possibilidade de reprovisionar as coisas a fim de atender tal necessidade, ou haveria uma maneira fcil de adicionar e remover software de um cluster em execuo que seja minimamente invasiva? A resposta sim. Antes de descrevermos como podemos organizar um cluster para ser mais malevel, alguma meno sobre provisionamento de pacotes ser til. Trs mtodos bsicos so oferecidos por vrios conjuntos de ferramentas: Image Based Uma imagem de n de disco propagada para os ns na inicializao. Diferentes rolls (imagens) podem ser construdos para diferentes pacotes. Um exemplo so os Rocks Clusters [1].

NFS Root Cada n faz o boot e instala tudo como NFS root, exceto para coisas que mudam para cada n (por exemplo, /etc, /var). Este sistema pode ser executado com menos disco ou com o disco cheio. Um exemplo o oneSIS [2]. RAM Disk Um disco RAM ser criado em cada n que mantm uma imagem do sistema em execuo. O sistema de disco RAM pode ser criado em modo hbrido, no qual alguns arquivos esto disponveis atravs do NFS, e ele pode ser executado com menos disco ou com o disco cheio. Um exemplo o Warewulf [3]. (Uma boa descrio do Warewulf pode ser encontrada na srie HPC Admin do Warewulf [4]). Independentemente do sistema de provisionamento, o objetivo fazer alteraes sem a necessidade de reiniciar os ns. Nem todas as mudanas podem ser feitas sem reiniciar ns (ou seja, mudando o provisionamento subjacente); no entanto, muitos pacotes de aplicativos podem ser adicionados ou removidos sem muita dificuldade se algumas medidas simples forem tomadas.

Em quase todos os clusters HPC, os usurios possuem um /home compartilhado globalmente, e um /opt path

Dump em /opt

global compartilhado tambm possvel. O NFS utilizado em pequenos e mdios clusters para compartilhar esses diretrios. Em clusters maiores, alguns tipos de sistemas de arquivos paralelos podem ser necessrios. Em qualquer caso, sempre existe um mecanismo para compartilhar arquivos em todo o cluster. O mtodo mais simples instalar os pacotes em /opt. Esta abordagem possui a vantagem de instalar uma vez e estar disponvel em todos os lugares, embora tenhamos que enfrentar alguns problemas com os arquivos de log; no entanto, em geral, este mtodo ir funcionar com a maioria dos aplicativos de software. A questo principal com a qual os administradores devem lidar a biblioteca de vnculo dinmico. Como os pacotes no esto instalados no caminho padro /usr/lib e no desejamos copiar entradas de pacotes em /etc/ld.so.conf/ nos ns, precisamos de uma forma de gerenciar o local para as bibliotecas. Claro, fazer a vinculao esttica completa uma possibilidade, e usar o LD_LIBRARY_PATH outra, mas ambas as solues impem algumas exigncias extras sobre os usurios, o que, no final das contas, volta para o administrador de sistemas para suportar quaisquer problemas. O
61

Linux Magazine #102 | Maio de 2013

TUTORIAL| Gerenciamento de cluster

mtodo preferido instalar pacotes que simplesmente funcionam. A soluo muito simples. Primeiro, crie /opt/etc/ld.so.conf.d/ para que todos os pacotes posicionem seus caminhos de biblioteca em arquivos conf, como fariam em /etc/ ld.so.conf.d/. Em seguida, necessrio fazer uma pequena incluso em /opt/etc/ld.so.conf para todos os ns (ou seja, precisa ser parte da etapa de provisionamento do n, por isso est l aps o boot do n). A linha adicional :
include /opt/etc/ld.so.conf.d/*.conf ldconfig que deve procurar em /opt/ etc/ld.so.conf.d/ por caminhos de

que obtemos uma maneira de adicionar e remover pacotes facilmente do cluster, precisamos informar aos usurios sobre como us-los.

fig para restringir os hosts de receber

esta varivel. Da mesma forma, o arquivo sshd_conf precisa da seguinte linha adicionada:
SendEnv LOADEDMODULES NOMODULES

Mdulos de ambiente global


Em um artigo da Admin HPC, descrevemos o pacote de mdulos de ambiente [5]. (Recentemente observamos que alguns outros autores da Admin HPC tambm tm coberto o mesmo tema [6]). O uso dos mdulos de ambiente [7] fornece fcil gerenciamento de vrias verses e pacotes em um ambiente HPC dinmico. Um dos problemas, no entanto, como manter os mdulos de ambiente quando utilizamos outros ns. Se usarmos o SSH para fazer login nos ns, ento teremos uma maneira fcil de manter (ou no manter) o mdulo de ambiente. Com um pouco de configurao, o protocolo SSH permite a passagem de variveis de ambiente. Alm disso, os mdulos atualmente carregados so armazenados em uma varivel de ambiente chamada LOADEDMODULES. Por exemplo, se carregarmos dois mdulos (ftw e mpich2) e, em seguida, olharmos para o nosso ambiente, encontraremos:
LOADEDMODULES= fftw/3.3.2/gnu4:mpich2/1.4.1p1/gnu4

Esta nova linha informa ao

biblioteca adicionais. Se um pacote adicionado ou removido, tudo o que precisa acontecer um ldconfig global em todos os ns para atualizar os caminhos da biblioteca. Esta etapa pode ser facilmente concluda com uma ferramenta como a pdsh. Assim, instalar um pacote global no cluster to simples como installo em /opt, com uma entrada em /opt/etc/ld.so.conf.d/ e execuo em um ldconfig global. Se, por exemplo, possuirmos a verso atual do Open MPI instalada e um usurio quiser experimentar as bibliotecas PetSc com uma nova verso, poder facilmente instalar e compilar tudo em /opt e ter o usurio executando o novo cdigo sem reiniciar ns ou instruindo-os sobre as nuances da LD_LIBRARY_PATH. Agora

Uma vez que o servio SSHD seja reiniciado, as futuras sesses SSH iro transmitir as duas variveis para logins SSH remotos. Antes que o login remoto possa usar os mdulos, ele deve ser carregado. Este passo pode ser realizado pela incluso de um pequeno pedao de cdigo ao script .bashrc do usurio, como mostrado na listagem 1. Como pode ser visto a partir deste cdigo, se NOMODULES for definido, nada feito, e nenhum mdulo carregado. Se no for definido, cada mdulo listado em LOADEDMODULES carregado. Note que esta configurao assume o pacote do mdulo e os arquivos do mdulo ficam disponveis para o n. Considere o exemplo da listagem 2, na qual os dois mdulos so carregados (fftw e mpich2) antes de efetuar login em outro n (n0, neste caso). No primeiro login, os mdulos so carregados no n remoto. No segundo login, com NOMODULES configurado, nenhum mdulo est disponvel: conforme observamos, um pressuposto importante a disponibilidade dos arquivos de mdulo para todos

Listagem 1: Carregamento de mdulos


01 if [ z $NOMODULES ] ; then 02 LOADED=`echo n $LOADEDMODULES|sed 's/:/ /g'` 03 for I in $LOADED 04 do 05 if [ $I != "" ] ; then 06 module load $I 07 fi 08 done 09 else export LOADEDMODULES="" 10 fi

Neste ponto, tudo o que precisamos fazer inclui-lo em todas as sesses de cluster SSH, e ento podemos recarregar o mdulo de ambiente. Para passar uma varivel de ambiente via ssh, tanto o arquivo /etc/ssh/ssh_config como o /etc/ssh/ sshd_config precisam ser alterados. Para comear, o arquivo /etc/ssh/ ssh_config precisa ter a seguinte linha adicionada a ele:
AcceptEnv LOADEDMODULES NOMODULES

Listagem 2: Definio de NOMODULES


01 $ module list 02 Currently Loaded Modulefiles: 03 1) fftw/3.3.2/gnu4 2) 01 mpich2/1.4.1p1/gnu4 04 $ ssh n0 05 $ module list 06 Currently Loaded Modulefiles: 07 1) fftw/3.3.2/gnu4 2) 01 mpich2/1.4.1p1/gnu4 08 $ exit 09 $ export NOMODULES=1 10 $ ssh n0 11 $ module list 12 No Modulefiles Currently Loaded.

Tenha em mente que poder usar a opo de host no arquivo ssh_con

62

www.linuxmagazine.com.br

Gerenciamento de cluster | TUTORIAL

os ns. Ao colocar os arquivos de mdulo no NFS compartilhado /opt, todos os ns podem encontrar os arquivos de mdulo em um s lugar, e eles podem ser adicionados ou removidos sem alterar a imagem em execuo no n.

Em direo ao cluster RPM


O ingrediente final para esta receita encapsular ambas as ideias em pacotes RPM; ou seja, um RPM vai instalar um pacote em /opt, fazer a entrada em /opt/ld.so. conf.d, e instalar um arquivo de mdulo. Dessa forma, com exceo de um ldconfig global, todo o pacote poderia ser instalado no cluster inteiro em uma nica etapa. Se o pdsh (ou similar) forem necessrios como parte do processo de instalao do RPM, o ldconfig global poderia ser feito pelos RPMs (da mesma forma

que um ldconfig local feito por quase todos os RPMs). Claro, construir boas RPMs leva algum tempo, mas uma vez que tenhamos o esqueleto bsico, no ser to difcil arrast-las para os passos configure/make/install para vrios pacotes. Uma vez que o usurio possua boas RPMs de cluster para seus aplivativos,

no entanto, a instalao e reinstalao simples, conveniente, e compreende todo o cluster. n

Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8579

Mais informaes
[1] Rocks Clusters: http://www.rocksclusters.org/wordpress/ [2] oneSIS: http://onesis.org/ [3] Warewulf: http://warewulf.lbl.gov/trac/ [4] Gerenciamento de cluster Warewulf: http://www.adminmagazine.com/ HPC/Articles/WarewulfClusterManagerMasterandComputeNodes/ [5] Gerenciamento do ambiente de mdulos : http:// www.adminmagazine.com/HPC/Articles/ ManagingtheBuildEnvironmentwithEnvironmentModules/ [6] Mdulos de ambiente Lmod: http://www.adminmagazine.com/ HPC/Articles/LmodAlternativeEnvironmentModules/ [7] Mdulos de ambiente: http://modules.sourceforge.net/

Tem novidade na Coleo Academy!

Instalao e congifurao de servidores VoIP com Asterisk. Configurao de ramais, extenses, secretria eletrnica, monitoramento e espionagem de chamadas, planos de discagem, URA e muitos outros aspectos que abordam o uso de centrais telefnicas IP PBX.
Disponvel no site www.LinuxMagazine.com.br

Linux Magazine #102 | Maio de 2013

63

TUTORIAL| Desfragmentao

Desfragmentao

TUTORIAL

Otimize a organizao de dados em disco


O Defragfs otimiza arquivos em um sistema e permite que vdeos carreguem mais rapidamente e que grandes arquivos abram em um piscar de olhos. por Erik Brwaldt

m poca de contedo digital, colees de dados em domiclios residenciais esto crescendo rapidamente. Ao considerarmos que, apenas poucos anos atrs, discos rgidos com algumas centenas de gigabytes eram perfeitamente suficientes, hoje, a capacidade de armazenamento em disco de vrios terabytes comumente utilizada. O sistema de arquivos Linux ext2, ext3 e ext4 e no precisa de muita ateno, mas, ao longo do tempo, aps inmeras escritas e excluses, os dados se tornam fragmentados. Isto diminui no s o disco rgido em si, como tambm todo o sistema por vezes de maneira notvel. Assim, os usurios avanados, mesmo no Linux, so aconselhados a ocasionalmente reorganizar os dados.

Fragmentado

A fragmentao algo que afeta principalmente arquivos maiores que no cabem completamente no espao livre do disco rgido por conta de uma falta de espao contguo suficientemente grande; assim, um arquivo ir residir em diferentes segmentos (quadro 1). Quando um arquivo lido, as cabeas de leitura se mudam para uma nova posio vrias vezes para recolher os fragmentos.
64

Este movimento leva tempo e continua a aumentar em discos fortemente fragmentados. Os dados do usurio no so a nica contribuio para a fragmentao, o prprio sistema operacional incentiva a grande diviso: usurios avanados que gostam de experimentar e muitas vezes testar softwares tambm contribuem para a fragmentao atravs da instalao de novos programas para, em seguida, exclu-los. Parties nas quais mais da metade da capacidade utilizada iro fragmentar os dados mais fortemente, j que o sistema precisa espalhar arquivos maiores por um nmero maior de reas por conta da falta de espao livre. Em ltima anlise, ferramentas geralmente teis como BleachBit [1] ou Rpmorphan [2] podem agravar a situao, sob certas circunstncias, removendo arquivos que no so mais necessrios: eliminaes entre segmentos alocados geram blocos livres no contguos.

livres para um espao contguo no disco rgido, o sistema de arquivos mantm os dados a serem escritos na memria RAM por um perodo de tempo at que o tamanho final seja determinado. Alm disso, os sistemas de arquivos reservam grupos de blocos livres no disco rgido para armazenar por completo o volume de novos arquivos. Mesmo tais mecanismos pensados para o futuro no podem lidar plenamente com o problema.

Quadro 1: Teoria
Um disco de computador precisa de pelo menos uma partio, que contnha um sistema de arquivos. Grandes discos de vrias centenas de gigabytes de capacidade costumam ter vrias parties, que por sua vez separam perfeitamente o sistema operacional e os dados. Em cada partio, o sistema de arquivos responsvel pela estrutura dos dados, que so organizadas em blocos no disco rgido. Em discos rgidos menores, um bloco possui 512 bytes. H relativamente pouco tempo, os fabricantes comearam a oferecer unidades de formato avanado (AFD) com um tamanho de bloco de 4KB. Estas unidades possuem capacidades muito altas de armazenamento de centenas de gigabytes at um certo nmero de terabytes. Para sistemas operacionais mais antigos, eles fornecem eletrnica que emula um tamanho de bloco de 512 bytes.

Preveno

Para minimizar a desfragmentao de arquivos, sistemas de arquivos comuns, como ext2 e seus sucessores ext3 e ext4 incluem alguns mecanismos para neutralizar o efeito. Por exemplo, na tentativa de copiar completamente os dados

www.linuxmagazine.com.br

Desfragmentao | TUTORIAL

Figura 1 O Linux utiliza ferramentas padro para fornecer informaes significativas sobre o sistema de arquivos.

Como para muitos problemas, o Linux inclui solues padro para as quais outros sistemas operacionais requerem software adicional e, muitas vezes, caro. A fragmentao no uma exceo, com o Linux oferecendo uma srie de maneiras para resolver o problema. Antes de iniciar o que poderia ser uma execuo de desfragmentao bastante demorada dependendo do tamanho da partio devemos primeiro verificar se o disco em questo afetado pelo problema. Baixo fluxo de dados em um sistema no indica, necessariamente, um disco fragmentado. Com os novos discos rgidos da AFD, em particular, uma partio configurada incorretamente pode levar perda significativa de velocidade, mesmo sem dados fragmentados.

Para determinar o grau de fragmentao, primeiro preciso instalar o pacote e2fsprogs, se isto j no for feito durante a configurao inicial. As ferramentas includas neste pacote fornecem dados importantes sobre os sistemas de arquivos ext2/3/4. Certifique-se de desmontar a partio antes. Para fazer isso, se necessrio, use o comando:
$ umount <devicefile>

que pode parecer um valor elevado o assuste: a desfragmentao no vale a pena no Linux at que o valor aumente para mais de 20% dos blocos no contguos (figura 1). Se quiser detalhes mais precisos sobre o grau de fragmentao, tambm possvel usar o comando:
# dumpe2fs <devicefile>

e execute o seguinte comando com privilgios administrativos em um terminal:


# e2fsck fn <devicefile>

Quando verificarmos a partio, veremos uma sada que mostra a porcentagem de blocos no contguos na ltima linha. No deixe que o

para uma descrio detalhada. A ferramenta primeiro lista informaes sobre o tipo de sistema de arquivos e, em seguida, os grupos de blocos individuais e seus respectivos dados. Na lista de grupos, observe a linha free blocks:. Se s encontrar uma rea aqui, porque est tudo OK. Mas se encontrar vrios blocos livres, os dados contidos neste grupo esto parcialmente fragmentados. Quanto mais blocos a ferramenta disponibiliza, mais grupos de blocos sero afetados, e mais fortemente os dados da partio sero fragmentados (figura 2).

Arquivos grandes

Figura 2 Aqui, o sistema de arquivos apenas fez a diviso de alguns dados.

Salvar e apagar arquivos grandes com frequncia, como arquivos multimdia, muitas vezes abre buracos nas estruturas de dados. Se os dados de um filme de alta resoluo forem distribudos entre sees espaadas, a imagem pode conter artefatos ou ser possvel experimentar uma reproduo irregular. Nestes casos, faz sentido verificar a consistncia do arquivo.
65

Linux Magazine #102 | Maio de 2013

TUTORIAL| Desfragmentao

Figura 3 O sistema de arquivos muitas vezes quebra grandes arquivos multimdia em pedaos menores, que, em
seguida, so armazenados em diferentes lugares sob determinadas circunstncias.

Para isso, torne-se root e execute o comando:


# filefrag <file>

O Filefrag ento examina o arquivo e retorna informaes mais detalhadas sob o seu respectivo estado (figura 3). O nmero de extenses, isto , blocos de arquivo no contguos, revela o grau de fragmentao. Quanto mais extenses o software determina, pior a diviso do arquivo afetado.

Limpeza

Existem diferentes mtodos para reunir os arquivos: se o usurio tiver tempo de sobra para gastar, poder copiar os dados da partio afetada para outro disco, excluir os dados originais e, em seguida, restaurar os arquivos copiados para o disco original. Isto ir assegurar reas contguas de dados. A desvantagem deste mtodo a enorme quantidade de tempo que leva para coletas grandes de dados especialmente se for uti-

lizado o armazenamento em massa em uma interface USB 2.0 como um meio de backup. Existem diferentes mtodos para reunir os arquivos: se o usurio possuir tempo de sobra para gastar, copie os dados da partio afetada para outro disco, exclua os dados originais e, em seguida, restaure os arquivos copiados para o disco original. Isto ir assegurar reas de dados contguas. A desvantagem deste mtodo a enorme quantidade de tempo que leva para coletas de dados grandes especialmente se for usado armazenamento em massa com uma interface USB 2.0 como meio de backup. Como o grau de fragmentao de um disco rgido no Linux muitas vezes no intervalo percentual de um dgito, mesmo aps o uso por alguns anos, a comunidade de desenvolvedores no tem prestado muita ateno manuteno de dados no passado. Apenas alguns programas de linha de

comando lidam com este problema e, destes, apenas um impressionou em nosso laboratrio: o Defragfs [3]. Para comear, descompacte a pequena ferramenta em uma pasta. Apesar de seu pequeno tamanho de pouco menos de 9KB, o script Perl fornece um recurso surpreendente: ele no apenas desfragmenta os diretrios e parties, como tambm fornece informaes detalhadas sobre o sucesso das aes. Para evitar ter que especificar o caminho completo quando a ferramenta chamada, copie o programa para o diretrio /usr/local/bin. Em seguida, inicie a ferramenta com privilgios de administrador usando o comando:
# defragfs <directoryname> a

O Defragfs agora determina automaticamente os valores apropriados e mescla os arquivos individuais. Como o script copia os arquivos anteriores e posteriores, certifique-se que haja espao suficiente no diretrio em questo.

Figura 4 O Defragfs rene com segurana os grandes arquivos.

66

www.linuxmagazine.com.br

Desfragmentao | TUTORIAL

Se quiser controlar a forma como o software funciona, execute o Defragfs sem parmetros. Neste caso, o Defragfs solicita entrada vrias vezes. Uma das crticas que observamos em nosso laboratrio foi que a ferramenta retorna para o incio da rotina aps completar o trabalho. Neste caso, feche o programa aps a exibio das estatsticas dos arquivos modificados pressionando Ctrl+C.

Concluso

Sucesso

O Defragfs gera uma lista com os segmentos intercalados de um arquivo. Para cada arquivo, ele mostra entre parnteses o nmero de fragmentos antes da cpia e, ao final de cada linha, o nmero de blocos aps a execuo. Na figura 4 podemos ver que arquivos com. mais de 100MB, em especial, possuem significativamente menos segmentos aps a execuo do Defragfs.

Sistemas de arquivos Ext2 e sucessores so to robustos que no precisam praticamente de nenhuma interveno manual. No entanto, um usurio avanado com um fraco por multimdia ou acostumado a operar um servidor com grandes transferncias de dados possivelmente desejar verificar os discos rgidos ao longo do tempo. A nica ferramenta que funcionou de forma confivel no sistema de arquivos ext2 em nosso laboratrio foi o Defragfs. Este programa trabalha sem nenhum problema em discos

montados. A nica desvantagem a quantidade de tempo necessria para salvar todos os arquivos em reas livres como em cpias manuais para, em seguida, restaur-los. No entanto, o Defragfs muitas vezes recompensa pela pacincia, com melhor desempenho do disco. n

Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8575

Mais informaes
[1] Bleachbit by Erik Brwaldt, Linux Magazine, November 2009, pg. 60: http://www.linuxpromagazine.com/Issues/2009/108/BleachBit/ [2] RPM Tools by Erik Brwaldt, Linux Magazine, December 2012, pg. 44, http://www.linuxpromagazine.com/Issues/2012/145/RPMTools/ [3] Defragfs: http://defragfs.sourceforge.net/

Agora voc tem o controle sobre o desempenho do seu negcio sempre sua mo.

Soluo completa hospedada em nuvem (Cloud Computing)

Saiba mais em: www.vectory.com.br +55 11 3104 6652

SOFTWARE

Linux Magazine #102 | Maio de 2013

A soluo de gesto integrada ADempiere um poderoso sistema ERP, CRM e SCM de Cdigo Aberto, que conta com um conjunto completo de recursos, organizados atravs de processos de negcios. Essa organizao resulta em uma plataforma nica, totalmente integrada e consistente, proporcionando aos usurios uma viso integral de sua empresa e permitindo uma anlise em 360 graus de todo o relacionamento com clientes, fornecedores e colaboradores. 67

ANDROID| Google Nexus 10

Google Nexus 10

ANDROID

Nexus 10
A gigante Google lana um novo dispositivo pronto para combater o iPad. O Nexus 10 associa um bom hardware verso mais recente do Android, tudo isso com um bom preo e um visual matador. por Flvia Jobstraibizer

Nexus 10, novo tablet da gigante de Redmond, produzido pela Samsung e a nova menina dos olhos da corporao, que surpreende a cada novo lanamento. Com uma estrutura emborrachada cinza escuro, o tablet arredondado, no escorrega facilmente das mos e possui alto falantes bem localizados, evitando assim o problema presente em outros tablets de que o modo de pegar o aparelho obstrui a sada de som (figura 1). Com uma espessura de 8,9mm e um peso de 603gr, o Nexus 10 mais leve e menor do que o Nexus 7, o que garante, naturalmente, maior mobilidade ao equipamento.

Na parte frontal esto localizadas a cmera, que possui a resoluo de 1.9MP, o sensor de luminosidade do ambiente e um led de notificaes. A parte de trs do tablet abriga a cmera principal de 5MP, seu respectivo flash e um microfone. As portas micro USB, entradas para fones de ouvido e porta HDMI esto localizadas na lateral do aparelho. Em geral, a carcaa do aparelho muito bem feita (figura 2). A tela capacitiva, multitoque e composta da robusta tecnologia resistente arranhes Corning Gorilla Glass 2, com a resoluo HD (High Definition) de 2560x1600 pixels e 16.7 milhes de cores (fi-

gura 3 ). O tablet vem equipado

com um processador dual-core Exynos 5250 com 2 ncleos Cortex A-15 de 1.7GHz e possui 2GB de memria RAM. So comercializadas verses com 16GB ou 32GB de espao em disco, no entanto no so expansveis atravs de cartes SD. A durao da bateria bastante razovel, evitando a recarga diria necessria em alguns tablets comercializados atualmente. No possvel utilizar o 3G atravs de cartes SIM, no entanto possvel utilizar modems 3G atravs da porta micro USB do aparelho. Como recursos bsicos, Bluetooth e NFC esto disponveis, assim como acelermetro, bssola, giroscpio, barmetro e GPS. O Android presente no aparelho o 4.2 Jelly Bean.

Pequenos problemas

Figura 1 Visual agradvel, leveza e qualidade no acabamento so os primeiros


atrativos do dispositivo.

Aparentemente, o Nexus 10 no perfeito. Alguns problemas de inicializao foram observados por uma boa soma de usurios. O Android Jelly Bean do aparelho puro, sem personalizaes da Samsung ou mesmo do Google. Sendo assim, pode ser necessria a instalao de alguns aplicativos adicionais para melhorar a usabilidade do aparelho. Um outro aspecto negativo do aparelho, sua lentido para carregar a bateria. Frente outros dispo-

68

www.linuxmagazine.com.br

Google Nexus 10 | ANDROID

aparelho, o tema, modos de apresentao dos aplicativos instalados, vincular sua conta Google ao perfil e muitos outros recursos.

Desempenho
Figura 2 O corpo emborrachado do
aparelho no tira sua beleza.

sitivos da mesma linha, o Nexus 10 leva em mdia 3 vezes mais tempo para carregar sua bateria at 100%. A falta de slots de expanso para cartes SD adicionais so outra reclamao dos usurios, assim como a limitao do player de video, que s executa filmes no formato MP4 (ou ento filmes da Internet).

Compartilhamento

O compartilhamento do dispositivo, que proporciona o uso do aparelho por vrios usurios, um dos recursos oferecidos pelo Android Jelly Bean do Nexus 10. Cada perfil de usurio poder ser personalizado de acordo com suas preferncias pessoais, tornando a usabilidade do dispositivo em uma experincia nica para cada um. A personalizao ainda vai alm: cada usurio poder definir seus prprios atalhos na tela inicial do

O aplicativo para benchmark e anlise de desempenho AnTuTu apresentou a pontuao de 13630 pontos, o que considerado excelente diante de outros aparelhos da mesma categoria. J no Vellamo Mobile Benchmark, que faz testes ainda mais precisos no que tange acelerao 3D, CPU e desempenho do processador, 1841 pontos foram obtidos no quesito desempenho, sendo uma pontuao bastante alta para um aparelho desta complexidade. Testamos ainda a edio de videos em aplicativos comuns, encontrados na loja do Google, e o Nexus 10 se mostrou to competente quanto um desktop. A edio ocorreu sem travamentos e a reproduo do video (embora em formatos limitados) ocorreu normalmente. Para os fs de games, uma tima notcia: instalamos os mais recentes jogos disponveis no Google Play e o resultado foi surpreendente: nenhum travamento (exceto quando tratava-se de algum tipo de conexo necessria com a Internet), delay ou problema de qualquer tipo foi encontrado na jogabilidade do

Figura 4 Nexus 10 durante


a execuo do jogo Steampunk Racing 3D.

aparelho. As respostas dos botes virtuais so rpidas e a tela mostrou o poder de sua sensibilidade e preciso durante o jogo (figura 4).

Concluso

O Nexus 10 j considerado o tablet que pode brigar no mesmo patamar com o iPad. Mais leve, mais rpido e mais barato, o aparelho sem dvida um concorrente de peso para o queridinho da Apple. A Anatel homologou este ms o aparelho para trabalhar com a rede de telefonia e dados brasileira, o que abriu caminho para as vendas do aparelho no Brasil, ainda que no haja uma previso efetiva para o incio das vendas. A previso de que o preo do Nexus 10 seja por volta de R$1200,00. Fora do Brasil, o dispositivo j est sendo vendido por cerca de US$399,00. Vamos aguardar! n

Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8643

O autor
Flvia Jobstraibizer (fjobs@linuxnewmedia.com.br, twitter: @ flaviajobs) gerente de projetos e analista de sistemas. Trabalha com TI desde 1998 tendo atuado em multinacionais e empresas de diversos segmentos, trabalhando com tecnologias livres e proprietrias. Atualmente editora-chefe das revistas Linux Magazine, Admin Magazine e ct.

Figura 3 A nova verso da tecnologia Gorilla Glass torna a tela ainda mais resistente.

Linux Magazine #102 | Maio de 2013

69

ANLISE| Extenses IMAP

Extenses IMAP

ANLISE

Extenses de protocolo IMAP 4


Um conjunto de extenses de protocolo mantm o legado IMAP 4 utilizvel, o que tambm ajuda os clientes mveis. Apresentamos uma mistura saudvel de extenses teis. por Patrick Ben Koetter e Kristian Kissling

uando a primeira verso do Internet Message Access Protocol 4 (IMAP 4) apareceu, em 1994, os telefones celulares pareciam mais com tijolos do que com telefones propriamente ditos e no era possvel ir muito alm disso. Os dados digitais corriam pela Internet atravs de modems em doses homeopticas. O Universal Mobile Telecommunications System (Sistema Universal de Telecomunicaes Mveis ou UMTS) e clientes de email mveis sequer existiam e o email ganhava terreno timidamente.

Demanda crescente

Para adaptar o IMAP 4 s exigncias modernas e especialmente de clientes mveis, o Network Working Group of the Internet Engineering Task Force enriqueceu o protocolo IMAP com uma srie de RFCs com extenses que oferecem novos recursos ao IMAP, mas sem incomodar clientes e servidores que utilizam verses mais antigas. Muitas das extenses de protocolo ainda esto na fase de proposta; a wiki IMAP no oficial [1] contempla uma lista bastante abrangente (figura 1) se o usurio estiver interessado em saber mais.

Algumas destas extenses so tambm parte do perfil do Lemonade (licena para aprimorar o acesso rede orientado por mensagem para diversos ambientes). Sob este guarda-chuva, a RFC 4550 [2] reuniu mais de 20 extenses do protocolo IMAP explicitamente para melhorar a comunicao com os clientes mveis. Embora seja possvel que nenhum servidor tenha implementado as extenses mais exticas, os administradores esto surpresos de que precisem habilitar outras extenses no servidor por no serem parte integrante do protocolo (tabela 1). Neste artigo, apresentamos uma seleo de extenses comumente usadas e explicamos brevemente sua utilidade. Mais detalhes esto disponveis nas RFCs relacionadas, que muitas vezes possuem dezenas de pginas.

Descobertas: CAPABILITY
O comando CAPABILITY [3] no uma extenso, mas um recursoimportante do IMAP 4. O cliente a utiliza para descobrir quais extenses o servidor suporta. O servidor retorna uma longa linha que lista as capacidades como palavras-

Figura 1 Esta matriz tenta esclarecer quais servidores IMAP implementam


quais melhorias.

70

www.linuxmagazine.com.br

Extenses IMAP | ANLISE

-chave. Se o ID do comando [4] habilitado no lado do servidor, o cliente tem permisso para enviar informaes sobre si mesmo para o servidor, como o nmero de verso e nome. No entanto, a RFC dispe que servidor e cliente no devem usar esta informao para tentar contornar os erros; em vez disso, eles devem ajudar o postmaster a identificar erros e a notificar o fornecedor do software.

Observador silencioso: IDLE


De acordo com o protocolo IMAP 4, o cliente deve informar ativamente ao servidor por um novo email disponvel, ou por algum que tenha excludo mensagens existentes, apesar de fazer mais sentido ao servidor notificar o cliente quando um novo email chega, j que tais pedidos sob demanda acabam por salvar recursos. Embora o servidor possa
Cliente a001 login mrc secret Client logs in Servidor

ocasionalmente responder com EXISTS (por exemplo, se for alterado o tamanho das caixas de correio), o cliente no pode contar com este comportamento e ter que solicit-lo de qualquer maneira. Se o servidor retorna IDLE [5] como um recurso, o cliente pode permitir que ele envie mensagens no solicitadas sobre o novo email, enquanto o cliente estiver no modo IDLE. Para permitir isso, o cliente envia um comando IDLE para o servidor, que responde com um pedido de continuao ( +). Enquanto existir o status IDLE, o servidor pode enviar mensagens sem sequncia numrica (no tagueadas), tais como EXISTS ou EXPUNGE. O cliente em si no pode enviar quaisquer comandos prprios neste momento. A relao master/slave termina assim que o cliente envia um DONE. Neste caso, o servidor envia quaisquer linhas no tagueadas e responde com um nmero de

sequncia para o DONE. Se o cliente no consegue terminar o comando IDLE enviando DONE, o servidor pode jog-lo fora, assumindo um tempo limite definido. Assim, a RFC recomenda que os clientes enviem outro IDLE aos 29 minutos para evitar este problema.

Pr-filtrado: NOTIFY

O IDLE tem a desvantagem de no controlar nem limitar quais comandos o servidor envia e como ele responde a determinados eventos. Como o idle tambm s funciona para uma nica caixa de email, o servidor e o cliente configuram outra conexo TCP para cada consulta de caixa adicional. O NOTIFY [6], no entanto, coloca o cliente no comando. Ele estende o IDLE, deixando que o cliente determine as caixas de email a partir das quais deseja receber mensagens. Isso torna o NOTIFY uma caixa de email IDLE mltipla, ao mesmo tempo em que simplifica a comunicao.

Explicao Servidor recebe cliente Cliente faz o log

* OK IMAP4rev1 Service Ready

a001 OK LOGIN completed a002 select inbox * 18 EXISTS * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * 2 RECENT * OK [UNSEEN 17] Message 17 is the first unseen message a002 OK [READWRITE] SELECT completed a003 fetch 12 full * 12 FETCH (FLAGS (\Seen) INTERNALDATE 17Jul1996 02:44:25 0700
RFC822.SIZE 4286 ENVELOPE (Wed, 17 Jul 1996 02:23:25 0700 (PDT) IMAP4rev1 WG mtg summary and minutes ((Terry Gray NIL gray cac.washington.edu)) ((Terry Gray NIL gray cac.washington.edu)) ((Terry Gray NIL gray cac.washington.edu)) ((NIL NIL imap cac.washington.edu)) ((John Klensin NIL KLENSIN MIT.EDU)) NIL NIL

Servidor reconhece Cliente escolhe Inbox como pasta ativa 18 mensagens encontradas Flags definidas 2 mensagens urgentes (por exemplo, novo email) Mensagem 17 est como no lida; todas as mensagens antigas foram lidas Cliente pode ter feito alteraes ao email Cliente solicita informaes sobre a mensagem 12 O email foi lido Entregue em 17 de julho de 1996 Mais que 4KB Cabealho do email: Data Assunto De Remetente Responder para Para
CC

Tabela 1 Quando um cliente se comunica com um servidor IMAP 4* (nota: *da Wikipedia alem para IMAP)

Linux Magazine #102 | Maio de 2013

71

ANLISE| Extenses IMAP

O cliente usa NOTIFY SET para especificar tanto as caixas de email como o tipo de informao que deseja receber. O servidor, em seguida, envia um conjunto de atributos juntamente com a resposta FETCH para o cliente, que agora torna-se um observador passivo. O efeito NOTIFY continua at que o cliente envie um novo comando NOTIFY ou at que uma das entidades feche a conexo IMAP. Como alguns clientes mveis s desejam atualizaes para mensagens que correspondem a um determinado padro de busca, o NOTIFY RFC tambm define atributos adicionais para a opo UPDATE, que entra em vigor neste caso.

Sincronizado: QRESYNC
A extenso QRESYNC [7] ressincroniza rapidamente com uma caixa de email do usurio. uma extenso

do comando CONDSTORE. Este, por sua vez, verifica a caixa de email para as mudanas de estado que ocorrem quando um usurio est usando diferentes clientes de email ou quando vrios usurios compartilham uma caixa de email. Se um usurio no cliente A altera o status de um email para no lida, tambm queremos que o cliente B se d conta disso; o cliente precisa vasculhar a caixa de email novamente (ressincronizao) para fazer isso. Embora o CONDSTORE identifique essas mudanas e resolva conflitos causados por acesso simultneo de vrios clientes, o Thunderbird e outros clientes de email precisam enviar os comandos UID FETCH e SEARCH, neste caso. Em contraste, o QRESYNC permite um resync, incluindo o rastreamento de arquivos excludos de uma s vez. A resposta VANISHED introduzida para isto (e substituindo EXPUNGED) descobre se o email foi excludo de forma eficiente.

O uso do comando SELECT no lado do cliente elimina a necessidade de conexes simultneas para o servidor, que s existem para evitar resyncs. O QRESYNC beneficia especialmente os dispositivos mveis, porque eles muitas vezes tm de recuperar os dados com mais frequncia por conta da fraca cobertura de rede. No admira que esta extenso seja uma das extenses Lemonade mencionadas anteriormente. Para usar o QRESYNC, o servidor precisa retornar ENABLE [8] como um recurso. A extenso ENABLE permite que os clientes habilitem um recurso especial de forma explcita. No caso do QRESYNC, o RFC requer que os clientes tenham enviado previamente um alvo ENABLE QRESYNC para o servidor.

No movimento: MOVE
Antes do IETF emitir uma RFC til [9] com duas declaraes MOVE e UID MOVE, tornando possvel mover mensagens de email entre caixas de correio a nica opo era combinar vrios comandos independentes ( COPY, STORE, e EXPUNGE) para obter o mesmo efeito. Esta implementao foi considerada abaixo da ideal por vrias razes: se a comunicao quebrar entre as trs etapas, os processos move tornam-se estanques. Este efeito tambm confunde os usurios, pois os clientes continuam a mostrar as mensagens neste estado intermedirio. Alm disso, em caixas de email compartilhadas, a terceira etapa pode mudar no apenas as mensagens selecionadas, mas tambm, inadvertidamente, as mensagens marcadas para excluso por terceiros. O MOVE resolve estes problemas, enquanto o UID MOVE move mensagens em funo de identificadores nicos. Para um cliente descobrir se um servidor suporta este recurso, o servidor

Figura 2 Os contedos das caixas de email podem ser baixados de forma


direcionada, como mostrado aqui no Thunderbird, e tambm restaurados e buscados localmente, se necessrio.

72

www.linuxmagazine.com.br

Extenses IMAP | ANLISE

precisa responder requisio CAPABILITY com MOVE.

Pesquisa rpida: ESEARCH


O padro IMAP j inclui duas funes de pesquisa na forma de SEARCH, que procura mensagens de email com base em seus Message Sequence Numbers (MSNs) e UID SEARCH, que usa o identificador nico. Uma desvantagem, no entanto, que no se pode limitar o nmero de resultados retornados. O ESEARCH [10], por outro lado, oferece vrias opes de resultado para o buscador. Assim, podemos limitar os resultados da pesquisa para um valor mnimo e mximo ou retornar apenas um certo nmero de resultados. At mesmo encontrar todos os resultados mais rpido, porque os resultados da pesquisa so retornados como um conjunto de sequncia, que compacto e economiza largura de banda. Alm do mais, este conjunto pode ser usado em um comando subsequente.

Novo: SORT e THREAD


As prximas duas extenses, SORT e THREAD , compartilham uma RFC comum [11]. O SORT, surpreendentemente, no uma parte fixa do protocolo IMAP. Representar o email em tpicos no realmente novo tambm, mas fundamentalmente apenas um algoritmo de ordenao. SORT e THREAD ocorrem no lado do servidor, economizando recursos do cliente

(figura 2). Ambas as extenses tm de processar os termos a serem classificados de acordo com os requisitos do I18NLEVEL=1, que parte de uma RFC [12] que regula a manipulao de conjuntos de caracteres internacionais. O servidor anuncia a capacidade de ordenao retornando SORT como resposta, e isso tambm produz o algoritmo de segmentao para o recurso THREAD . Uma resposta do servidor poderia ser THREAD=ORDEREDSUBJECT, que o mais simples dos dois algoritmos de segmentao disponveis que a RFC apresenta como the poor mans threading . O algoritmo primeiro ordena o email por assunto e, em seguida, dada a mesma linha no assunto, por tipo de data de entrega, onde ORDEREDSUBJECT ento converte essas mensagens em threads. Claro, isso pode causar problemas se algum responder thread mas alterar a linha do assunto. Neste caso, o algoritmo REFERENCES est gravado. muito mais sofisticado que ORDEREDSUBJECT e precisa de seis etapas principais para criar uma thread (explicado em detalhes pela RFC 5256 [11] nas pginas 8-11).

apaga mensagens que possuem o parmetro \Delete definido e um identificador nico (UID) que aparece na sequncia do conjunto da caixa de email selecionada. Ela se revela particularmente adequada quando um cliente que est apenas temporariamente conectado se ressincroniza com o servidor. Se a extenso UID EXPUNGE usada em vez de EXPUNGE, o cliente no mais acidentalmente apaga mensagens de outros usurios que foram marcados para excluso enquanto estava offline. Neste caso, o segundo critrio no se aplica, pois os UIDs das mensagens excludas no pertencem caixa de email. Este comportamento tornase relevante quando os usurios compartilham caixas de email ou tanto para usurios de clientes mveis como fixos.

Difcil: LISTEXTENDED
Tradicionalmente, os comandos LIST e LSUB mostram o contedo das caixas de email. Mas novas extenses IMAP deram origem a uma necessidade de determinados tipos de listas. Como LIST e LSUB no so naturalmente extensveis, os clientes foram obrigados a executar uma srie de comandos cada vez mais longos para alcanar o efeito exigido pelas extenses. A extenso LIST-EXTENDED [14] resolve o problema modificando o comando LIST existente, de tal forma que j no requer quaisquer comandos especiais, mas pode ser

Mais acessvel: UIDPLUS


De acordo com a RFC, a UIDPLUS [13] , parte da especificao Lemonade, uma extenso que trata particularmente de clientes difceis de alcanar. A extenso projetada para reduzir tempo e consumo de recursos. Para isso, ela define um comando adicional: o UID EXPUNGE

Figura 2 Este servidor IMAP 4 revela suas capacidades indicando que, entre outras coisas, suporta o NAMESPACE,
bem como o IDLE e o ID.

Linux Magazine #102 | Maio de 2013

73

ANLISE| Extenses IMAP

complementada com uma variedade de opes e padres de busca. A nova sintaxe descendentemente compatvel e usada somente se a primeira ou segunda palavra depois do comando inicia-se com um parnteses, ou se o comando LIST tiver mais de dois parmetros. Caso contrrio, o comando LIST tradicional serve como um fallback.

Tudo permitido: ACL

Nomes reais: NAMESPACE


Como o IMAP 4 no define um namespace padro, duas convenes namespace genricas surgiram: no modelo Personal Mailbox (Caixa de email pessoal), o namespace padro representa apenas as caixas de email pessoais do usurio. Em contraste, o modelo Complete Hierarchy (Hierarquia completa) inclui todas as outras caixas de email digitais que o usurio pode acessar alm da sua prpria caixa de email. O problema com estes modelos relaciona-se com a sobrecarga de configurao a eles associados. O comando NAMESPACE [15] permite que os clientes descubram automaticamente os prefixos definidos pelo servidor para caixas de email (figura 3), assim distinguidas entre caixas de email pessoais, caixas de email de outros usurios e pastas compartilhadas. Isso permite que os administradores atribuam caixas de email pblicas (por exemplo, listas de discusso), um prefixo pblico, para distinguir caixas de email compartilhadas com o prefixo compartilhado, e para marcar as caixas de email por usurio como privadas. Isso no s economiza trabalho manual, mas as caixas de email em um namespace podem, tambm, residir em diferentes locais na rede e usar diferentes formatos como, por exemplo, Maildir e Mbox.
74

Caixas de email especificadas com NAMESPACE geralmente tambm possuem direitos de acesso diferentes. As Access Control Lists para caixas de email e a extenso ACL [16] permitem que o administrador visualize e modifique os direitos usando comandos IMAP. A RFC associada, a partir de 1997, acabou sendo extinta; assim, a RFC 4314 [17] acompanhou a definio de novos direitos de acesso e adicionou clareza para a situao dos direitos. Alm da string ACL, o servidor precisa usar RIGHTS = para indicar os direitos que ele suporta ao responder a CAPABILITY: atualmente 11 direitos padro e dois direitos virtuais ( d e c), que existem por razes de compatibilidade com a RFC 2086. Comandos possveis em combinao com a RFC incluem: SETACL, GETACL, DELETEACL, LISTRIGHTS e MYRIGHTS. Entradas ACL consistem de dois componentes (identificador de acesso e direitos) e podem ser atribudas a caixas de email especficas. O identificador de acesso em geral o nome de usurio (uma string UTF8) e tambm aceito com LOG e AUTHENTICATE. No entanto, mais de um identificador pode existir para cada usurio. Alm disso, aRFC define um identificador a qualquer um, que faz referncia a uma identidade genrica que inclui logins annimos. Se o identificador precedido por -, sero negados os direitos atribudos ao usurio associado. Enquanto que as letras minsculas mostram os direitos do usurio, a RFC usa nmeros para atribuies de direito no contexto de implementaes do servidor:

postmasters podem us-los para atribuir ou negar certos direitos em todos os sentidos, garantindo assim, por exemplo, que os usurios s possam gerenciar caixas de email prprias. n

Mais informaes
[1] List of Imap extensions: http://imapwiki.org/Specs [2] Lemonade RFC: https:// tools.ietf.org/html/rfc4550 [3] CAPABILITY: http:// tools.ietf.org/search/ rfc3501#section6.1.1 [4] ID: https://tools.ietf. org/html/rfc2971 [5] IDLE: http://tools.ietf. org/html/rfc2177 [6] NOTIFY: http://tools. ietf.org/html/rfc5465 [7] QRESYNC: http://tools. ietf.org/html/rfc5162 [8] ENABLE: http://tools. ietf.org/html/rfc5161 [9] MOVE: http://tools. ietf.org/html/rfc6851 [10] ESEARCH: https://tools. ietf.org/html/rfc4731 [11] SORT and THREAD: https://tools.ietf. org/html/rfc5256 [12] Internationalization: https:// tools.ietf.org/html/rfc5255 [13] UIDPLUS: http://tools. ietf.org/html/rfc4315 [14] LISTEXTENDED: https:// tools.ietf.org/html/rfc5258 [15] NAMESPACE: https:// tools.ietf.org/html/rfc2342 [16] ACL: http://tools. ietf.org/html/rfc2086 [17] ACL update: http://tools. ietf.org/html/rfc4314

Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8586

www.linuxmagazine.com.br

Foreman e Puppet | ANLISE

Foreman e Puppet

Auxlio construo
Mquinas virtuais podem ser fceis de criar e remover se forem mais gerenciveis. Possuir as ferramentas certas pode ajudar. por Sebastian Saemann

ANLISE

comunidade de cdigo aberto oferece dois projetos para tarefas administrativas de rotina que se complementam perfeitamente: Puppet e Foreman. O Puppet [1] um conjunto de ferramentas de gerenciamento de cdigo aberto com um framework escrito em Ruby para a gesto e configurao de servidores, enquanto o Foreman [2] uma ferramenta de gerenciamento de ciclo de vida.

Puppet

O Puppet oferece aos adminstradores uma abordagem de instalao e configurao de software adicional que relativamente independente do sistema operacional bsico. Os sistemas operacionais suportados so as distribuies Linux mais populares, Unix, e agora tambm Windows. Um ambiente Puppet tpico compreende uma mquina master (servidor) e um ou mais agentes (clientes). A comunicao entre o mestre e o agente garantida com certificados SSL auto-assinados. A mquina master armazena um manifesto que descreve a funo e o estado de destino do cliente. Um estado de destino seria, por exemplo, servidor web com usurios PHP e locais com chaves SSH. O manifesto pode ser escrito em uma linguagem de domnio especfico (DSL). Alm disso, o Facter [3] executado no cliente. Ele coleta informaes sobre o sistema e encami-

nha para a mquina master do Puppet quando o Puppet executado. Com base nos dados recolhidos, a master pode gerar um catlogo dinmico do manifesto predefinido. Por sua vez, o catlogo executado no agente, que emite os comandos corretos com base nas informaes do Facter. O Facter coleta muitos dados sobre o sistema operacional, hardware, software, rede, e assim por diante. Se precisar de mais informaes, possvel definir dados personalizados. Por exemplo, se desejar instalar o Apache2 como um servidor web, um trecho do manifesto se pareceria com isto:
package { "apache2" : ensure => "installed", }

No Debian, o Puppet selecionaria o provedor para o pacote e em seguida executaria o comando Apt-get install apache2. No Red Hat, o gerenciador de pacotes Yum substituiria o Apt. No entanto, executar yum install apache2 levaria a uma mensagem de erro, pois o pacote no RHEL no chamado apache mas httpd. Para projetar este manifesto para vrios sistemas operacionais, mais dados so necessrios. Os dados podem ser utilizados no manifesto como variveis para decises (listagem 1). O Puppet DSL oferece herana, classes, mdulos, arrays, variveis, parmetros, templates e escopos de forma muito parecida com uma linguagem

de programao. Em outras palavras, temos muitas oportunidades para fazer manifestos flexveis e modulares. Se levarmos isso um passo adiante, podemos garantir que a configurao do Apache seja feita incluindo quaisquer hosts virtuais e que o servidor web seja reiniciado no momento do boot e aps as alteraes na configurao do Apache. Tanto o apache::service como o apache::config exigem a classe apache:: install para serem executados. A classe apache::install s instala o pacote httpd ou apache2. Um conjunto lgico e contguo de classes referido como um mdulo (listagem 2). Depois de adaptar o manifesto para atender s suas necessidades, possvel configurar servidores novos ou adicionais, ou mesmo depois de reinstalar o servidor, para o estado de destino definido. O Puppet tambm possui uma

Listagem 1: Distino de caso


01 **case $operatingsystem { 02 ** ** ** **/(Debian|Ubuntu)/: { 03 ** ** ** ** ** **$apache_ package_name = 'apache2' 04 ** ** ** **} 05 ** ** ** **/ (RedHat|CentOS|Fedora)/: { 06 ** ** ** ** ** **$apache_ package_name = 'httpd' 07 ** ** ** **} 08 ** **} 09 10 package { $webserver_package_ name : 11 ensure => "installed", 12 }

Linux Magazine #102 | Maio de 2013

75

ANLISE| Foreman e Puppet

grande comunidade, e podemos usar mdulos existentes do Puppet Forge ou GitHub. Em resumo, o Puppet uma ferramenta que permite configurar um servidor nos mnimos detalhes. Mas o Puppet no lida com a instalao do sistema operacional real; onde o Foreman entra no jogo.

Proxy DNS DHCP Inteligente TFTP Proxy DHCP TFTP Inteligente

DNS

Proxy DNS DHCP Inteligente TFTP Proxy DHCP TFTP Inteligente

DNS

Proxy DNS DHCP Inteligente TFTP Proxy DHCP TFTP Inteligente

DNS

Proxy DNS DHCP Inteligente TFTP Proxy DHCP TFTP Inteligente

DNS

Rede segmentada

Restful API HTTP (s)

Puppet

Foreman

Wen User API

Foreman

Reports/ Facts / ENC Compute

A ferramenta de gerenciamento de ciclo de vida Foreman abrange os ciclos de vida completos de servidores fsicos e virtuais, desde a criao de um host e instalao de um sistema operacional atravs de um gerenciador baseado em Puppet. A instalao do Foreman pode ser conduzida por um instalador diretamente das fontes de um repositrio Git, ou podemos usar os pacotes pr-compilados. O Foreman interage estreitamente com o Puppet, mas tambm com outros elementos de infraestrutura pr-existentes (figura 1); altamente dinmico e pode ser utilizado com mais ou menos recursos, dependendo das necessidades. Para algumas de suas caractersticas, o Foreman conta com um proxy inteligente. Um proxy inteligente um servidor que, por exemplo, trata das entradas de registros de DNS ou fornece a instalao PXE. Qualquer nmero de proxies inteligentes pode ser instalado em servidores diferentes ou no mesmo servidor, como o prprio Foreman. Tal como acontece com o Foreman, podemos desenhar em pacotes pr-compilados para as distribuies suportadas ou instalar diretamente a partir da fonte. A comunicao entre o Foreman e um proxy inteligente controlada por uma API RESTful. Se tivermos, por exemplo, uma rede de mltiplas subredes sem retransmisso DHCP, precisaremos usar vrios proxies inteligentes para lidar com a instalao automtica em cada segmento de rede. Os recursos do proxy inteligente incluem: DHCP: manipula a atribuio automtica de endereos IP em subredes
76

RHEV-M EC2 VMWare OpenStack

DB

LDAP / AD INTERNAL

Figura 1 A interao entre componentes em um ambiente que utiliza o Foreman.

definidas ou intervalos de endereos IP. DNS:oferece resoluo de nomes para registros de host direto e reverso. So suportados apenas produtos compatveis com ISC, tais como BIND e servidores de DNS da Microsoft. A ferramenta nsupdate lida com a atualizao para uma zona dinmica; ela

autenticada no nome do servidor usando uma chave configurada e predefinida. TFTP e PXE: instalaes silenciosas exigem um servidor DHCP configurado e podem instalar um sistema operacional em um servidor PXE inicializvel. A instalao feita pelo servidor TFTP para a imagem dispo-

Listagem 2: Definies de classe


01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class apache { include apache::params, apache::service, apache::install } class apache::params { ** **case $operatingsystem { ** ** ** **/(Debian|Ubuntu)/: { ** ** ** ** ** **$apache_package_name = 'apache2' ** ** ** ** ** **$apache_service_name = 'apache2' ** ** ** ** ** **$apache_config_name = '/etc/apache2/apache.conf' ** ** ** **} ** ** ** **/(RedHat|CentOS|Fedora)/: { ** ** ** ** ** **$apache_package_name = 'httpd' ** ** ** ** ** **$apache_service_name = 'httpd' ** ** ** ** ** **$apache_config_name = '/etc/httpd/httpd.conf' ** ** ** **} ** **} } class apache::config { ** **file { $apache::params::apache_config_name: ** ** ** **notify => Class[apache::service'], source => "puppet:///modules/apache/${apache::params::apache_ config_name}", ** **} } ** class apache::service { ** **service { $apache::params::apache_service_name : ** ** ** **ensure => 'running', enable => 'true', ** **} }

24 25 26 27 28 29 30 31 32 33 34 package { $webserver_package_name : 35 ensure => "installed", 36 }

www.linuxmagazine.com.br

Foreman e Puppet | ANLISE

nvel e ento semeada via Kickstart (Fedora, RHEL) ou Preseed (Debian, Ubuntu) com as respostas de instalao predefinidas. Alm do Kickstart e Preseed, outras tcnicas podem ser utilizadas, tais como JumpStart. PuppetCA: Graas a este recurso, o Foreman pode assinar os certificados Puppet SSL entre mestre e agente. Depois de instalar o sistema operacional, o Puppet pode ser executado sem interveno manual para implementar a configurao do manifesto Puppet. Recursos com Smart Proxy incluem: ENC: o Puppet fornece um classificador de n externo. Ele executa um script que l e apresenta a atribuio de classe a partir de outra fonte de dados. Utilizando a interface web no Foreman, podemos criar um host e atribuir classes classes do Puppet a ele. CMDB: o Foreman tambm pode ser usado como uma base de dados de gerenciamento de configurao, eliminando assim a necessidade de manuteno de um inventrio separado. O inventrio geralmente toma a forma de dados do Facter. A falta de informaes ou de adicionais pode ser facilmente mapeada com dados personalizados. Recursos de computao: o Foreman pode provisionar mquinas fsicas e tambm virtuais em nuvens privadas ou pblicas. Em vez de um servidor bare-metal (executado sobre o hardware), ele em seguida implementa diretamente, por exemplo, uma instncia AWS EC2 na nuvem da Amazon. VMware ou OpenStack tambm so suportados. Relatrios: o relatrio de um agente Puppet normalmente enviado para a mquina Puppet master, e o relatrio pode ser enviado para o Foreman para visualizao e estatsticas. Auditoria: o recurso de auditoria permite visualizar as alteraes por colegas ou clientes. LDAP: a autenticao de usurio Foreman pode enderear um LDAP ou Active Directory existente e usar uma autoridade de autenticao central.

Economia de tempo

A instalao e integrao da infraestrutura existente depende de uma viso geral de todos os componentes e, muitas vezes leva algum tempo. No entanto, depois de serem instalados todos os componentes e recursos, o Foreman e o Puppet podem economizar tempo. Se o usurio precisar de um novo aplicativo de servidor Debian, por exemplo, um administrador pode fazer login no Foreman usando credenciais do Active Directory e preencher o formulrio para criar um novo host. Isto envolve escolher um hostname, o sistema operacional, e os mdulos do Puppet. O prximo endereo IP livre sugerido com base na atribuio de domnio. Os mdulos do Puppet podem ser ssh, apache2, php ou haproxy. Depois de ter confirmado o formulrio, uma entrada que instala o servidor com o endereo MAC atribudo e o Debian Linux gerada no servidor PXE/TFTP. O servidor DHCP j definiu uma concesso esttica para o servidor e ir atribuir o endereo IP quando o servidor assim demandar. O servidor inicializado e instalado pelo Preseed. Em seguida, os preparativos para a primeira execuo do Puppet so concludos na mquina Puppet mestre. Podemos estender o script aqui para adicionar o servidor ao sistema de monitoramento. Depois de um reboot, o Foreman sabe que o servidor foi instalado e altera o registro de inicializao PXE para que o servidor faa o boot a partir do disco, ao invs da imagem de instalao. Depois disso, o daemon puppetd executado e imediatamente dispara a execuo do Puppet. O agente Puppet requer do Puppet master o manifesto e o executa. O relatrio sobre a instalao bem sucedida das classes Puppet retornado ao Foreman, de modo que o administrador pode acompanhar o status do servidor atravs da interface web. Qualquer erro seria visto l imediatamente. Os mdulos Puppet teriam comunicado ao servidor para instalar o Apache2 com o mdulo PHP; todos

as vhosts tambm foram criadas, e a informao foi comunicada pelo mdulo haproxy para o balanceador de carga e configurado ao mesmo tempo. O servidor pode, assim, entrar em produo sem atrasos. O administrador pode ento tentar um login SSH ao servidor para certificar-se de que tudo est funcionando. O login SSH usa a chave SSH do servidor e seu hostname pois o Foreman criou as entradas de DNS e o Puppet instalou a chave SSH do administrador. Ao todo, o processo no deve levar mais do que 5 a 10 minutos, incluindo a instalao. O exemplo descrito neste artigo mostra claramente o valor deste tipo de soluo: os benefcios em termos de tempo, bem como a integralidade da configurao so impressionantes. Com uma configurao manual, erros vo acontecer, e at mesmo os mais simples podem causar problemas mais cedo ou mais tarde. O Foreman est em desenvolvimento ativo e acaba de ser atualizado para a verso 1.1. Esta verso implementa algumas caractersticas muito aguardadas, como classes parametrizadas, suporte para Puppet 3, locais e organizaes, e outras melhorias. n

Mais informaes
[1] Image tool for U-Boot environment: http:// free-electrons.com/ blog/mkenvimage-ubootbinary-env-generator/ [1] Puppet: https:// puppetlabs.com/ [2] Foreman: http:// theforeman.org/ [3] Facter: https:// puppetlabs.com/puppet/ relatedprojects/facter/

Gostou do artigo?
Queremos ouvir sua opinio. Fale conosco em cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8580

Linux Magazine #102 | Maio de 2013

77

Calendrio de eventos
Evento Data Local Informaes

ndice de anunciantes
Empresa
Supermicro

Pg.
02

SERVIOS

BITS 2013

14 a 16 de maio

Porto Alegre, RS

http://www.bitsouthamerica. com.br/

Senac

07

Unodata

09

Impacta

13

Uol Cloud

23

Forum Analytics

16 de julho

So Paulo, SP

https://www.linuxnewmedia. com.br/fan/

Central Server

29

Plus Server

32,33

Fisl

81

CloudConf

10 e 11 de setembro

So Paulo, SP

http://www.cloudconf.com.br/

Watchguard

83

IBM

84

A LINUX MAGAZINE TEM UM PRESENTE PARA VOC!

Quer ganhar essa mochila Targus personalizada de presente da Linux Magazine?


Veja o regulamento da promoo no site:

http://www.linuxmagazine.com.br/hotsite/mochila_natal
80
www.linuxmagazine.com.br

Assunto | SEO

NOME DA SEO
81

Linux Magazine #XX | Ms de 200X

PREVIEW

Linux Magazine #103


Segurana
Na prxima edio da Linux Magazine voltamos ao universo da segurana, assunto que constante e primordialmente necessrio. Aprenda como criar e coloque prova suas regras de segurana com a ferramenta OpenSCAP, descubra potenciais vulnerabilidades que podem tornar-se porta de entrada para ataques do tipo SQL Injection e ainda saiba como aumentar a segurana do seu sistema atravs da ferramenta GRsecurity. Edio imperdvel! n

Admin Magazine #09


OpenStack
Capaz de gerenciar os componentes de mltiplas instncias virtualizadas, o OpenStack um dos queridinhos dos profissionais de infraestrutura e virtualizao da atualidade. livre, no possui restries quanto quantidade de instncias e uma plataforma robusta, extremamente til nestes tempos onde o advento da computao em nuvem j uma realidade. Na prxima edio da Admin Magazine voc vai conhecer tudo o que essa incrvel ferramenta pode fazer por voc! No perca! n

82

www.linuxmagazine.com.br

Voc refm da Operadora de Telecom?

Altos custos de conectividade impedem sua empresa de ter links redundantes.


No pule no vazio! Achar que a segurana simples o comeo de seus problemas! um erro, total e comum, achar que qualquer um na sua TI pode fazer gesto de segurana da sua

Alugue um Firewall gerenciado a partir de R$ 300,00/ms.

Controle de Contedo e Antivrus, Solues Antispam, implementadas localmente ou na nuvem, Proteo de Invases e Ataques, Balanceamento de Links e Servidores, Anlise de Vulnerabilidades e Riscos,

Conectividade entre Sites, Fornecedores, etc. Conectividade Segura para Usurios Mveis, Otimizao de Links, Controle de Navegao, Controle de Aplicaes,

vendas@altermedios.com.br

(11) 3393.3340

You might also like