Professional Documents
Culture Documents
14
O aumento da complexidade o preo da expanso
MADDOG p.24
Migrao Windows para Linux
MEDIALINX
# 102 Maio 2013
A REVISTA DO PROFISSIONAL DE TI
#44 07/08 R$ 13,90 7,50
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
A REVISTA DO PROFISSIONAL DE TI
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
SEGURANA p.54
ANDROID p.68
ESSENCIAIS p.72
WWW.LINUXMAGAZINE.COM.BR
9 771806 942009
Conhea as vantagens da nova verso do Internet Protocol, e veja por que difcil adot-la
WWW.LINUXMAGAZINE.COM.BR
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
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
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
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
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
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
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.
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
23
Samba 4
CAPA
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
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
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.
esta varivel. Da mesma forma, o arquivo sshd_conf precisa da seguinte linha adicionada:
SendEnv LOADEDMODULES NOMODULES
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
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
62
www.linuxmagazine.com.br
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.
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,
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/
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
63
TUTORIAL| Desfragmentao
Desfragmentao
TUTORIAL
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>
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
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
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.
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.
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.
SOFTWARE
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
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-
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
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
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
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.
69
Extenses IMAP
ANLISE
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-
70
www.linuxmagazine.com.br
-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.
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.
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)
71
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
72
www.linuxmagazine.com.br
(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
Figura 2 Este servidor IMAP 4 revela suas capacidades indicando que, entre outras coisas, suporta o NAMESPACE,
bem como o IDLE e o ID.
73
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.
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
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
75
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.
DNS
DNS
DNS
DNS
Rede segmentada
Puppet
Foreman
Foreman
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
DB
LDAP / AD INTERNAL
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-
www.linuxmagazine.com.br
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
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
http://www.linuxmagazine.com.br/hotsite/mochila_natal
80
www.linuxmagazine.com.br
Assunto | SEO
NOME DA SEO
81
PREVIEW
82
www.linuxmagazine.com.br
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