Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e...

8
42 http://www.linuxmagazine.com.br CAPA Seu computador na nuvem Sol em dia de nuvens Se você está pensando em migrar seu computador para a nuvem, conheça algumas formas de aproveitar a tecnologia. por Marcel Gagné A computação em nuvem pro- mete máquinas virtuais rápidas e de fácil gerenciamento em grandes redes. A ideia é aproveitar a sua (ou de outros) estrutura de hardware já existente e implantar sistemas adicionais sem a necessidade de hardware adicional. Isso parece um presente do céu da tecnologia. Logicamente, a computação em nuvem é o assunto do momento, alguns dizem que ela é intrinseca- mente segura, insegura, confiável, pouco confiável, supervalorizada ou um grande malefício. Ouvir os em- presários falando sobre computação em nuvem, no entanto, faz com que percebamos que, independentemente do que ela traz em seu bojo – tecno- logia baseada em virtualização – ela veio para ficar. Seu trabalho como administrador de rede é encontrar maneiras para oferecer e trabalhar com essa tecnologia. Sempre que o assunto surge, gosto de acabar com a mística por trás da computação em nuvem, portanto, lá vou eu. Nuvem é apenas uma palavra bonita para a rede ou os recursos de rede de outra pessoa. Esses recursos normalmente se referem aos servido- res (ou hardware) de uma organiza- ção – isto é, processadores, memória etc. Uma coisa muito importante no emprego de máquinas virtuais é o espaço em disco. Sua rede pode não estar par a par com o Google ou a Amazon, mas muitas organizações possuem hardware e ciclos de CPU extras. Por isso, muito será dito sobre nuvens particulares também. Existem vários serviços e esque- mas de virtualização. Quando uso o termo “esquema”, estou falando sobre o software que possibilita a vir- tualização – KVM, Xen, VirtualBox e outros. O “serviço” é o lado dos negócios – empresas que oferecem o serviço de nuvem. O serviço de computação em nuvem mais conhecido é provavel- mente o EC2 (Elastic Cloud Services) da Amazon. Este não é um serviço gratuito, mas a Amazon fez dele algo muito fácil de usar e relativamente barato, caso queira contratar rapida- mente uma máquina para testes [1]. Se precisar de uma máquina com acesso à Internet para testes com urgência, vale a pena conferir esse serviço. Primeiramente, mostrarei como as coisas funcionam com a Amazon; depois, mostrarei algumas maneiras para fazer isso na sua própria nuvem particular, no seu hardware. Amazon ou nada Provavelmente, a maneira mais fácil para iniciar uma máquina virtual em nuvem é obter uma conta na AWS (Amazon Web Services). Essencialmen- te, isso quer dizer que é preciso um Figura 1 O console da Amazon Elastic Cloud (EC2). Jeff Hire – sxc.hu

Transcript of Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e...

Page 1: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts

42 http://www.linuxmagazine.com.br

CA

PA

Seu computador na nuvem

Sol em dia de nuvensSe você está pensando em migrar seu computador para a nuvem, conheça algumas formas de aproveitar a tecnologia.por Marcel Gagné

A computação em nuvem pro-mete máquinas virtuais rápidas e de fácil gerenciamento em

grandes redes. A ideia é aproveitar a sua (ou de outros) estrutura de hardware já existente e implantar sistemas adicionais sem a necessidade de hardware adicional. Isso parece um presente do céu da tecnologia. Logicamente, a computação em nuvem é o assunto do momento, alguns dizem que ela é intrinseca-mente segura, insegura, confiável, pouco confiável, supervalorizada ou um grande malefício. Ouvir os em-presários falando sobre computação em nuvem, no entanto, faz com que percebamos que, independentemente

do que ela traz em seu bojo – tecno-logia baseada em virtualização – ela veio para ficar. Seu trabalho como administrador de rede é encontrar maneiras para oferecer e trabalhar com essa tecnologia.

Sempre que o assunto surge, gosto de acabar com a mística por trás da computação em nuvem, portanto, lá vou eu. Nuvem é apenas uma palavra bonita para a rede ou os recursos de rede de outra pessoa. Esses recursos normalmente se referem aos servido-res (ou hardware) de uma organiza-ção – isto é, processadores, memória etc. Uma coisa muito importante no emprego de máquinas virtuais é o espaço em disco. Sua rede pode

não estar par a par com o Google ou a Amazon, mas muitas organizações possuem hardware e ciclos de CPU extras. Por isso, muito será dito sobre nuvens particulares também.

Existem vários serviços e esque-mas de virtualização. Quando uso o termo “esquema”, estou falando sobre o software que possibilita a vir-tualização – KVM, Xen, VirtualBox e outros. O “serviço” é o lado dos negócios – empresas que oferecem o serviço de nuvem.

O serviço de computação em nuvem mais conhecido é provavel-mente o EC2 (Elastic Cloud Services) da Amazon. Este não é um serviço gratuito, mas a Amazon fez dele algo muito fácil de usar e relativamente barato, caso queira contratar rapida-mente uma máquina para testes [1]. Se precisar de uma máquina com acesso à Internet para testes com urgência, vale a pena conferir esse serviço. Primeiramente, mostrarei como as coisas funcionam com a Amazon; depois, mostrarei algumas maneiras para fazer isso na sua própria nuvem particular, no seu hardware.

Amazon ou nadaProvavelmente, a maneira mais fácil para iniciar uma máquina virtual em nuvem é obter uma conta na AWS (Amazon Web Services). Essencialmen-te, isso quer dizer que é preciso um Figura 1 O console da Amazon Elastic Cloud (EC2).

Jeff

Hir

e –

sxc.

hu

Page 2: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts

43

| CAPAVirtual Services

Linux Magazine #XX | Mês de 200X

cartão de crédito para que o tempo e os recursos usados sejam cobrados. O preço por hora para uma máquina padrão é de 8,5 centavos de dólar. Se sua máquina de teste ficar fun-cionando durante 100 horas, o custo será de 8,5 dólares (um uso maior custará mais, obviamente). Durante um mês, o preço será o equivalente ao aluguel de um hardware físico de um provedor de hospedagem. O diferencial importante aqui é a ve-locidade. É possível que a espera de uma máquina do provedor leve um ou dois dias, enquanto que criar uma máquina virtual EC2 é impressionan-temente rápido em comparação. O uso de uma máquina aqui leva apenas alguns minutos em média.

Tudo acontece no console de ge-renciamento da Amazon EC2 (figu-ra 1). O painel mostra as instâncias correntes (o que a Amazon chama de máquinas virtuais), o seu tipo, seu status, endereço IP etc. O painel também permite a organização com base em vários critérios, incluindo a região em que sua máquina é usada (é possível ter máquinas na Virgínia, na Califórnia, na Irlanda ou Cinga-pura). Ele também dá acesso a seus volumes (dispositivos de armazena-gem), imagens, perfis de segurança, pares de chaves SSH e praticamente tudo que esteja relacionado com a execução de uma máquina virtual na nuvem da Amazon.

Para começar, clique em Launch Instance. A Amazon oferece algu-mas Amazon Machine Images (AMI – Imagem de Máquina Amazon) suportadas, mas isso está um tanto defasado. A melhor opção, caso não queira criar uma própria é fazer uma busca na seção Community AMIs (fi-gura 2), onde há uma abundância de distribuições em vários níveis. Para aperfeiçoar sua busca, insira uma palavra como filtro (como Ubuntu) no campo de busca, abaixo das abas AMI. Escolha algo para se basear e comece daí.

Quando vir algo parecido com o que procura, clique no botão Select. Ao fazer isso, outra janela aparece-rá, e nela será possível escolher um ramdisk ou uma opção do kernel. A menos que saiba o que está fazendo e tenha familiaridade com as ima-gens exibidas, é melhor deixar essa parte de lado. Outra opção habilita o recurso Cloudwatch da Amazon, mas eu deixaria isso de lado por en-

quanto. Se quiser, é possível incluir um comentário no campo disponível. Para continuar, clique em Continue para ir para a tela de criação/seleção do par de chaves.

Cada nova instância de uma má-quina virtual é acessada via SSH inicialmente. Para se conectar a sua nova instância, será necessário um par de chaves. Se essa é sua primeira vez com o AWS e o EC2, clique no

Figura 3 Selecionar ou criar um grupo de segurança é o processo onde regras de firewall para sua máquina virtual são definidas.

Figura 2 As comunidades AMI são mais numerosas que as suportadas pela Amazon. É possível criar a sua também.

Page 3: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts

44 http://www.linuxmagazine.com.br

CAPA | Virtual Services

botão Create Key Pair e digite os de-talhes (é possível selecionar um par de chaves já existente caso já tenha passado por esse processo) e então clique em Continue.

O próximo pas-so é selecionar ou criar um grupo de segurança, onde regras de firewall serão criadas (figu-ra 3). Por padrão, não há acesso à má-quina, portanto, é importante decidir quais serviços (por-tas) é preciso dispo-nibilizar. Comece com o SSH e acres-cente outros que desejar (HTTP, SMTP etc.).

Para chegar à página final de re-visão, clique em Continue. Aqui, há a possibilida-de de alterar todas as escolhas feitas. Se estiver satisfei-

to, clique em Launch. Saiba que é possível deixar a máquina funcionan-do durante muito ou pouco tempo.

Caso não goste do resultado, can-cele-a, assim seu gasto será pequeno.

Alguns minutos de-pois (a maioria das minhas máquinas levou 5 minutos), sua nova máquina estará pronta para o acesso, e o conso-le de gerenciamen-to irá mostrar que ela está em fun-cionamento. Para se conectar, clique com o botão di-reito na instância desejada e selecio-ne Connect. Uma janela irá se abrir, exibindo seu ende-reço IP, necessário para se conectar à máquina virtual (VM) (figura 4).

O comando normalmente se pa-rece com isso:

ssh -i salmar.pem [email protected]

Pronto! Conectado e pronto para trabalhar na máquina virtual como se fosse um computador qualquer. Instale pacotes, carregue seus dados, crie usuários, inicie um servidor web e tudo mais que é possível fazer em um servidor físico. A máquina virtual existirá até que seja terminada, o que é feito no mesmo menu usado para se obter as informações de conexão.

O serviço EC2 da Amazon é po-pular por ser rápido e fácil.

Gerenciador da máquina virtualNa sua nuvem particular, há várias maneiras de se trabalhar com má-quinas virtuais. A nuvem da Amazon usa o Xen em sua infraestrutura de virtualização, mas na sua nuvem, é possível usar Xen, KVM, VirtualBox ou qualquer outro.

Na falta do console EC2, para ad-ministrar e utilizar suas MVs na sua nuvem será necessário escolher suas próprias ferramentas de administra-ção. Sempre há a linha de comando que possibilita inicializar a máquina Xen ou KVM sem uma interface grá-fica, mas eu gosto bastante de um programa gráfico chamado virt-ma-nager, literalmente, um gerenciador de máquina virtual (figura 5) [2]. Com essa ferramenta, é possível ter uma visão global das máquinas vir-tuais que estão sendo executadas, incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts que executam máquinas virtuais; essa se-ria sua nuvem particular. E, melhor ainda! O virt-manager funciona com o Xen e o KVM, os dois programas de virtualização mais conhecidos.

Figura 4 Use SSH e o arquivo de chave gerado para se conectar a nova máquina virtual.

Figura 5 Uma vez conectado, o virt-manager mostra todas as máquinas configuradas, mesmo que não estejam sendo executadas.

Figura 7 Uma máquina em execução e os detalhes do hardware.

Figura 6 O aplicativo virt-manager logo que é instalado. Nenhuma conexão e nenhuma máquina virtual.

Page 4: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts

45

| CAPAVirtual Services

Linux Magazine #XX | Mês de 200X

O virt-manager exibe informações sobre cada máquina, seu desempe-nho, número de processos, utilização de memória e de CPU. Ele também permite o ajuste de recursos de uma determinada máquina, adicionan-do processadores, memória e até espaço extra de armazenagem. Há ferramentas para clonar MVs, criar outras novas e se comunicar com elas através de um console gráfico, com o uso de um cliente VNC.

A maioria das distribuições possui o virt-manager em seus repositórios, mas as versões são geralmente ante-riores à disponibilizada no site. Não costumo recomendar isso frequente-mente, mas sugiro pegar o código e compilar a última versão. O código é todo em Python, por isso, talvez compilar não seja a palavra certa mas, ao fazer isso, certifique-se de ter baixado o último código virtinst, pois o virtinst depende dele.

Ao executar o virt-manager pela primeira vez (figura 6), uma janela meio vazia irá se abrir, especialmente se não houver nenhuma MV sendo executada no sistema host.

Quando o virt-manager é iniciali-zado, ele irá procurar o sistema host, o hardware “real” onde as máquinas virtuais são executadas. Dependendo da configuração, a máquina pode es-tar desconectada, então clique com o botão direito na máquina localhost e selecione Connect. Quando isso for feito, será possível ver todas as máquinas virtuais sendo executadas no sistema.

Clique para selecionar a máqui-na (em qualquer estado) e depois clique no botão Details para obter mais informações sobre a máqui-na. A janela com os detalhes possui duas abas, uma chamada Overview, e a outra, Hardware. A aba Overview contém informações básicas sobre a máquina, incluindo um gráfico de-talhado do uso de CPU e memória, além de detalhes da configuração, como a UUID do disco e o nome da máquina.

Para saber mais sobre a máquina virtual, incluindo placas de rede configuradas, discos, CPUs, me-mória etc., clique na aba Hardware (figura 7). Algumas configurações, memória, por exemplo, podem ser alteradas, mas a máquina não pode estar funcionando para que essas al-terações sejam efetivas. Além disso, é possível adicionar mais hardware virtual às máquinas clicando no bo-tão Add Hardware abaixo da barra da direita. Por exemplo, se for preciso adicionar espaço em disco, é possível criar e adicionar um arquivo imagem do disco e anexá-la.

Criar uma nova máquina virtualDas duas maneiras de se criar uma nova máquina virtual (com o virt-manager sempre há outra maneira), uma delas envolve a criação da má-quina através da interface do virt-

manager, e a outra envolve a clonagem. Na verdade, um clone da máquina virtual será criado.

No gerenciador de máquina vir-tual, certifique-se de estar conec-tado, e depois clique na instância

Figura 8 Dê um nome a sua nova máquina e escolha o método de instalação.

Figura 12 O último passo permite re-ver as escolhas e também especificar as opções de rede e virtualização como a arquitetura.

Figura 11 Defina a quantidade de me-mória atribuída à máquina.

Figura 10 Escolha as configurações de memória e CPU.

Figura 9 Especifique onde encontrar a mídia de instalação.

Page 5: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts

46 http://www.linuxmagazine.com.br

CAPA | Virtual Services

localhost. O botão New deve estar agora disponível. No exemplo a seguir, veremos uma instalação do Ubuntu Linux. Para come-çar, clique em New para iniciar o processo de criação da MV. Agora, uma janela irá se abrir solicitando um nome para a nova MV e requisitando o método de instalação (figura 8).

O segundo passo pede a locali-zação da sua mídia de instalação, um CD, DVD ou imagem ISO (figura 9). Permita-me voltar um pouco para o primeiro passo antes de continuar. Eu optei pelo méto-do de instalação ISO, mas perceba que há outros também.

Por exemplo, é possível impor-tar uma imagem existente e fazer a instalação com ela (de modo simi-lar ao das AMIs da Amazon), faça o boot usando a rede local (PXE) ou faça o boot de uma instalação de rede diretamente do repositório da distribuição. Por exemplo, um sistema de 64 bits CentOS pode assim ser instalado especificando-se http://centos.mirror.iweb.ca/web.ca/5.5/os/x86_64. Aqui, usarei uma imagem do Karmic que baixei para meu diretório /root.

Um pouco mais a frente, no se-gundo passo, escolha o tipo do sis-tema operacional (Linux) e a versão que está sendo instalada. É possível também optar por Solaris, outro Unix ou Windows. Cada sistema operacional possui múltiplas versões definidas, portanto, certifique-se de usar a que corresponde ao sistema que está tentando instalar. Clique em Forward para continuar. Depois, defi-na a quantidade de memória (RAM) atribuída à máquina e o número de processadores (figura 10).

Clique em Forward para definir o espaço de armazenamento que será alocado para essa MV (figura 11). Ao definir o disco aqui, o virt-manager irá criar o arquivo para você. Se já existe um arquivo de armazenamento ou ele já foi criado de alguma manei-ra, é possível especificá-lo também.

Se a checkbox próxima a Allocate entire disk now for selecionada, leva-rá mais tempo para criar o arquivo do disco, mas a instalação será mais rápida. Se ela não for selecionada, o disco crescerá até o espaço máxi-mo definido conforme necessário. Após clicar em Forward, ainda há a última chance para rever sua MV, incluindo a rede, antes de iniciar o processo (figura 12).

Por fim, clique em Finish, e o ins-talador irá criar o arquivo de disco. Dependendo do tamanho do arquivo, esse passo pode levar algum tempo. Depois disso, a tela do virt-manager voltará com sua máquina virtual sen-do executada. Estatísticas do uso do disco e da CPU aparecerão em segun-dos. Na primeira instalação, você vai querer interagir com a máquina. Para isso, clique duas vezes na entrada ou clique com o botão direito e selecione Open. Por padrão, o painel de contro-le das MVs irá se abrir com o botão Console selecionado. Isso é feito com um visualizador VNC anexado ao processo do servidor na MV. De fato, há a conexão a um console gráfico a partir do qual é possível continuar

Figura 14 Após criar uma máquina virtual, é possível poupar tempo e esforço clonando as máquinas adicionais.

Figura 15 O openQRM é um sistema de gerenciamento de central de dados (e nuvem) completo.

Figura 13 Com a conexão ao console VNC das MVs, a instalação prossegue como se estivesse em uma máquina real.

Page 6: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts

47

| CAPAVirtual Services

Linux Magazine #XX | Mês de 200X

a instalação. A figura 13 ilustra uma instalação conhecida.

Clonar uma máquina virtualAgora que já passamos pelas compli-cações de criar uma máquina com tudo necessário, inclusive os paco-tes, configurações e assim por dian-te, em vez de reinventar a mesma coisa várias vezes, é possível clonar uma máquina virtual existente. Basta clicar com o botão direito em uma máquina e selecionar Clone. Uma janela se abrirá pedindo um nome (o padrão é o nome original mais o sufixo -clone), exibindo as opções de rede e oferecendo possíveis mu-danças na armazenagem (figura 14).

Uma última observação sobre a criação de máquinas: ao iniciar o virt-manager, você se conecta ao servidor principal (localhost) onde

o virt-manager estava sendo execu-tado. Isso posto, é possível conectar de um virt-manager a vários servidores executando libvirtd, o processo que monitora e verifica as MVs em exe-cução. Isso nos leva à opção Migra-te, que permite mover efetivamente uma máquina virtual de um host para

outro, permitindo, assim, o melhor gerenciamento dos recursos da sua nuvem particular.

openQRMFecho o assunto de controle de nu-vem mostrando outra abordagem para lidar com sua nuvem particu-

Figura 16 A instalação do openQRM é um processo simples de três etapas.

www.lpi-brasil.org

Page 7: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts

48 http://www.linuxmagazine.com.br

CAPA | Virtual Services

Gostou do artigo?Queremos ouvir sua opinião. Fale conosco em [email protected]

Este artigo no nosso site: http://lnm.com.br/article/3734

Mais informações

[1] Preço do Amazon EC2: http://aws.amazon.com/ec2/#pricing

[2] Virtual Machine Manager: http://virt-manager.et.redhat.com/

[3] openQRM: http://openqrm. com

lar – um aplicativo baseado na web chamado openQRM [3], a partir de onde é possível controlar e monitorar qualquer número de hosts, máquinas virtuais e quase tudo na sua nuvem particular. O openQRM consegue isso tratando tudo que você possui como parte de um único centro de dados virtuais constituído de todo o hardware, todos os servidores (fí-sicos ou virtuais), aplicativos etc., tudo mesmo, e tudo é feito com módulos que podem ser ligados ou desligados conforme a necessidade (figura 15).

A instalação do openQRM é fácil. Basta baixar o pacote mais recente no site e instalá-lo. Há pacotes disponí-veis para Cent OS, Ubuntu e Debian, mas com o código fonte é possível instalá-lo em qualquer distribuição.

Uma vez instalado, conecte-se na interface web (http://seudomi-nio.dom/openqrm) com o nome de usuário padrão openqrm e a senha openqrm. Na primeira conexão, há um pequeno processo de configu-ração de três etapas. Na primeira, além de ser informado dos três passos, é preciso selecionar sua in-

terface de rede padrão. Basta clicar no botão apropriado (o que é fácil se houver apenas uma interface) e clicar em Next.

Na segunda etapa, é preciso se-lecionar o tipo de banco de dados que será usado para armazenar os dados do openQRM. Os bancos de dados suportados são MySQL, Pos-tgreSQL, Oracle e DB2. Depois da escolha, clique em select e preen-cha os campos na terceira e última tela (figura 16). As informações aqui são o nome do usuário do banco de

dados e a senha. Quando acabar, clique no botão Initialyze.

Como já foi mencionado, as várias ferramentas usadas para gerenciar seu centro de dados e nuvem parti-cular são baseadas em plugins. Antes de se aprofundar no openQRM, é preciso ativar os plugins necessá-rios. Para isso, clique no link Plugin Manager no menu do lado esquer-do para abrir a interface. Agora, é possível selecionar qualquer plugin que desejar, rolar a página e clicar em Enable, em seguida, clique no ícone azul de pausa para iniciar o plugin ativado. Alternativamente, você pode clicar no grande sinal de mais próximo a cada descrição e habilitá-los um a um (figura 17). Uma coisa particularmente interes-sante – pois foi assim que comecei o artigo – é um módulo que permite interagir com o serviço AWS EC2 da Amazon. Além disso, é possível usar os plugins de virtualização in-cluídos para gerenciar hosts Xen e KVM, que naturalmente, me levam de volta à parte central deste artigo.

Acrescente aos plugins openQRM para o Nagios, o gerenciamento re-moto de armazenamento, o monito-ramento de eventos e um ambicioso sistema de gestão centralizada, e te-remos um sistema robusto para lidar com toda sua central de dados, na sua nuvem, ou na de outra pessoa. n

Figura 17 O openQRM ajuda a visualizar e administrar todos os aspectos de sua nuvem particular, com vários tipos de plugins.

Page 8: Seu computador na nuvem Sol em dia de nuvens · incluindo gráficos de desempenho da rede, da CPU e do uso do disco. O virt-manager também facilita a comunicação com outros hosts