Pe te rG al br ai th – Fo to lia CAPA Criação de appliances virtuais com VMware Studio e SUSE Studio Criador de appliances Appliances virtuais combinam os benefícios da virtualização à simplicidade de um dispositivo de um único serviço. Veja como criar as suas próprias com o VMware Studio e o SUSE Studio. por Kenneth Hess O s dispositivos chamados de appliances são engenhocas colocadas na sala dos servidores para realizar uma única tarefa. No espaço da TI, appliances baseadas em hardware indexam documentos, oferecem segurança com firewalls e funcionam como sistemas de gerenciamento de conteúdo. Essas appliances são fáceis de instalar e configurar, mas ainda ocupam espaço. Quem se preocupa com as complicações de acrescentar mais máquinas ao rack talvez se interesse em algo mais virtual. Uma appliance virtual é uma máquina virtual (MV) que inclui um sistema operacional mínimo com apenas os aplicativos mais essenciais 44 – geralmente orbitando em torno de uma ferramenta personalizada e desenvolvida para uma necessidade específica de negócios. Appliances virtuais fazem quase tudo que uma appliance de hardware pode fazer. Appliances virtuais podem ser usadas como dispositivos de detecção de intrusão, honeypots, firewalls, servidores de email, DNS, CMS e muito mais. Uma appliance virtual possui todas as vantagens de outros sistemas virtuais – fácil instalação, baixo custo, gasto mínimo de hardware – e até oferece algumas vantagens em relação a outros sistemas virtuais, tais como economia de recursos pelo sistema operacional e menor necessidade de memória. Appliances virtuais também oferecem alguns benefícios quanto à segurança: como o sistema oferece apenas funcionalidade básica, há menos portas abertas para invasão. Muitas appliances virtuais atuam com apenas um único serviço dedicado além do sshd para tarefas administrativas. Há dezenas de appliances virtuais disponíveis na Internet (veja uma lista de sites no fim deste artigo), mas a maioria delas é feita para o VMware. Embora haja outras tecnologias de virtualização perfeitamente capazes de sustentar uma appliance, as alternativas não possuem o amplo suporte dispensado aos produtos http://www.linuxmagazine.com.br Appliances virtuais | CAPA Este artigo explica como começar a criar appliances virtuais no VMware Studio e no SUSE Studio. VMware Studio Figura 1Console da máquina virtual no VMware Studio. VMware. Conforme Xen, xVM e KVM ganham aceitação, o suporte a appliances com essas tecnologias também deve crescer. Appliances baseadas em VMware rodam sobre o VMware Server ou o VMware Player, ambos gratuitos. Para usá-las com o ESX ou com o ESXi, é preciso convertê-las para o formato OVF usando a ferramenta VMware Converter. A maioria das appliances encontradas na Internet estão prontas para uso com poucas alterações, e muitas já vêm com suporte à administração via Web. Na ausência de soluções perfeitas, pode ser interessante criar a sua própria appliance virtual. Esse tipo de solução oferece algo que as outras não podem fornecer: controle criativo completo. Há várias opções para criar appliances virtuais pessoais. Pode-se começar com uma distribuição Linux completa e retirar as ferramentas e serviços desnecessários. Porém, se for preferível uma abordagem mais estruturada e simples, surgiram recentemente diversas ferramentas com o propósito de criar appliances virtuais. Duas das mais conhecidas e desenvolvidas são o VMware Studio e o SUSE Studio. Elas têm funções semelhantes, mas usam técnicas bastante diferentes. O VMware Studio é uma appliance usada exclusivamente para criar outras appliances. Por Linux Magazine #52 | Março de 2009 outro lado, o SUSE Studio se baseia 100% na Web. Ferramentas automatizadas como essas duas não têm como objetivo criar appliances totalmente personalizadas e localizadas. A ideia é criar um sistema extremamente mínimo com apenas os serviços necessários. Com esse sistema criado, pode-se adaptar a configuração conforme necessário e instalar uma ou várias instâncias da versão final. O VMware Studio é uma appliance virtual que pode ser usada para criar outras appliances virtuais. Para usá-lo, é necessário ter acesso a uma máquina com VMware Server ou VMware Player. Primeiro, baixe o VMware Studio 1.0 do site do VMware [1] e depois descompacte a máquina virtual do VMware Studio e inicie-a no VMware Server ou VMware Player. Após inicializar o sistema, o VMware Studio oferece uma URL para o console web da appliance (figura 1). Nesse console, é possível fazer login para usar a interface de linha de comando, configurar a rede e definir o fuso horário. Para começar, abra um navegador e aponte-o para a URl fornecida na tela de início do VMware Studio (por exemplo, https://10.0.1.40:5480). Depois, faça login como root usando Figura 2Tela de criação de uma nova appliance no VMware Studio. 45 CAPA | Appliances virtuais a senha criada na primeira execução da máquina virtual do VMware Studio. Uma vez dentro do VMware Studio, é possível ver as appliances criadas anteriormente. Para começar a criar uma appliance virtual, clique no botão Create Appliance sob Actions na direita da tela. A tela do assistente Create New Appliance (figura 2) é mostrada. Primeiramente, digite um nome único para o perfil da nova appliance e selecione um modelo de sistema operacional a partir da lista. Nesta demonstração vamos usar o nome web_database para o perfil, e Cent­OS 5.2 para o modelo. Nota: para usar qualquer um dos modelos de sistema operacional listados é preciso baixar as imagens ISO de seus respectivos sites e colocá-las no diretório /opt/vmware/www/ISV/ISO/ do VMware Studio. Para continuar, clique no botão Create New Appliance. As páginas seguintes fornecem opções de personalização para configurar sua appliance. A primeira página (mostrada na figura 3) permite a definição de números e nomes de versão, nome de fornecedor e descrição da appliance. Além disso, digite a sua Figura 3Edição das configurações da nova appliance virtual. EULA (acordo de licença para usuários finais), caso exista, e também o texto de boas vindas, seu logo, informações semelhantes, scripts de inicialização e informações de certificados SSL. Figura 4Tela de criação de uma nova appliance no SUSE Studio. 46 Selecione a aba Hardware para editar o número de CPUs (1 ou 2), a quantidade de memória RAM (em MB), o número de adaptadores de rede, os nomes e tamanhos dos discos, além de partições, pontos de montagem, tipos de sistemas de arquivos e área de troca (swap). Também é possível acrescentar mais discos virtuais. A aba OS informa a localização do sistema operacional selecionado, e também todos os scripts pré e pós-instalação a serem executados. Também é possível acrescentar mais usuários por essa página. A aba Application permite a seleção de outros repositórios de pacotes e a instalação ou desinstalação de pacotes específicos. Por padrão, essa appliance inclui os pacotes libcurl3, libglib2.0-0, libpcre3, librpm4.4, openssh-server e openssl. Para acrescentar novos pacotes, digite o nome do pacote no campo Additional packages e clique no botão http://www.linuxmagazine.com.br Appliances virtuais | CAPA Add. A aba Output pede um nome e um formato de distribuição (OVF ou ZIP) para a appliance. Se você pretender manter atualizações para a appliance, use a área Update Repository para fornecer as informações necessárias aos usuários da appliance. Com as configurações da appliance finalizadas, clique em Validate para procurar erros no perfil criado. Caso haja algum, uma caixa o alertará. Quando estiver tudo certo, a caixa dirá: Profile Validation Passed. Ao validar a configuração de uma appliance, é possível que o processo tenha sucesso, mas você ainda receberá um erro como openssl-0.9.7 not found. Para remediar essa falha, tente validar novamente após criar os seguintes links simbólicos na máquina anfitriã: # ln -s /usr/bin/libcrypto.so \ /usr/bin/libcrypto.so.0.9.7 # ln -s /usr/bin/libssl.so \ /usr/bin/libssl.so.0.9.7 não estava publicamente disponível. Ele é um ambiente totalmente baseado na web para criação de appliances [2]. A interface web funciona no Firefox e no Safari, mas não no Internet Explorer. As appliances do SUSE Studio usam um modelo JeOS (Just Enough OS – Sistema Operacional com Apenas o Suficiente) do openSUSE 11.0. A partir dele, é possível escolher um dos tipos genéricos de appliance: Text Only (apenas modo texto), Minimal X (X mínimo), KDE 3, KDE 4 ou GNOME. Esta demonstração usa o modelo Text Only, projetado para sistemas sem interface gráfica de usuário. Essas appliances geralmente atuam como servidores para pequenas equipes, os quais requerem pouca interação com os usuários. Para criar uma nova appliance virtual com o SUSE Studio, é preciso fazer login em [2]. Em seguida, o SUSE Studio apresenta a página de opções, como mostra a figura 4). Selecione a opção Text Only e, na página inicial, dê um nome à appliance. Um clique na aba Software leva a uma tela (figura 5) onde é possível adicionar pacotes de software à appliance para personalizá-la. Nesse caso, a appliance de exemplo será um banco de dados, então precisamos de Apache, MySQL, PHP e Perl. Para adicionar um pacote, pode-se tanto selecionar um grupo de softwares quanto digitar seu respectivo nome no campo Quick Add e depois clicar em Add. Esse é o método mais rápido quando já se sabe o nome do pacote. Após adicionar todos os softwares desejados, clique na aba Configuration. Ela contém a área das configurações principais da appliance, com várias subcategorias de configuração: General (Geral), Startup (Inicialização), Server (Servidor), Desktop, Storage & memory (Armazenamento e memória) e Personalize (Personalizar). A subcategoria General pede o locale padrão, o layout do teclado, a região, o fuso horário, as configurações de rede (incluindo o firewall) e os demais usuários e grupos. Use esses dois links na máquina VMware independentemente da versão do OpenSSL que você esteja usando de fato. Para terminar a criação, é preciso corrigir todos os erros encontrados pelo processo de validação até que não haja mais nenhum. Depois disso, clique nos botões Save e Build. Por último, clique em Build Appliance quando for mostrado o Build Summary. Enquanto o sistema cria a appliance, são mostrados o log e o status do processo. Ao final, a appliance já estará pronta para download e instalação no formato escolhido (OVF ou ZIP). SUSE Studio O SUSE Studio ainda está em estágio alfa de desenvolvimento e, no momento da escrita deste artigo, ainda Linux Magazine #52 | Março de 2009 Figura 5Aba Software do SUSE Studio. 47 CAPA | Appliances virtuais Startup define o run level padrão (1, 2, 3 ou 5). A seção Server abriga as configurações específicas dos pacotes de servidor selecionados na aba Software que são configuráveis (a configuração do MySQL é um exemplo). Desktop permite a definição de um login automático com um usuário específico, e também a adição de programas à inicialização. A subcategoria Storage & memory é onde se especifica a quantidade de memória RAM da appliance (em MB), o tamanho do disco virtual (em GB) e o tamanho da área de swap (em MB). Na subcategoria Personalize, podese fazer upload ou selecionar um logo e um papel de parede para a appliance. Selecione a aba Files para adicionar mais arquivos à appliance. Na hora de criar a appliance, selecione Build e escolha o tipo de imagem: um disco rígido ou pen drive (a opção Disk image), uma imagem de Live CD/DVD ou uma imagem do VMware (.vmdk e .vmx). Usar números de versões nas imagens também é uma boa ideia. A figura 6 mostra a imagem de MV do VMware criada para este artigo. A nova imagem criada neste artigo tem 603 MB, ou 212 MB quando comprimida. Clique no botão Build para criar a appliance. Dependendo das suas escolhas, a criação pode levar desde poucos minutos até vários deles. Após o término, aparece um botão Action com as seguintes opções: Download, View log (ver log), Testdrive (Testar), File browser (gerenciador de arquivos) e Remove (Apagar). A opção Testdrive é um bônus do SUSE Studio para solucionar problemas de appliances. Selecionar essa opção inicia a appliance e permite usá-la durante 30 minutos. Essa opção é interessante para verificar o desempenho da appliance antes de usá-la na prática. Depois do processo de criação da imagem, é possível baixá-la, descompactá-la, instalá-la e começar a usá-la no VMware Server ou VMware Player. Conclusão Appliances virtuais são a última moda no mundo da virtualização. O baixo consumo de recursos e a orientação a um único propósito tornam-nas fáceis de instalar e manter em qualquer data center virtual. Entre as duas aplicações descritas neste artigo para criação de appliances, o SUSE Studio possui a vantagem de ser completamente baseado na Web, portanto, fácil e rápido para usar. Sua opção Testdrive é um excelente adicional, pois economiza tempo no ciclo de criação e teste das máquinas virtuais. Atualmente, o SUSE Studio suporta apenas appliances para VMware Server ou Player, mas no futuro haverá a escolha de salvar as appliances em vários formatos, incluindo o Microsoft Hyper-V, VMware, OVF, Xen e Amazon EC2. n Mais informações [1]VMware Studio: http:// www.vmware.com/ download/va_authoring [2]SUSE Studio: http:// www.susestudio.com [3]Mercado de appliances do VMware: http://www. vmware.com/appliances [4]Imagens de VMware do ThoughtPolice: http:// www.thoughtpolice.co.uk [5]Appliances VMware do JumbBox: http:// www.jumpbox.com [6]Appliances virtuais corporativas: http:// virtualappliances.net Sobre o autor Figura 6Clique em Build para criar sua nova appliance virtual. 48 Ken é autor e jornalista freelance. Ele cobre vários tópicos do Código Aberto, incluindo Linux, bancos de dados e virtualização. Entre em contato com ele em www.kenhess.com. http://www.linuxmagazine.com.br