Você está na página 1de 44

UNIVERSIDADE FEDERAL DO PARAN DINF - DEPARTAMENTO DE INFORMTICA CURSO DE ESPECIALIZAO EM INFORMTICA NFASE EM GERNCIA DE REDES DE COMPUTADORES

VIRTUALIZAO E O USO DE SOFTWARE LIVRE

CURITIBA 2013

JUAREZ DE OLIVEIRA

VIRTUALIZAO E O USO DE SOFTWARE LIVRE

Monografia apresentada ao Curso de Especializao em Informtica, nfase em Gerncia de Redes de Computadores, Programa de Ps-Graduao do Departamento de Informtica da Universidade Federal do Paran, para obteno do grau de especialista em informtica. Orientador: Prof. Dr. Bruno Mller Jnior

CURITIBA 2013

Dedico este trabalho minha preciosa famlia.

AGRADECIMENTOS

Aos

professores

do

Departamento

de

Informtica

da

UFPR,

principalmente aos Profs. Luiz Carlos de Bona e Bruno Mller Jr., pelo auxlio e esclarecimentos.

Nada sou, nada posso, nada sigo. Trago, por iluso, meu ser comigo. Fernando Pessoa

SUMRIO
LISTA DE FIGURAS RESUMO 1 INTRODUO: 2 A VIRTUALIZAO: 2.1 A MQUINA VIRTUAL 2.2 PARAVIRTUALIZAO: 2.3 VIRTUALIZAO COMPLETA: 2.4 EMULAO: 2.5 VIRTUALIZAO DE SERVIDORES: 2.6 OUTRAS TECNOLOGIAS DE VIRTUALIZAO: 2.6.1 VIRTUALIZAO DE DESKTOPS: 2.6.2 VDI VIRTUAL DESKTOP INFRASTRUCTURE: 2.6.3 VIRTUALIZAO DE APLICAES: 2.6.4 VIRTUALIZAO DE ARMAZENAMENTO: 2.6.5 VIRTUALIZAO DE ATIVOS DE REDE: 2.7 A CLOUD COMPUTING: 2.8 O LINUX KVM: 2.8.1 MIGRAO P2V: 2.8.2 FERRAMENTAS PARA ADMINISTRAO DO KVM: 3 CRIANDO UMA REDE COMPLETA COM SOFTWARE LIVRE: 3.1 O SERVIDOR KVM: 3.2 A CONFIGURAO DA REDE ETHERNET: 3.3 A MQUINA VIRTUAL FIREWALL ENDIAN: 3.4 A MQUINA VIRTUAL SERVIDOR WEBMAIL EXPRESSO LIVRE: 3.5 A MQUINA VIRTUAL SERVIDOR DE ARQUIVOS SAMBA: 3.6 A MQUINA VIRTUAL SERVIDOR HTTP APACHE2: 4 PROCEDIMENTOS PARA INSTALAR UMA REDE COMPLETA: 4.1 PREPARAO DO AMBIENTE (HOST): 4.2 PRIMEIRA MQUINA VIRTUAL - ENDIAN FIREWALL: 4.3 CRIAO DAS OUTRAS MQUINAS VIRTUAIS: 4.4 CONFIGURAO DO EXPRESSO LIVRE: 4.5 CONFIGURAO DO SERVIDOR WEB APACHE: 4.6 CONFIGURAO DO SERVIDOR SAMBA: 4.7 CONFIGURAES DO SAMBA NO EXPRESSOLIVRE: 4.8 COMANDOS PARA A ADMINISTRAO DO SISTEMA: 5 CONSIDERAES FINAIS: 6 GLOSSRIO: 7 REFERNCIAS BIBLIOGRFICAS: 6 7 8 10 10 11 12 12 12 12 13 13 14 15 15 15 16 17 18 19 9 19 20 20 20 20 21 21 24 26 27 29 30 36 37 39 40 41

LISTA DE FIGURAS
Figura 1. Tipos de hipervisores......................................................................................................11 Figura 2. Viso Geral do KVM........................................................................................................17 Figura 3. Interface do virt-manager no Ubuntu 11.10....................................................................18 Figura 4. Tela do Virt-Manager na criao de VM..........................................................................24 Figura 5. Configurao da VM - Virt-Manager ..........................................................................25 Figura 6. Dash Board do Firewall Endian:......................................................................................26 Figura 7. Clonagem de VM Virt-Manager:...................................................................................27 Figura 8. Tela de instalao Expresso Livre..................................................................................29 Figura 9. Configurando Samba no Expresso Livre........................................................................37

RESUMO
O crescimento na capacidade de processamento dos computadores, aliado ao aumento da velocidade de transmisso das redes de comunicao de dados, trouxeram um novo cenrio aos sistemas informatizados: a virtualizao. Com esta tcnica possvel ter em um mesmo computador sistemas operacionais distintos rodando simultaneamente, compartilhando recursos de hardware e de rede. Podemos acessar nosso perfil no computador da empresa, abrir documentos e utilizar bases de dados que s esto disponveis na Intranet, mesmo milhares de quilmetros. Muitos softwares foram desenvolvidos para o gerenciamento de infraestruturas de virtualizao, sendo que os mais utilizados hoje em dia so comerciais. O presente trabalho apresenta algumas opes em softwares livres, com nfase no uso do KVM como ferramenta para a virtualizao de servidores, o que pode auxiliar na construo de uma infraestrutura segura, gil e de alta disponibilidade no gerenciamento de servios de rede.

Palavras chave: Virtualizao, KVM, Computao em Nuvem

ABSTRACT

Keywords: Virtualization, KVM, Cloud Computing The increase in processing power of computers, along with increased transmission speed of data communication networks, brought a new scenario for computerized systems: the virtualization. With this technique it is possible to have in the same computer different operating systems running simultaneously, sharing hardware resources and network. We can access our company profile on the computer, open documents and use databases that are only available on the Intranet, just thousands of miles. Many softwares have been developed for managing virtualization infrastructures, and the most used today are commercial. This paper presents some options on free software, with emphasis on the use of KVM as a tool for server virtualization, which can assist in building a secure infrastructure, agile and high-availability service management network.

1 INTRODUO:

Inicialmente, grandes empresas precisavam de muitos computadores para hospedar adequadamente os seus sistemas, sejam eles um servidor de e-mail, um banco de dados, uma pgina da Internet ou qualquer outra aplicao que fosse necessrio disponibilizar aos seus usurios. O principal motivo dessas quantidades consistia na necessidade de isolamento de cada servio, a fim de que em caso de problema com o hardware ou o sistema operacional, este ficasse restrito ao servio relacionado e no prejudicasse os demais. Agora, possvel instalar sistemas operacionais de diferentes fabricantes em um mesmo equipamento, tcnica chamada de virtualizao de servidores (Mathews, 2009). Esta tcnica a principal base para as outras formas de virtualizao utilizadas na administrao de uma rede. Pode-se permitir, por exemplo que o sistema operacional do computador do usurio fique hospedado em um lugar centralizado, e ser disponibilizado assim que requisitado e de acordo com o seu perfil na rede, independente de qual equipamento ele est utilizando. Isto permite uma grande flexibilidade (James, 2010). Os aplicativos no precisam mais ficar instalados diretamente no microcomputador, o que facilita sua atualizao e tambm a manuteno de verses anteriores ou descontinuadas (James, 2010). As unidades de armazenamento de dados podem ser compartilhadas atravs da rede para diversos sistemas operacionais ao mesmo tempo. Da mesma forma, as redes podem ser separadas virtualmente sem necessidade de mais equipamentos, o que representa um ganho significativo no gerenciamento e na segurana [1]. Assim, ao invs de preocupar-se com o porte do servidor, o tamanho da unidade de armazenamento , a atualizao das mquinas dos usurios, o administrador de redes tem a opo de hospedar seus servios em uma nuvem de computadores, deixando para um provedor externo a infraestrutura e parte da segurana [1]. 8

O objetivo deste texto abordar algumas das principais tcnicas e tecnologias voltadas virtualizao de sistemas computacionais disponveis no mercado. Demonstraremos que possvel montar uma rede completa utilizando-se apenas software livre, e que esta opo vivel tcnica e economicamente.

2 A VIRTUALIZAO:
Podemos descrever a virtualizao de forma geral como sendo uma tcnica que permite a execuo de vrias instncias do sistema operacional serem executados simultaneamente em uma CPU (Mathews, 2009). No incio dos anos 70, a IBM produziu o que seria um dos primeiros sistemas operacionais virtualizados, o VM/370, com separao completa das funes de Multiprogramao e uma Mquina Extendida com uma interface mais conveniente do que a oferecida pelo hardware. O corao do sistema, o Monitor de Mquina Virtual, executado diretamente sobre o hardware e implementa a multiprogramao, provendo vrias mquinas virtuais para a camada acima. (Tanenbaum, 2010). Pesquisas acadmicas realizadas na dcada de 1990, trouxeram novas possibilidades de se compartilhar hardware entre diversos sistemas operacionais. Destas pesquisas acadmicas surgiram as empresas VMWare e Citrix, duas das principais fabricantes de softwares de virtualizao atualmente no mercado. O termo Monitor de Mquina Virtual foi alterado posteriormente para hipervisor de tipo 1. (Tanembaum,2010). Nas prximas sees apresentaremos os principais tipos de virtualizao utilizados atualmente.

2.1 A MQUINA VIRTUAL As mquinas virtuais so cpias exatas do hardware, inclusive com modos ncleo/usurio, E/S, interrupes e tudo que h em uma mquina real, mas que trabalham isoladamente umas das outras (Tanenbaum, 2010) . Assim, cada mquina virtual poder rodar qualquer sistema operacional capaz de ser executado diretamente sobre o hardware. O VMM (monitor de mquina virtual) ou Hipervisor o sistema operacional base que gerencia o acesso ao hardware para as vrias mquinas virtuais.

10

Alguns autores classificam esses sistemas operacionais hipervisores como sendo do tipo 1 e do tipo 2, de acordo com sua forma de implementao (Laureano,2008). No hipervisor de tipo 1, o monitor implementado entre o hardware e o sistema convidado, ou guest. O Microsoft Hyper-V e o VMware ESX Server so exemplos de hipervisor tipo 1 . J no hipervisor de tipo 2, ele um processo de um sistema operacional subjacente, ou sistema anfitrio (host system), como o Microsoft Virtual PC, o VMware Workstation e o Sun virtual Box, (Laureano, 2008).

Figura 1. Tipos de hipervisores.

Fonte : http://www.ibm.com/developerworks/br/cloud/library/cl-hypervisorcompare/figure2.gif Esta forma de classificao no abrange todas as tcnicas de virtualizao utilizadas. Vamos apresentar a seguir outras formas de classificao:

2.2 PARAVIRTUALIZAO: Nesta tcnica, o hipervisor fornece uma mquina virtual completa, mas especializada (da mesma arquitetura da mquina hospedeira) para cada um dos hspedes, para que executem isoladamente. Embora a paravirtualizao seja leve e rpida, o sistema operacional hspede precisa ser modificado para utilizar hiperchamadas em vez de alguns comandos crticos. Isto uma limitao para a utilizao de sistemas operacionais antigos, com cdigo fechado e que ainda no 11

tm implementadas extenses para paravirtualizao. (Mathews, 2009)

2.3 VIRTUALIZAO COMPLETA: Na virtualizao completa, o hipervisor fornece uma mquina virtual completa (da mesma arquitetura que a mquina hospedeira) e os hspedes podem execut-la sem ter que sofrer qualquer modificao. O hipervisor pode executar diferentes verses de SO. O sistema operacional hspede no sabe o que est sendo virtualizado e isso pode ser causa da diminuio da performance, principalmente para aplicaes com intenso uso de E/S (Mathews, 2009).

2.4 EMULAO: Na emulao, o hipervisor fornece uma mquina virtual completa (com uma arquitetura que pode ser diferente da mquina hospedeira). Isto permite que aplicativos de outras arquiteturas executem no ambiente simulado (Mathew,2009). Tem baixa performance e, normalmente, utilizada no desenvolvimento e suporte a sistemas.

2.5 VIRTUALIZAO DE SERVIDORES: Uma das grandes aplicaes dos sistemas de virtualizao a consolidao de servidores, ou seja, a reunio de vrios servidores, inclusive com sistemas operacionais distintos, em uma s estrutura, compartilhando os recursos de hardware disponveis. Este processo facilita a administrao, reduz custos com novos hardwares, alm de facilitar a restaurao em caso de desastres [1]. Existem vrios softwares comerciais que proveem a virtualizao de servidores, dentre estes destacamos o VMWare ESX/ESXi, o MicroSoft HyperV, o Citrix Xen Server e o Red Hat RHEV (baseado no KVM).

2.6 OUTRAS TECNOLOGIAS DE VIRTUALIZAO: Nesta seo vamos descrever algumas outras tecnologias de virtualizao,

12

que no a de servidores, para poder contextualizar o uso da virtualizao nas empresas.

2.6.1 VIRTUALIZAO DE DESKTOPS: Alguns softwares permitem ter mais de um sistema operacional rodando ao mesmo tempo no computador do usurio comum [2]. bastante til para os tcnicos do suporte e programadores. Podemos, por exemplo, utilizar o Ubuntu e o Windows 7 ao mesmo tempo . Dentre os softwares disponveis para este tipo de virtualizao (que pode ser chamada de tipo 1, de acordo com a classificao utilizada por Tanenbaum (2012) esto o VMWare Desktop, o VMWare Player, o Sun VirtualBOX e o VirtualPC.

2.6.2 VDI VIRTUAL DESKTOP INFRASTRUCTURE: O VDI uma soluo mais recente em termos de virtualizao. J existiam, h algum tempo, protocolos de comunicao que permitiam trazer a tela do computador remoto para a tela do administrador, como o VNC e o RDESKTOP. Porm, o uso do computador por um usurio remoto abria apenas uma instncia, ou seja, uma janela do sistema operacional da mquina, compartilhando os recursos existentes e fazendo com que os processos competissem entre si (James, 2010). No VDI, cada usurio recebe uma mquina virtual completa em sua tela, seja via Web no seu notebook, usando um terminal do tipo thinclient, ou mesmo atravs de um plugin instalado em seu desktop. A grande vantagem para o usurio final que ele pode receber uma mquina personalizada de acordo com o seu perfil de usurio dentro da organizao, sem ter que se preocupar com instalao de novos programas nem com backup. Ele pode at rodar o Windows 7 do escritrio na tela do seu Ipad [2]. J para o administrador de redes, no necessrio preparar vrias mquinas individualmente, nem preocupar-se com problemas de hardware. Ele pode preparar, automaticamente, vrias mquinas com vrios perfis ou sistemas 13

operacionais e disponibiliz-las para os usurios, tambm de forma dinmica [2]. Alguns dos principais softwares de VDI so VMWare View e Citrix XenDesktop (Veenendaal, 2013). Em termos de software Livre, alguns produtos disponilizam vrios desktops Linux, mas trabalham de uma forma um pouco diferente. So eles o LTSP, um sistema de desktops Linux bastante utilizado em escolas pblicas no Paran, e o NoMachine, que tambm virtualiza Aplicaes.

2.6.3 VIRTUALIZAO DE APLICAES: Na virtualizao de aplicaes o usurio tem acesso a qualquer programa instalado em um servidor como se estivesse instalado na sua prpria mquina. Isso possibilita acesso a sistemas legados, que precisam ficar em produo por mais algum tempo, mas que so incompatveis com o sistema operacional atual. Permite ao administrador de redes oferecer vrias verses de um software, como por exemplo, uma verso mais antiga do navegador, simultaneamente com a verso atual. Quando houver necessidade de atualizar um sistema, isso feito apenas na maquina servidora, no sendo necessrio ir de mquina em mquina desinstalando e instalando software [2]. Os softwares que provavelmente so os mais utilizados para prover este servio so Citrix XenApp, VMWare ThinApp, MS Hyper-V, disponveis no Windows Server a partir da verso 2008 (Veenendaal, 2013). Existe ainda o software baseado em Linux NoMachine. A virtualizao de bibliotecas emula um sistema operacional ou subsistema, atravs de uma biblioteca de software especial. Um exemplo a biblioteca Wine, do Linux, que permite a instalao de programas concebidos para serem utilizados no Windows. A Mquina Virtual Java, da Sun/Oracle uma outra forma de virtualizao de aplicaes. Ela permite que um mesmo cdigo de programa funcione em arquiteturas de hardwares ou de softwares (Tanenbaum, 2010).

14

2.6.4 VIRTUALIZAO DE ARMAZENAMENTO: SAN (Storage area network) e NAS (Network atachment storage) j so utilizados h bastante tempo em infraestruturas de redes. Enquanto a SAN oferece acesso direto aos discos, normalmente por fibra-ptica, o NAS tem um sistema de arquivos para compartilhamento. O DRBD um misto entre SAN e NAS e cria uma espcie de RAID na rede. Como servio de Cloud computing (SaaS / IaaS), os aplicativos DropBox, UbuntuOne, e iCloud trazem uma nova abordagem para o armazenamento de dados, principalmente de uso pessoal. Um software instalado no computador do usurio, que cria tambm um login num ambiente web. As pastas especificadas neste computador so sincronizadas num servidor de arquivos virtual. Quando o usurio faz qualquer alterao nos seus arquivos, estas alteraes so enviadas para a nuvem. Os arquivos podem ser enviados ou baixados diretamente via ambiente web. Tambm comum a sua utilizao em Smartphones e Tablets [4].

2.6.5 VIRTUALIZAO DE ATIVOS DE REDE: Assim como os servidores, os switches podem ser virtualizados, tanto atravs de aplicativos como VMWare ESX, tanto com switches fsicos que tem a capacidade de virtualizao, por exemplo, alguns equipamentos da Cisco. Esta facilidade ajuda os administradores de rede a diminurem o parque de equipamentos, consequentemente reduzindo a manuteno e o custo da energia [1].

2.7 A CLOUD COMPUTING: Cloud Computing, ou computao nas nuvens , significa oferecer a estrutura de informtica como um servio, a IaaS (infrastructure as a service). O usurio de um servio de hospedagem de servidores em Cloud Computing no precisa se preocupar com o ar-condicionado, as falhas de hardware, o tamanho do storage, a quantidade de memria Ram ou processador. Basta um clique no menu e ele pode pedir a infraestrutura que quiser para os seus servios. Tudo isso provido por empresas especializadas, que hospedam as aplicaes e garantem a sua 15

disponibilidade 24 horas por dia, 365 dias por ano. O contratante no precisa saber sequer em que pas est hospedado o seu aplicativo ou servidor. O acesso feito totalmente via Internet, no caso das nuvens pblicas (Tholetti, 2012). Tambm podem ser formadas nuvens privadas, onde vrios prdios da organizao tem suas infraestruturas compartilhadas entre si, oferecendo melhor uso de recurso e segurana na rede. Neste caso, normalmente a comunicao entre os ns se d via rede privada e no pela Internet. Os principais softwares de Cloud Computing (IaaS) so Amazon EC2, Windows Azure. Existem ainda importantes projetos em Software Livre como o Eucalytus, o OpenNebula, o OpenStack, o CloudStack e o Nimbus [5].

2.8 O LINUX KVM: Na consolidao de servidores, uma das grandes dificuldades dos administradores definir sobre qual software utilizar. J foi citado, neste trabalho, o lder de mercado VMWare ESX e tambm o Xen Server. Ambos dispem de verses pagas e no pagas, com muitos recursos na administrao. O KVM (Kernel-based virtual machine) utiliza verso modificada do Qemu e se integra ao kernel do Linux. Suporta a virtualizao completa e, mesmo tendo sido lanado h poucos anos, j se tornou uma das mais slidas e importantes ferramentas de software livre no gerenciamento de redes [3]. Utilizaremos o KVM na demonstrao de uma rede completa virtualizada devido a sua flexibilidade, ser um software Linux nativo e compatvel com a maioria dos hardwares do mercado. O KVM tambm tem suporte das mais importantes distribuies Linux, o que ajuda o administrador na resoluo de problemas. No anexo deste trabalho, descrita a forma de instalao desta importante tecnologia, que foi desenvolvida para dar suporte para os novos processadores Intel VT-X e AMD-V.

16

Figura 2. Viso Geral do KVM

Fonte: http://www.softelabs.com/@api/deki/files/45/=KVM_Overview.jpg?size=webview

2.8.1 MIGRAO P2V: A consolidao de servidores um problema para os administradores de rede, pois a migrao dos dados de servidores que rodam em hardwares antigos para as mquinas virtuais uma tarefa complexa. Existem algumas formas de fazer a migrao de mquinas fsicas para virtuais (P2V): A forma manual, onde criada uma nova mquina virtual e sincronizados os arquivos da antiga mquina fsica, como o rsync e o dd no Linux. O mtodo semiautomtico, pelo qual o usurio instala um software na mquina fsica e conecta-se via rede ao Hypervisor. Os softwares mais usados so o VM vCenter Converter, Xen Convert e MS Converter Tool Kit. Como Software Livre, h o Virt-p2v. Existe ainda o mtodo automtico, onde o administrador faz a migrao sem a interferncia do usurio. As principais ferramentas so System Center Virtual

17

Machine da MicroSoft e VM vCenter Converter [1]. No KVM, o mais comum usar o mtodo manual, criando-se uma mquina sobre um volume LVM e sincronizando-a com a mquina fsica. Tambm pode ser usado o comando dd para cpia da partio ou do disco inteiro.

2.8.2 FERRAMENTAS PARA ADMINISTRAO DO KVM: O KVM possibilita que a administrao do sistema seja feita atravs de linhas de comandos. Porm, para uso no cotidiano, pode-se optar por algumas ferramentas, que embora no sejam completas, como as da VMWare ou da Citrix, permitem boa interao entre usurio e sistema. O Virt-Manager, Virtual Machine Manager, uma das ferramentas mais utilizadas. Inicialmente, criada para gerenciar o Qemu, bastante verstil para administrar as mquinas com KVM e XenSource [4].

Figura 3. Interface do virt-manager no Ubuntu 11.10

Fonte: mquina de testes Ubuntu

18

Para gerenciamento de um parque com muitos servidores, pode-se utilizar o Eucalyptus, um projeto opensource bastante verstil. Tem suporte ao Xen e ao KVM. O Eucaplytus implementa uma Nuvem Privada [6]. Na pgina do KVM na Internet [3], encontram-se diversas outras aplicaes para o gerenciamento de servidores com Linux KVM, assim como alguns scripts prontos para gerenciamento via linha de comando.

3 CRIANDO UMA REDE COMPLETA COM SOFTWARE LIVRE:


Nesta seo vamos colocar em prtica os conhecimentos adquiridos com as pesquisas sobre virtualizao. Para isso foi criada uma rede completa utilizando apenas recursos de software livre, contendo mquinas virtuais para os principais servios necessrios a rede de computadores de uma mdia empresa. Os cdigos utilizados na configurao dos servios descritos no captulo 4. Todos os softwares utilizados na infraestrutura so softwares livres: o hipervisor KVM, o firewall Endian, a sute colaborativa de e-mail ExpressoLivre, o servidor de arquivos Samba e o servidor HTTP Apache2,

3.1 O SERVIDOR KVM: Como base do projeto de rede completa virtualizada, ser utilizada uma mquina com Linux Ubuntu 1204 Desktop e software nativo Linux KVM (Falko, 2012). O KVM possibilita a virtualizao com o mximo de performance e baixo custo, j que no necessrio a aquisio de licenas de software para utiliz-lo [3]. Neste servidor-base tambm ser usado o gerenciador virtmanager [5].

3.2 A CONFIGURAO DA REDE ETHERNET: O acesso a Internet feito apenas pelo firewall. As demais mquinas virtuais ficam conectadas atravs de bridge.

19

3.3 A MQUINA VIRTUAL FIREWALL ENDIAN: Entre as diversas tcnicas de firewall disponveis em software livre, foi escolhida o Endian, uma ferramenta de fcil configurao, timo desempenho e que dispe de diversos recursos de gerenciamento de rede, como firewall, ddns, proxy squid, antispam, dhcp, etc [6].

3.4 A MQUINA VIRTUAL SERVIDOR WEBMAIL EXPRESSO LIVRE: O uso da ferramenta Expresso Livre, j bastante difundida em vrios rgos pblicos no Brasil e em outros pases, permite a centralizao na administrao de usurios de e-mail, trabalho colaborativo, agenda, catlogo de endereos. Tudo isso possvel pela utilizao do Ldap (Sungaila, 2007). O Expresso Livre uma derivao do e-GroupWare, uma sute colaborativa feita em PHP, que usa Postgre e OpenLdap. Foi desenvolvida por profissionais da Celepar (Companhia de Informtica do Paran) e hoje conta com apoio do Serpro, Procergs, Caixa Econmica Federal, Prognus e outros parceiros [7].

3.5 A MQUINA VIRTUAL SERVIDOR DE ARQUIVOS SAMBA: O compartilhamento de arquivos e a autenticao de mquinas e usurios no domnio feita pelo Samba, com autenticao centralizada no OpenLdap. Desta forma, o mesmo login da rede ser utilizado no Webmail, facilitando a administrao de usurios e grupos. O Samba uma ferramenta Linux que compartilha arquivos e impressoras, alm de poder ser integrado ao servidores AD da MicroSoft [8].

3.6 A MQUINA VIRTUAL SERVIDOR HTTP APACHE2: O servidor Apache2 uma das principais ferramentas na administrao de pginas Web no momento. Ser utilizado para pginas internas e tambm para pginas de Internet [9]. compatvel com o HTTP e tem verses para Linux, Windows e Netware e OS/2. Nesta implementao demonstrativa estar instalado em uma mquina virtual com Ubuntu server, com php5 e banco de dados mysql.

20

4 PROCEDIMENTOS PARA INSTALAR UMA REDE COMPLETA:


Neste captulo descrevemos uma infraestrutura de servidores com alguns dos principais servios utilizados em uma rede de computadores de uma mdia empresa. O objetivo mostrar que os principais benefcios da virtualizao esto disponveis para qualquer empresa, a um custo reduzido, considerando-se que no necessrio a aquisio de licenas de software para sua implementao, podendo esta infraestrutura ser instalada com softwares livres.

4.1 PREPARAO DO AMBIENTE (HOST): Vamos comear instalando um ubuntu Desktop 1204 LTS. No ser usada a verso server porque a mesma mquina ser servidora e administradora da rede e serve apenas como demonstrao (Falko, 2012). O hardware um notebook com processador Intel i5 2.4 GHz, 4 GB de RAM, 640 GB de HD. Ressaltamos que num ambiente de produo deve ser evitado o uso de servidores Linux com interface grfica, j que esta opo pode aumentar o consumo de recursos da mquina. Aps a instalao do sistema (ubuntu 1204 LTS), fazemos a atualizao do sistema: # apt-get update # apt-get upgrade

Nem todas as CPUs tem suporte virtualizao. Por isso, vamos verificar a compatibilidade da CPU como o KVM: # egrep -c '(vmx|svm)' /proc/cpuinfo Se o resultado for 0 no h suporte para virtualizao. Se o resultado for 1 ou mais, pode iniciar a instalao. No caso da mquina utilizada o valor foi 4, indicando que temos 4 CPU virtualizveis. 21

Verificando a verso do Kernel: # uname -r # 3.2.0-29-generic Instalando os pacotes necessrios para o funcionamento do KVM na mquina servidora (host): # apt-get install kvm qemu-kvm bridge-utils ubuntu-virt-server ubuntuvm-builder

Instalando os pacotes necessrios no desktop para gerenciamento (no caso desta demonstrao, a mquina servidora a mesma mquina de gerenciamento): # apt-get install virt-manager

Adicionando usurio logado (root) ao grupo do libvirtd # adduser `id -un` libvirtd # adduser `id -un` kvm Para permisses dos servios na mquina, o final do arquivo /etc/group fica assim: ---------------------------------------kvm:x:125:juarez,root libvirtd:x:126:juarez,root -----------------------------------------

22

Verificando a instalao do kvm: # virsh -c qemu:///system list Deve aparecer : Id Name State

---------------------------------Configurando a rede: Enquanto os IPs no so definidos, precisamos apenas do acesso Internet e da configurao de Bridge para a criao das mquinas virtuais: # vim /etc/init.d/network/interfaces ________________________________________ auto lo iface lo inet loopback auto eth0 iface eth0 inet manual auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp off __________________________________________ 23

Verificando o status da bridge: # brctl show bridge name br0 virbr0 bridge id 8000.00e04c0dbc19 STP enabled no interfaces eth0

8000.000000000000 yes

Reiniciando o servidor: # reboot Aps o reincio do servidor j podemos criar as mquinas virtuais:

4.2 PRIMEIRA MQUINA VIRTUAL - ENDIAN FIREWALL: Efetuamos o download da imagem iso disponvel em http://sourceforge.net/projects/efw/files/Development/EFW-2.5.1/EFWCOMMUNITY-2.5.1-201201261800.iso/download Para a criao da mquina virtual vamos usar o aplicativo virt-manager [5]. Figura 4. Tela do Virt-Manager na criao de VM.

Fonte: mquina de testes Ubuntu 24

Aps a criao da mquina, precisamos acertar as configuraes de rede para bridge, o que permitir a conexo com as outras mquinas e com a Internet: No boto Show Virtual Details, NIC , basta marcar a bridge name para br0 Marcando para iniciar junto com a mquina: No boto Show Virtual Detail, Boot Options, marcar a caixa Autostart.

Figura 5. Configurao da VM - Virt-Manager

Fonte : mquina de testes Ubuntu Para concluir as configuraes do firewall Endian, basta abrir o endereo IP configurado na tela inicial no navegador:

25

Figura 6. Dash Board do Firewall Endian:

Fonte: mquina de testes Ubuntu O Endian j tem Zonas pr-configuradas para cada tipo de sub-rede, o que facilita bastante as configuraes iniciais, por isso, vamos utiliz-las da forma padro. A zona red deve ficar configurada para a interface eth1, enquanto a zona green deve apontar para a interface eth0. Podemos habilitar o proxy para funcionar de maneira transparente, ou seja, no ser necessrio a autenticao de usurios.

4.3 CRIAO DAS OUTRAS MQUINAS VIRTUAIS: Primeiramente, criamos uma mquina virtual com Ubuntu Server para ser a base de vrios servidores. Isto comum na administrao de um sistema virtualizado. Esta mquina modelo auxiliar na criao das demais. Assim como o 26

Endian, o Ubuntu Server ter sua interface de rede configurada como bridge e ir iniciar no Autostart. Em seguida, faremos um clone desta mquina para cada servidor (samba e webserver): Figura 7. Clonagem de VM Virt-Manager:

Fonte: mquina de testes Ubuntu

4.4 CONFIGURAO DO EXPRESSO LIVRE: Para o Expresso Livre, vamos utilizar um servidor Debian Squeeze. Aps criar a mquina virtual, fazemos um clone e damos o nome de debian-srv-expresso. As configuraes necessrias para a implementao do Expresso Livre foram retirados do site do projeto [8] e do livro Autenticao Centralizada com Open LDAP (Sungaila, 2007). Iniciamos a mquina virtual debian-srv-expresso. Apagamos o arquivo /etc/udev/70-persistent-net.rules Alteramos o hostname para debiansrv01 27

Reiniciamos o servidor para recriar o arquivo /etc/udev/70-persistentnet.rules. Caso o arquivo no seja recriado, a rede pode no funcionar, devido alterao do hardware. Agora vamos editar as configuraes de rede: # vim /etc/networking/interfaces -------------------------------auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.25.110 netmask 255.255.255.0 network 192.168.25.0 gateway 192.168.25.1 dns-nameservers 192.168.25.1 192.168.25.100 ---------------------------------

Baixamos -2.2.3.tar.gz Aps a

script

de

instalao

do

servio

em

http://www.expressolivre.org/html/expressolivre/downloads/releases/expresso

descompactao,

executamos

scrip

expresso/doc-

expressolivre/expressoInstall.sh Escolhemos a distribuio (debian Squeeze), digitamos a OU= e o Domnio.

28

Neste caso ou=virtual,dc=minharede,dc=com,dc=br Ao final da instalao, abrimos a pgina do navegador http://192.168.25.110 e completamos os testes e configuraes.

Figura 8. Tela de instalao Expresso Livre

Fonte: mquina de testes Ubuntu Agora basta logar com o usurio expresso-admin, com a senha configurada, e criar os usurios.

4.5 CONFIGURAO DO SERVIDOR WEB APACHE: Iniciamos a mquina virtual ubuntu-srv-webserver Alteramos o hostname para ubuntusrv03 Alteramos o endereamento ip: # vim /etc/networking/interfaces 29

-------------------------------auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.25.120 netmask 255.255.255.0 network 192.168.25.0 gateway 192.168.25.1 dns-nameservers 192.168.25.1 192.168.25.100 --------------------------------Instalamos os principais pacotes necessrios para a maioria dos sites html: # apt-get install apache2 php5 mysql-server Em seguida, testamos o servio abrindo a pgina do navegador da mquina de teste: http://192.168.25.120 Ao aparecer a mensagem It works! O servidor Apache2 est no ar.

4.6 CONFIGURAO DO SERVIDOR SAMBA: Iniciamos a mquina virtual ubuntu-srv-samba Alteramos o hostname para ubuntusrv04 Alteramos o endereamento ip: # vim /etc/networking/interfaces -------------------------------30

auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.25.130 netmask 255.255.255.0 network 192.168.25.0 gateway 192.168.25.1 dns-nameservers 192.168.25.1 192.168.25.100 ---------------------------------

As configuraes do Samba foram retiradas pgina do projeto na Internet [9] e do livro Autenticao Centralizada com Open LDAP (Sungaila,2007). Instalando os pacotes do samba:

# apt-get install samba samba-common libnss-ldap

Configuraes do pacote libnss-ldap ldap://192.168.25.110;389 ou=virtual,dc=minharede,dc=com,dc=br ldap version: 3 root admin database: yes 31

database ldap requer autenticao:

no

ldap account root cn=expresso-admin, dc=minharede,dc=com,dc=br password ****

Configuraes do arquivo nsswitch.conf passwd: group: shadow: hosts: networks: protocols: services: ethers: rpc: netgroup: compat ldap compat ldap compat ldap files dns files db files db files db files db files files ldap

Configuraes do arquivo smb.conf #####Global Settings ############## [global] ldap admin dn = cn=admin,dc=minharede,dc=com,dc=br ldap suffix = dc=minharede,dc=com,dc=br

32

ldap ssl = no passdb backend = ldapsam:ldap://192.168.25.110:389 netbios name = ubuntusrv04 workgroup = virtual server string = "virtual file server" wins support = yes dns proxy = no name resolve order = bcast wins host lmhost usershare owner only = false logon script = %U.bat logon path = logon drive = G: ##### Networking #### interfaces = 192.168.25.0/24 bind interfaces only = yes ##### Debugging/Accounting #### log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d ####### Authentication #######

33

security = user encrypt passwords = true ldap user suffix = ou=Users ldap group suffix = ou=Groups ldap machine suffix = ou=Computers ldap passwd sync = yes obey pam restrictions = yes ########## Domains ########### domain logons = yes add user script = /usr/sbin/smbldap-useradd -a -m "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" ############ Misc ############ domain master = yes smb ports = 445 139 name resolve order = wins bcast hosts utmp = Yes time server = Yes

34

template shell = /bin/false winbind use default domain = no map acl inherit = Yes strict locking = Yes admin users = teste01, expresso-admin [netlogon] comment = Network Logon Service path = /var/lib/samba/usershares/netlogon/ guest ok = yes read only = yes browseable = no [homes] comment = Home Directories browseable = no writeable = yes read only = no create mask = 0700 directory mask = 0700 [adm-rede] comment = Suporte de Informatica path = /home/adm-rede

35

public = yes writable = yes create mode = 2775 directory mode = 2775

Enviando a senha do admin para formar a base do samba com ldap # smbpasswd -W senha **** Verificando o samba id do servidor # net getlocalsid SID for domain UBUNTUSRV04 is: S-1-5-21-2822295400-5166732013384058956 o valor precisa ser copiado para ser enviado para o Expresso Livre. Restartando o samba # /etc/init.d/smbd restart # /etc/init.d/nmbd restart

4.7 CONFIGURAES DO SAMBA NO EXPRESSOLIVRE: Logado com o usurio expresso-admin, basta clicar no cone expressoadmin e criar o domnio virtual, colando o samba SID. partir da, criamos as contas dos usurios e grupos, as contas de computadores e j est pronto.

36

Figura 9. Configurando Samba no Expresso Livre

Fonte: mquina de testes Ubuntu

4.8 COMANDOS PARA A ADMINISTRAO DO SISTEMA: Caso algum tenha interesse em repetir estas configuraes em outro ambiente de testes, descrevo alguns dos comandos que foram utilizados e podem auxiliar nesta tarefa. Alguns comandos teis do samba: # pdbedit -L - monstra os usurios samba habilitados # net getlocalsid - mostra o samba SID # testparm -v - testa as configuraes do arquivo smb.conf # smbpasswd -W - sincroniza com senha admin arquivo secrets.tdb Alguns comandos teis do Bridge-Utils:

37

# brctl show - mostra as bridges configuradas # brctl addbr <bridge> adiciona novas bridges Alguns comandos teis do KVM: # virsh edit <maquinavirtual> - edita a configurao de uma mquina virtual # virsh -c qemu:///system list - verifica status do funcionamento das guests # virsh help - mostra as opes de gerenciamento de mquinas virtuais no KVM via linha de comando.

38

5 CONSIDERAES FINAIS:
Quando iniciei as pesquisas para a elaborao deste trabalho, no imaginei quo amplo e abrangente seria o tema. Foi uma agradvel surpresa conhecer os excelentes projetos nas reas de virtualizao e cloud computing desenvolvidos a partir de software livre. H muito ainda o que ser feito, principalmente porque as demandas no campo tecnolgico so quase inesgotveis. A aplicao de tcnicas de virtualizao contribuem para um rpido crescimento da Internet, pois torna-se cada vez mais rpido e fcil ampliar os negcios atravs da Cloud Computing. A chegada do KVM em 2007 abriu um novo leque de opes na virtualizao de sistemas operacionais, com segurana, eficincia e economia. Nos ltimos 5 anos, tm sido intensos, na comunidade cientfica e acadmica, os esforos para criao de ferramentas completas de gerenciamento de sistemas virtualizados, principalmente no que se refere a infraestrutura (IaaS). Neste aspecto, a utilizao de software livre contribui fortemente para o desenvolvimento tecnolgico. Neste trabalho foram criadas mquinas virtuais utilizando diversas ferramentas disponveis em Software Livre, demonstrando que possvel construir uma rede virtual completa usando apenas este tipo de recurso. Em apenas uma mquina fsica foram instalados alguns dos principais servios necessrios para o funcionamento de uma rede de pequeno ou mdio porte de uma organizao. O resultado da implementao da rede virtual baseada somente em software livre mostrou que, os avanos tecnolgicos na rea de virtualizao de servidores esto ao alcance de qualquer administrador de redes e, mesmo com pouco investimento financeiro pode-se usufruir desta tecnologia de forma segura.

39

6 GLOSSRIO:
Backup: Cpia de segurana de arquivos ou softwares Cloud Computing: nuvem computacional, servios e aplicaes computacionais disponibilizados em servidores especficos para tal fim na Internet ou Intranet. Dash Board: Tela de configurao principal de um software, painel de controle. Desktop: microcomputador de mesa de uso pessoal. IaaS: Infraestrutura como um servio SaaS: Software como um servio Internet: Rede mundial de computadores. Intranet: Rede de computadores de uma empresa ou organizao. Smartphone: Telefone celular com acesso a Internet, cmera e recursos computacionais prximos aos de um microcomputador. Storage: Equipamento com vrios discos de armazenamento de dados. Tablet: Microcomputador porttil, sem teclado fsico e dimenses reduzidas. VDI: Virtual Desktop Infrastructure, infraestrutura de desktops virtuais.

40

7 REFERNCIAS BIBLIOGRFICAS:
JAMES, Gareth R. Citrix XenDesktop Implementarion - A Practical Guide for IT Professionals. USA, Editora Syngress, 2010. LAUREANO, Marcos. Mquinas Virtuais e Emuladores Conceitos, Tcnicas e Aplicaes. So Paulo, Editora Novatec, 2006. MATHEWS, Jeanna N. Executando o Xen - Um guia prtico para a Arte da Virtualizao. Rio de Janeiro, Editora Alta Books, 2009. TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3 ed., So Paulo, Editora Pearson Prentice Hall, 2010. SUNGAILA, Marcos. Autenticao Centralizada com OpenLDAP So Paulo, Editora Novatec, 2007. THOLETI, Bhanu P. - Hypervisores, Virtualizao e a Nuvem. Disponvel em: < http://www.ibm.com/developerworks/br/cloud/library/cl-hypervisorcompare/ >. Acessado em 1/Maio/2013. VEENENDAAL, Erik Van. - VDI Smackdown, 2013. Disponvel em: < http://www.pqr.com/images/PQR/Downloads/Whitepapers >. Acessado em 01/Maio/2013. FALKO, Time. - Virtualization With KVM On Ubuntu 12.04 LTS. Disponvel em: < http://www.howtoforge.com/virtualization-with-kvm-on-ubuntu-12.04-lts >. Acessado em 01/Setembro/2013. MICROSOFT, - Server Virtualization Disponvel em: < http://www.microsoft.com/en-us/server-cloud/windows-server/hyper-v.aspx >. Acessado em 1/Maio/2013 [1] VMWARE, - Virtualization Basics. Disponvel em: <http://www.vmware.com/virtualization/what-is-virtualization.html> Acessado em / 01/Maio/2013. [2] CITRIX. Disponvel em: < http://support.citrix.com/proddocs/topic/infocenter/ic-how-to.html >. Acessado em 01/Maio/2013. [3] LINUX KVM. Disponvel em: http://www.linux-kvm.org/. Acessado em 01/Maio/2013. [4] COMPARATIVO APP NUVEM. Disponvel em: http://www.tecmundo.com.br/computacao-em-nuvem/22667-comparacao-google41

drive-skydrive-dropbox-ubuntu-one-icloud-box-e-sugarsync.htm . Acessado em 01/Maio/ 2013. [5] COMPARATIVO CLOUD COMPUTING. Disponvel em: http://www.slideshare.net/mdieder/computao-nas-nuvens-virtualizao-e-software-livre-comoeles-caminham-juntos . Acessado em 01/Maio/2013. [6] EUCALYPTUS. Disponvel em: http://www.eucalyptus.com/ . Acessado em 01/Setembro/2012. [6] VIRT-MANAGER. Disponvel em: < http://virt-manager.org/ >. Acessado em 01/Maio/2013. [7] ENDIAN Firewall. Disponvel em: < http://www.endian.com/us/community/efw-251/ >. Acessado em 01/Setembro / 2012 [8] EXPRESSOLIVRE. Disponvel em: < http://www.expressolivre.org/ >. Acessado em 01/Setembro/2012 [9] SAMBA. Disponvel em: < http://www.samba.org/ >. Acessado em 01/Setembro/2012 [10] APACHE. Disponvel em: < http://apache.org/ >. acessado em 01/Setembro/2012.

42