68
UNIVERSIDADE FEDERAL FLUMINENSE EDUARDO FLORENCE DE CARVALHO DESKTOPS VIRTUAIS OTIMIZANDO REDES CORPORATIVAS Niterói 2010

UNIVERSIDADE FEDERAL FLUMINENSE EDUARDO … · Figura 11 - Download do Ubuntu ... Site do LTSP ... virtuais. Normalmente, se você pode instalar um sistema operacional em um

Embed Size (px)

Citation preview

UNIVERSIDADE FEDERAL FLUMINENSEEDUARDO FLORENCE DE CARVALHO

DESKTOPS VIRTUAISOTIMIZANDO REDES CORPORATIVAS

Niterói2010

EDUARDO FLORENCE DE CARVALHO

DESKTOPS VIRTUAISOTIMIZANDO REDES CORPORATIVAS

Trabalho de Conclusão de Curso subme-

tido ao Curso de Tecnologia em Siste-

mas de Computação da Universidade

Federal Fluminense como requisito par-

cial para obtenção do título de Tecnólo-

go em Sistemas de Computação.

Orientador:Alexandre Domingues Gonçalves

NITERÓI2010

EDUARDO FLORENCE DE CARVALHO

DESKTOPS VIRTUAISOTIMIZANDO REDES CORPORATIVAS

Trabalho de Conclusão de Curso subme-

tido ao Curso de Tecnologia em Siste-

mas de Computação da Universidade

Federal Fluminense como requisito par-

cial para obtenção do título de Tecnólo-

go em Sistemas de Computação.

Niterói, ___ de _______________ de 2010.

Banca Examinadora:

_________________________________________

Prof. Alexandre Domingues Gonçalves, Msc. – Orientador

UFF - Universidade Federal Fluminense

_________________________________________

Prof. Leandro Soares de Sousa, Msc. – Avaliador

UFF - Universidade Federal Fluminense

Dedico este trabalho a minha esposa e ao

meu filho pela enorme compreensão nas ho-

ras que precisei ficar ausente para conclu-

são de meu curso.

AGRADECIMENTOS

A meu Orientador Alexandre Domingues Gon-

çalves pelo estímulo e atenção que me con-

cedeu durante a realização do trabalho.

A minha quase afilhada, Sharisse, que me es-

timulou a realizar este curso, mesmo sem sa-

ber, ao me convidar para sua formatura.

A todos os meus familiares e amigos pelo

apoio e colaboração.

“A melhor maneira de prever o futuro é inventá-lo”

Alan Curtis Kay

RESUMO

Este trabalho visa relatar informações a respeito da virtualização de desktops. Mos-trar conceitos, utilização, arquitetura, vantagens, desvantagens e benefícios. Através de pesquisas, mostrar a utilização da tecnologia nas empresas que estão em busca de soluções para reduzir os altos custos de manutenção, os intermináveis ciclos de substituição e as vulnerabilidades de segurança que afetam o desktop padrão em suas redes e faz um comparativo com as vantagens e desvantagens da virtualização de desktop com o uso de thin clients, proporcionando redução do custo total de pro-priedade, além de destacar as ferramentas de mercado mais conhecidas.

Palavras-chaves: virtualização, desktop, tco, ltsp e thin client

LISTA DE ILUSTRAÇÕES

Figura 1 - Computação Centralizada [2].....................................................................16

Figura 2 - Computação Distribuída [2]........................................................................17

Figura 3 – Virtualização [3]..........................................................................................20

Figura 4 - Virtualização Total......................................................................................24

Figura 5 - Paravirtualização........................................................................................25

Figura 6 - Infraestrutura de Desktops Virtuais (VDI) [4]..............................................26

Figura 7 - Compartilhamento do mesmo sistema operacional...................................33

Figura 8 - Compartilhamento do Blade.......................................................................34

Figura 9 - Compartilhamento do Hospedeiro (Host)...................................................35

Figura 10 - Computador Pessoal e um Thin Client [2]................................................44

Figura 11 - Download do Ubuntu................................................................................51

Figura 12 - Site do LTSP.............................................................................................52

Figura 13 - Acessando aplicativo Terminal do Ubuntu...............................................53

Figura 14 - Coletando informações de rede do Servidor............................................54

Figura 15 - Arquivo hosts............................................................................................57

Figura 16 - Incluindo usuários no Ubuntu...................................................................58

Figura 17 - Tela de login dos terminais.......................................................................60

Figura 18 - Uso do processador e memória sem terminais........................................60

Figura 19 - Uso do processador e memória sem terminais e com OpenOffice.........61

Figura 20 - Uso do processador e memória com um terminal....................................61

Figura 21 - Prioridade de boot no setup do computador............................................67

Figura 22 - Boot através do PXE................................................................................68

LISTA DE TABELAS

Tabela 1 - Prioridades do CIO....................................................................................19

Tabela 2 - Desktop Virtual X Desktop Tradicional......................................................28

Tabela 3 - Arquivo dhcpd.conf com comentários........................................................55

LISTA DE GRÁFICOS

Gráfico 1 - Investimento em virtualização de desktop................................................27

LISTA DE ABREVIATURAS E SIGLAS

RAM – Random Access Memory (Memória de acesso direto).

MB – Megabyte.

GB – Gigabyte.

x86 – Nome genérico dada à família (arquitetura) de processadores baseados

no Intel 8086, da Intel Corporation.

GB – Gigabyte.

CIO – Chief Information Officer é um título de cargo dado ao diretor de informáti-

ca.

CPU – Central Processing Unit (Unidade central de processamento)

ICA – Independent Computing Architecture

RDP – Remote Desktop Protocol

XDMCP – X Display Manager Control Protocol

LTSP – Linux Terminal Server Project

VMM – Virtual Machine Monitor

VDI – Infraestrutura de Desktops Virtuais

TCO – Total Cost of Ownership

WTS – Windows Terminal Services

WAN – Wireless Area Network

ROM – Read Only Memory

SUMÁRIO

RESUMO ...................................................................................................................... 7

LISTA DE ILUSTRAÇÕES ........................................................................................... 8

LISTA DE TABELAS .................................................................................................... 9

LISTA DE GRÁFICOS ................................................................................................ 10

LISTA DE ABREVIATURAS E SIGLAS ..................................................................... 11

1 INTRODUÇÃO ......................................................................................................... 13

2 FUNDAMENTAÇÃO TEÓRICA ............................................................................... 15

3 IMPLEMENTAÇÃO DA PROPOSTA ....................................................................... 47

CONCLUSÕES E TRABALHOS FUTUROS ............................................................. 64

CONCLUSÕES E TRABALHOS FUTUROS ............................................................. 64

REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 65

REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 65

ANEXOS ..................................................................................................................... 66

1 INTRODUÇÃO

A virtualização é um dos temas mais abordados atualmente no mundo da

informática. A necessidade cada vez maior de servidores aliada à busca por redução

de custos, aumento de desempenho, gerenciamento simplificado e otimização da

estrutura provocaram um movimento quase unânime em prol da virtualização. A

computação em nuvem, outro tema muito abordado, nada mais é do que a virtualiza-

ção de servidores em um ambiente não local.

Para completar o tema virtualização temos outro assunto em crescimento:

os Desktops Virtuais. No ambiente corporativo as estações de trabalho são utiliza-

das com funcionalidades específicas e, consequentemente, são subutilizadas. A ne-

cessidade do usuário em uma empresa está bem aquém do poder de processamen-

to e armazenamento dos computadores pessoais atuais.

Os mesmos benefícios oriundos da virtualização de servidores podem ser

encontrados na virtualização de desktops, destacando-se principalmente o gerencia-

mento simplificado e a redução de custos devido ao gigantesco crescimento dos

usuários por empresa.

Este trabalho tem por objetivo demonstrar as diferenças e semelhanças

entre a virtualização tradicional e a de desktops, e explorar os detalhes da virtualiza-

ção de desktops como novo paradigma nas redes corporativas.

Na fundamentação teórica são abordados os temas virtualização e virtuali-

zação de desktops e, como parte prática, no último capítulo deste trabalho, é mos-

trada, a implementação da virtualização de desktops voltada para micro e pequena

empresa.

13

1.1 OBJETIVO

O objetivo principal deste trabalho é relacionar os conceitos, benefícios e

limitações da implantação da virtualização de desktops em empresas e mostrar aos

gestores de TI como ela pode se tornar grande aliada na redução de custos.

1.2 METODOLOGIA

Esse trabalho foi elaborado por levantamento bibliográfico através de pes-

quisa realizada em livros, sites da Internet, monografias, artigos e revistas técnicas

sobre o tema de virtualização. Foi também levada em consideração minha própria

experiência no tema.

14

2 FUNDAMENTAÇÃO TEÓRICA

2.1 VIRTUALIZAÇÃO

2.1.1 DEFINIÇÃO

Em uma definição pessoal, virtualização é a criação de máquinas virtu-

ais, através de um único servidor, que se comportam como se fossem computa-

dores independentes, cada qual com seu sistema operacional (igual ou diferente

ao do servidor).

“Ampliando esse conceito, é importante aprofundar o entendimento de como os ambientes computacionais são independentes um dos outros. Além do hardware do servidor que hospeda os sistemas virtualizados, esses ambien-tes virtuais não têm nada mais em comum. Não existe interdependência en-tre os sistemas virtuais nem regras que ditem qual sistema você pode usar em um ambiente virtual, à parte a compatibilidade do software de máquinas virtuais. Normalmente, se você pode instalar um sistema operacional em um hardware "real", poderá instalá-lo em uma máquina virtual. Seu servidor pode hospedar vários sistemas operacionais, sejam eles iguais, similares ou completamente diferentes. Os sistemas operacionais virtualizados são inde-pendentes entre si.” [5].

15

2.1.2 HISTÓRIA

O conceito de virtualização data da década de 60, quando a IBM imple-

mentou e desenvolveu as máquinas virtuais.

“Na época, tinha-se o propósito de utilizar de forma simultânea os caríssi-

mos equipamentos mainframe1. A IBM criou e desenvolveu, no início dos anos 70,

um sistema operacional radicalmente diferente. Este sistema foi originalmente cha-

mado de CP/CMS e posteriormente de VM/370. O coração do sistema era o Virtual

Machine Monitor que proporcionava a multiprogramação e a criação de máquinas

virtuais.” [1, p.15], num cenário chamado de computação centralizada (figura 1).

Figura 1 - Computação Centralizada [2]

A Virtualização de servidores, tão conhecida e difundida atualmente nos

servidores da plataforma x86, tem a sua origem e seus conceitos diretamente relaci-

onados a estas descobertas e pesquisas da IBM.

Através da empresa VMWare, fundada em 1998, a tecnologia de virtuali-

zação ganhou o mercado.

1 Computador de grande porte

16

A virtualização foi abandonada efetivamente durante as décadas de 80 e

90, quando os aplicativos cliente-servidor e os desktops e servidores x86 baratos le-

varam a uma computação distribuída (figura 2). A ampla adoção do Windows e o

surgimento do Linux como sistema operacional de servidor nos anos 90 estabelece-

ram os servidores x86 como padrão de mercado.

Figura 2 - Computação Distribuída [2]

2.1.3 DESAFIOS

O crescimento das implantações de servidores e desktops x86 levou a no-

vos desafios operacionais e de infraestrutura de TI. Esses desafios incluem:

2.1.3.1 Baixa utilização da infraestrutura

As implantações típicas de servidor x86 alcançaram uma média de utiliza-

ção de 10% a 15% da capacidade total, de acordo com a International Data Corpo-

ration (IDC), uma empresa de pesquisa de mercado. As organizações normalmente

executam um aplicativo por servidor para evitar o risco de as vulnerabilidades de um

aplicativo afetarem a disponibilidade de outro, no mesmo servidor.

17

2.1.3.2 Aumento dos custos da infraestrutura física

Os custos operacionais para fornecer suporte à crescente infraestrutura fí-

sica tiveram um aumento constante. A maior parte da infraestrutura de computação

deve permanecer em operação o tempo todo, resultando em custos de consumo de

energia, refrigeração e instalações invariáveis com os níveis de utilização.

2.1.3.3 Aumento dos custos de gerenciamento de TI

À medida que os ambientes de computação ficam mais complexos, o nível

de conhecimento especializado e a experiência exigidos para a equipe de gerencia-

mento de infraestrutura e os custos associados dessa equipe aumentam. As organi-

zações gastam tempo e recursos desproporcionais em tarefas manuais associadas

à manutenção de servidor e, portanto, exigem mais pessoas para concluir essas ta-

refas.

2.1.3.4 Proteção insuficiente contra desastres e failover2

As organizações são cada vez mais afetadas pelo tempo de inatividade

dos aplicativos de servidor essenciais e pela inacessibilidade de desktops importan-

tes para os usuários finais. A ameaça de ataques de segurança, os desastres natu-

rais, as pandemias e o terrorismo elevaram a importância do planejamento da conti -

nuidade de negócios para desktops e servidores.

2 Disponibilidade contínua

18

2.1.3.5 Desktops de usuário final com alta manutenção

O gerenciamento e a segurança de desktops corporativos apresentam in-

úmeros desafios. O controle de um ambiente de desktop distribuído e a aplicação de

políticas de gerenciamento, acesso e segurança, sem minar a capacidade do usuá-

rio de trabalhar efetivamente, constituem operações complexas e caras. Várias cor-

reções e atualizações devem ser continuamente aplicados aos ambientes de desk-

top para eliminar as vulnerabilidade de segurança.

2.1.4 O RETORNO

No momento atual da TI, quem acompanha as notícias no mercado, sabe

que virtualização é a palavra da vez. Virtualizar virou sinônimo de abstrair e, portan-

to, praticamente tudo que tem um conceito de abstração leva virtualização em seu

nome.

O relatório da Gartner EXP sobre CIOs, “Liderando em tempos de transi-

ção: A Agenda de 2010 para o CIO”, aponta as prioridades de Tecnologia que po-

dem ser conferidas na Tabela 1. Este relatório representa a análise mais abrangente

das prioridades das empresas e as estratégias dos CIOs, pois o estudo inclui res-

postas de 1.586 diretores de TI, que representam mais de US$ 126 bilhões em gas-

tos dos setores corporativo e público em 41 países.

1ª Virtualização2ª Cloud computing3ª Web 2.04ª Networking, voz e comunicação de dados5ª Business intelligence6ª Tecnologias móveis7ª Gerenciamento e storage de dados/documentos8ª Aplicações e arquiteturas orientadas às aplicações9ª Tecnologias de segurança10ª Gerenciamento de TI

Tabela 1 - Prioridades do CIO

19

2.1.5 FUNCIONAMENTO

O computador, atualmente, tem sido utilizado para executar um único siste-

ma operacional e um único aplicativo, fazendo com que a maioria das máquinas seja

subutilizada. A virtualização, como mostrada na figura 3, permite executar várias má-

quinas virtuais em uma única máquina física, com cada máquina virtual comparti-

lhando os recursos desse computador físico entre vários ambientes. Máquinas virtu-

ais diferentes conseguem executar sistemas operacionais diferentes e vários aplica-

tivos no mesmo computador físico.

Figura 3 – Virtualização [3]

20

A CPU, a memória RAM, o disco rígido e o controlador de rede poderão

ser incluídos para criar uma máquina virtual capaz de executar um sistema operacio-

nal e aplicativos próprios, exatamente como um computador "real". Cada máquina

virtual contém um sistema completo, o que elimina possíveis conflitos. A virtualiza-

ção funciona com a inserção de uma fina camada de software diretamente no

hardware do computador ou no sistema operacional host. Ela contém um monitor de

máquinas virtuais ou "hypervisor" que aloca os recursos de hardware de modo dinâ-

mico e transparente. Encapsulando uma máquina inteira, incluindo CPU, memória,

sistema operacional e dispositivos de rede, uma máquina virtual se torna totalmente

compatível com todos os sistemas operacionais, aplicativos e drivers de dispositivos.

“A virtualização de um único computador físico é apenas o início. É possí-

vel criar uma infraestrutura virtual inteira, dimensionando centenas de computadores

físicos e dispositivos de armazenamento interconectados. Não é necessário atribuir

servidores, armazenamento ou largura de banda de rede permanentemente a cada

aplicativo. Em vez disso, os recursos de hardware são alocados dinamicamente

quando e onde são necessários. Os aplicativos com prioridade mais alta sempre têm

os recursos necessários sem desperdiçar dinheiro em hardware usado apenas em

horários de pico.” [4]

Não é apenas a virtualização que é importante. São necessárias ferra-

mentas de gerenciamento para executar essas máquinas com habilidade para exe-

cutar uma ampla seleção de aplicativos e serviços de infraestrutura, permitindo que

seja aumentada a disponibilidade dos serviços, eliminando as tarefas manuais sujei -

tas a erros. Será necessário lidar com o dobro ou o triplo de servidores, dando ao

usuário acesso aos serviços de que eles precisam enquanto mantém controle cen-

tralizado, fornecendo disponibilidade, segurança e desempenho incorporados a to-

dos, do desktop ao data center3.

3 Local preparado especialmente para abrigar os servidores de uma empresa

21

2.1.6 TERMINOLOGIA

Nesta seção serão definidos alguns dos principais termos empregados na

tecnologia de virtualização:

• Virtual Machine Monitor - VMM (ou hypervisor): é o software que implementa

a virtualização propriamente dita, gerenciando a(s) máquina(s) virtual(is).

• Hardware Virtual Machine - HVM : Máquina virtual que faz uso de tecnologias

de virtualização embutidas em hardware como os chips Intel Vanderpool e

AMD Pacifica.

• Computador hospedeiro ( host ) : é o nome dado a máquina física virtualizada.

• Sistema operacional convidado ( guest operational system ) : é o sistema ope-

racional que executa em cada máquina virtual.

• Client : é o dispositivo que acessa a máquina virtual.

22

2.1.7 TIPOS DE VIRTUALIZAÇÃO

2.1.7.1 Emulação

A máquina virtual simula uma plataforma de arquitetura distinta daquela do

computador hospedeiro. Em geral usa-se emulação quando se deseja recriar um

hardware que não se encontra disponível objetivando a execução de aplicações. Por

exemplo, podem-se executar aplicações Windows em computadores baseados na

arquitetura PowerPC utilizando-se o emulador Virtual PC da Microsoft. Outros exem-

plos de emuladores: PearPC (emula a arquitetura PowerPC em plataforma x86), Bo-

chs (emula a arquitetura IBM PC) e QEMU (emula PowerPC, Sparc, dentre outros

processadores).

2.1.7.2 Virtualização parcial

As máquinas virtuais simulam apenas parte do hardware suportado pelo

computador hospedeiro. Este tipo de virtualização tem a sua relevância histórica por

ter representando uma importante etapa alcançada antes da chamada virtualização

total.

23

2.1.7.3 Virtualização total ou nativa

Cada máquina virtual simula a mesma plataforma de hardware do computa-

dor hospedeiro como demonstrado na figura 4. Teoricamente qualquer sistema ca-

paz de ser executado no computador hospedeiro pode ser executado, sem qualquer

modificação, em uma máquina baseada na virtualização total. Exemplos deste tipo

de virtualização: VMware, Parallels, VirtualBox, dentre outros.

Aplicativos

Aplicativos

Sistema operacional (convidado)

Hardware virtual

Máquina virtual 1

Aplicativos

Sistema operacional (convidado)

Hardware virtual

Máquina virtual 2

Monitor de Máquinas virtuais (VMM)

Sistema Operacional (Hospedeiro)

HardwareFigura 4 - Virtualização Total

2.1.7.4 Paravirtualização

As máquinas virtuais simulam uma versão modificada da plataforma de

hardware do computador hospedeiro, necessitando, portanto, que adaptações te-

nham que ser realizadas de forma a adequar os sistemas convidados a estas máqui-

nas virtuais, como demonstrado na figura 5. A paravirtualização objetiva tornar mais

simples e eficiente e eficiente o suporte a virtualização. Representantes deste tipo

de virtualização: Xen, L4 e Tango.

24

Aplicativos Aplicativos Aplicativos

Sistema operacional

(Gerenciamento)

Sistema operacional

(Convidado 1)

Sistema operacional

(Convidado 2)

Hypervisor

HardwareFigura 5 - Paravirtualização

2.2 VIRTUALIZAÇÃO DE DESKTOPS

“O Desktop não é um dispositivo, mas sim, um meio tecnológico para o

usuário corporativo executar as suas tarefas e atividades diárias, inerentes à sua or-

ganização!” [7]

Empurrado pela evolução da tecnologia, os microcomputadores hoje che-

gam ao mercado com recursos computacionais geralmente desnecessários para um

usuário comum, e mais desnecessários ainda para uma organização em que seus

funcionários utilizam apenas duas ou três aplicações, incluindo um navegador web,

e não precisam de grande volume de memória local, já que todos os dados são ar-

mazenados no storage (dispositivo de armazenamento) corporativo.

É visando à diminuição dessa ociosidade de processamento, espaço em

disco etc. que a técnica da virtualização se apresenta. Na virtualização de desktops,

em vez da utilização de várias máquinas com seus sistemas operacionais respecti-

vos, utiliza-se apenas um computador servidor de grande capacidade, abrigando

máquinas virtuais como se fossem simples arquivos, cada qual com seus serviços e

aplicações próprias, sendo que essas máquinas virtuais compartilham recursos de

hardware como CPU, memória RAM, disco rígido e rede.

25

A virtualização de desktops é considerada por especialistas a união de

duas das tecnologias mais bem sucedidas: a computação centralizada em torno do

mainframe e a tradição de desktop de conceder poder ao usuário.

Assim como ocorrem com a virtualização de servidores, a virtualização de

desktops depende de uma camada de software que roda em um hardware e oferece

uma plataforma onde os administradores podem implementar e gerenciar máquinas

virtuais. Na tecnologia, cada usuário recebe uma máquina virtual que contém uma

instância separada de um sistema operacional e de qualquer aplicação que precise

ser utilizada.

A VMware foi a primeira empresa a promover o termo VDI (infraestrutura

de desktop virtual), mostrado na figura 6, mas outras companhias, como Microsoft,

com seu Terminal Services e a Citrix, com seu XenDesktop, preferem outras termi-

nologias. Todas com o mesmo princípio e a mesma finalidade.

Figura 6 - Infraestrutura de Desktops Virtuais (VDI) [4]

26

Em uma pesquisa recente do IDG Research Services Group, 340 geren-

tes de informática responderam a pergunta: “Em que área sua empresa está inves-

tindo em virtualização?” O gráfico abaixo exibe o resultado da pesquisa e demonstra

o quanto a virtualização de desktops vem crescendo em importância. [8]

Gráfico 1 - Investimento em virtualização de desktop

Na tabela 2 podemos verificar um comparativo entre desktops virtuais e

tradicionais analisado pela empresa de consultoria Add IT Solution [9, p. 7], onde os

principais quesitos relacionados as estações de trabalho são confrontados. Mesmo

que se questionem algumas das afirmativas, são inúmeras as vantagens que esti-

mulam a implantação de uma infraestrutura virtual. Há de se destacar que tal infra-

estrutura pode ser implantada de forma parcial para facilitar a mudança de paradig-

ma.

27

Quesitos Desktop Virtual Desktop Tradicional

Usabilidade Executa aplicativos tradicionais. Executa aplicativos tradicionais.

SegurançaPonto único de segurança, no servidor, o usuário não executa nada que ele não te-

nha direito.

Pontos distribuídos de segurança em todos os desktops.

Gerenciamento Ponto único, fácil de gerenciar e adminis-trar, somente no servidor.

Requer gerenciamento descen-tralizado e grandes equipes de TI.

DisponibilidadeSempre disponível, aumento de produtivi-dade dos usuários que poderão acessá-lo

até pela Internet.

Alto downtime4, usuários com bai-xa produtividade e altos custos

para a empresa.

TCO (Total Cost of Ownership)

Redução de custo no momento zero do projeto e economias de até 75% nos gas-tos com aquisição, administração e ma-

nutenção.

Rápida depreciação, alto custo de aquisição e elevado custo de ma-nutenção, baixa vida útil -aproxi-

madamente 3 anos.

Tabela 2 - Desktop Virtual X Desktop Tradicional

2.2.1 BENEFÍCIOS

Com todos os desktops dentro do data center, facilitamos o backup dos

dados, aumentamos a segurança dos dados empresariais, simplificamos a instala-

ção de novos desktops, centralizamos o gerenciamento, simplificamos a manuten-

ção e o suporte (não haverão mais desktops físicos, agora eles serão lógicos) e faci-

litamos a continuidade da operação no caso de um desastre.

4 Tempo de indisponibilidade

28

2.2.1.1 Backup

Este tipo de solução permite eliminar a necessidade de armazenar dados

em computadores pessoais, armazenando‐os assim no data center, onde há maior

segurança, menor probabilidade de perda de informação, mecanismos redundantes,

sistemas de recuperação e são geridos por profissionais de elevada competência de

TI. Como os dados corporativos são centralizados temos uma grande facilidade de

efetuar backups e restaurações. Podemos programar a tarefa de backups para horá-

rios de ociosidade da rede não afetando o desempenho e podemos realizar restau-

rações em poucos instantes sem a necessidade de estar próximo ao dispositivo físi-

co do usuário.

2.2.1.2 Segurança da informação

Embora as organizações tenham efetuado grandes investimentos em sis-

temas de segurança, no sentido de protegerem os seus dados, como sistemas de

autenticação, autorização e encriptação de dados, estes investimentos permitiram

somente fortalecer a segurança do próprio centro de dados, deixando outra área im-

portante vulnerável: o ambiente de trabalho dos usuários. É necessário ter em men-

te, a existência de informação nos computadores pessoais dos próprios colaborado-

res, pois esta informação é na sua grande maioria vital e confidencial para as organi -

zações. O roubo ou a perda de informação poderá colocar em risco a continuidade

do negócio da organização. Com a virtualização dos desktops, estes dados estarão

sempre no data center sob fortes políticas de segurança. Há de se destacar também

que não é permitido o uso de softwares desautorizados e não homologados.

29

2.2.1.3 Gerenciamento

Em uma instalação dinâmica de desktops virtuais, os desktops compartilham

dados, como correções e outras atualizações, mantendo personalizações relativas a

usuários (perfil). Isso facilita significativamente o gerenciamento do ambiente. A me-

todologia de gerenciamento permite a migração de um desktop virtual sem a derru-

bada da máquina, assim como ocorre nos servidores. Além disso, se uma máquina

virtual trava, só ela será afetada, as demais continuarão operantes. Sem contar que

elas podem ser rapidamente recuperadas com o uso de snapshots5. O acesso remo-

to às máquinas faz com que os técnicos não precisem mais expulsar usuários de

seus lugares para resolver problemas ou fazer atualizações.

2.2.1.4 Flexibilidade e disponibilidade

Nos ambientes que empregam virtualização, uma máquina virtual pode ser

facilmente copiada de uma máquina física para outra na presença de falhas. Ima-

gens de máquinas virtuais em produção podem ser salvas e restauradas sempre

que se fizerem necessárias. Em uma outra situação, recursos computacionais po-

dem ser alocados sob demanda para uma determinada máquina virtual em momen-

tos de maior carga. Finalmente, ambientes de testes podem facilmente ser configu-

rados usando-se as facilidades da virtualização.

5 Armazenamento do estado atual de uma máquina virtual

30

2.2.1.5 Mobilidade

O ambiente de trabalho pode estar disponível em vários tipos de dispositivos

físicos, como por exemplo, computadores pessoais, notebooks, thin clients e até

smartphones. É possível conjugar essa mobilidade com a personalização do ambi-

ente para cada usuário, causando uma maior afinidade com o sistema e uma conti-

nuidade de trabalho entre sessões, além de acesso externos. O ambiente de traba-

lho será alterado apenas no servidor e não em cada posto de trabalho, permitindo

uma gestão de mudança muito mais eficiente.

2.2.1.6 Redução de custos

Como os dados e grande parte do processamento ficam no data

center, podemos ter dispositivo de acesso aos desktop virtuais de baixo custo sem

afetar a performance, reduzindo assim os custos de aquisição de equipamentos e de

sua manutenção. Estes dispositivos também terão uma vida útil longa, já que, para

um aumento da capacidade de processamento, será necessário investir apenas no

data center e os efeitos serão automaticamente replicados nas estações de trabalho.

O consumo de energia elétrica também será drasticamente reduzido, não só pelo

menor consumo destes dispositivos, mas devido ao menor dimensionamento de

condicionadores de ar e no-breaks. Outra economia importante será na equipe de

suporte que poderá ser reduzida e mais qualificada, refletindo numa melhor adminis-

tração da rede. Na virtualização de desktop, mesmo tendo como estratégia maior o

compartilhamento de recursos computacionais do hospedeiro, são inegáveis benefí-

cios da redução de custos com a infraestrutura.

31

2.2.2 TIPOS DE VIRTUALIZAÇÃO DE DESKTOP

É dada ênfase a três tipos de virtualização de desktops, no entanto, estas

são apenas algumas das soluções possíveis na área. Cada uma possui característi -

cas e funcionalidades ligeiramente diferentes, que devem ser analisadas no momen-

to em que as organizações decidem implementar uma solução de virtualização de

desktops.

Em relação à centralização da informação, o objetivo é comum, diferindo

apenas na forma como são realizados os acessos e as personalizações dos siste-

mas centrais. A seguir veremos os três tipos principais de virtualização de desktops:

2.2.2.1 Múltiplos usuários por servidor

Um sistema operacional é utilizado para disponibilizar serviço de desktop

a um número finito de usuários. Suas características são: compartilhamento dos re-

cursos computacionais, a conexão estabelecida entre usuário e servidor é em modo

concorrencial (sessões), um único sistema operacional pode servir mais do que um

usuário, o sistema operacional escolhido é o mesmo para todos os usuários, os apli-

cativos devem ser concebidos para permitir a execução partilhada por múltiplos usu-

ários e é uma solução de baixo custo, principalmente quando implantada com siste-

mas abertos (figura 7).

32

Figura 7 - Compartilhamento do mesmo sistema operacional

2.2.2.2 Um usuário por servidor

Neste tipo é necessário o uso de servidores no formato blade (servidores

que comportam vários servidores em seu interior, separados em lâminas). Esta solu-

ção pode incluir atributos especiais por servidor e dispositivo cliente e também po-

tencializar o uso de software gráfico complexo. Suas características são: não existe

compartilhamento de recursos computacionais, conexão dedicada entre um disposi-

tivo cliente e um servidor blade, ótimo para ambientes que exijam a utilização de

software gráfico e a facilidade de gestão dos sistemas (figura 8).

33

Figura 8 - Compartilhamento do Blade

2.2.2.3 Uma máquina virtual por usuário

Este tipo exige um monitor de máquinas virtuais (Hypervisor), que permite

a criação de máquinas virtuais através da emulação do hardware. Os administrado-

res de TI podem, de forma eficiente, utilizar as ferramentas e a capacidades de ad-

ministração de desktop que existem atualmente, facilitando a rápida migração de um

ambiente de desktop tradicional (PC’s) para um ambiente desktop virtual. Suas ca-

racterísticas são: compartilhamento dos recursos computacionais, ambientes de tra-

balho distintos no mesmo servidor, gestão integrada dos vários ambientes de traba-

lho, aprovisionamento rápido e eficaz e flexibilidade extrema de ambientes de traba-

lho disponibilizado aos usuários (figura 9).

34

Uma lâmina por usuário

Figura 9 - Compartilhamento do Hospedeiro (Host)

35

Host

Máquinas virtuais

2.2.3 PROTOCOLO DE COMUNICAÇÃO

Há várias tecnologias e protocolos para emulação de terminais disponíveis

e, neste trabalho, serão citadas as principais: ICA, RDP e XDMCP.

2.2.3.1 ICA

O protocolo ICA (Independent Computing Architecture) é um protocolo pro-

prietário da empresa Citrix Systems especializado na de transferência de imagens,

que permite aos usuários remotos a operação de aplicações baseadas em interface

gráfica (Windows, por exemplo) com um mínimo de consumo de banda, uma vez

que a lógica do aplicativo é executada no servidor e somente os objetos da interface

e eventos são enviados ao dispositivo cliente. Dessa maneira, não há tráfego de da-

dos de arquivos executáveis e os usuários trabalham em suas estações como se os

aplicativos estivessem instalados localmente. Pelo fato do protocolo ICA ser imple-

mentado ao nível do sistema, ele é eficiente e compacto. Sua principal função é per-

mitir a exibição no cliente do resultado dos processos executados no servidor de

uma forma muito eficiente e necessitando pouca taxa de transmissão da rede. É ro-

busto o bastante para continuar operando mesmo que a capacidade de transmissão

da rede torne-se mais limitada. No site da Citrix, encontra-se a seguinte afirmativa:

“o protocolo ICA transforma qualquer dispositivo cliente complexo em um thin client,

de forma a entregar aplicações corporativas para a ampla variedade de desktops

instalados, em variadas plataformas e redes. No servidor, o ICA tem a capacidade

de atender pedidos separados logicamente a partir da interface do usuário. No clien-

te, os usuários vêem e trabalham com a aplicação exibida na interface, sendo que

cem por cento da aplicação é executada no servidor. Com o ICA, as aplicações con-

somem apenas 20 Kbps de largura de banda, ou seja, um décimo da disponibilidade

de rede e largura de banda disponível. Isto lhe permite operar consistentemente,

36

mesmo através de uma conexão discada, como no uso de aplicações móveis, por

exemplo, que geralmente requerem uma quantidade muito menor de interatividade

e, por conseguinte, velocidades de conexão a um nível tão baixo como as disponí-

veis nas redes móveis GSM (9,6 Kbps).

2.2.3.2 RDP

O protocolo RDP (Remote Desktop Protocol) é uma ampliação da família

T-120 de protocolos que, por padrão, utiliza a porta 3389, implementada na camada

5 (aplicação) da pilha TCP/IP, permitindo a conexão remota de um computador cli-

ente a um servidor de terminal. O RDP se baseia no envio de instruções em vez de

bitmaps com screenshots6 da tela. O cliente recebe as instruções e as combina com

ícones e outros elementos para montar novamente as janelas. Isso faz com que usar

o servidor remotamente seja uma experiência muito parecida com usá-lo localmente,

além de melhorar bastante a qualidade do acesso via Internet. Outro fator essencial

é que ele permite que vários usuários se conectem simultaneamente ao servidor,

abrindo sessões independentes. O RDP é usado desde a época do Windows NT.

Ele surgiu como um protocolo para administração remota dos servidores Windows,

mas foi logo expandido e transformado em um protocolo de acesso remoto, dando

origem ao Windows Terminal Services (WTS), que permite que vários usuários se

conectem simultaneamente à mesma máquina Windows de forma a usar o sistema e

rodar aplicativos. Todo o processamento é feito no servidor, permitindo que ele seja

usado mesmo em máquinas antigas ou em terminais burros, com pouco poder de

processamento. Além da baixa utilização da rede, o algoritmo de compressão do

RDP também consome menos recursos do servidor, o que permite o uso de mais

terminais simultaneamente. De uma forma geral, um servidor equipado com um pro-

cessador Core 2 Duo, Athlon X2 ou superior e 2 GB de memória RAM, pode atender

50 clientes simultâneos rodando aplicativos leves, ou de 15 a 25 clientes simultâne-

os rodando aplicativos mais pesados. [11]

6 Fotografias de vários instantes das telas que resultam do processamento

37

2.2.3.3 XDMCP

O protocolo XDMCP (X Display Manager Control Protocol) é o protocolo

de compartilhamento de desktop utilizado pelo X. Originalmente o X foi desenvolvido

para ser usado em mainframes rodando Unix, usados em conjunto com estações de

trabalho que se limitavam a exibir as imagens de tela dos aplicativos executados no

servidor. Na década de 80 o hardware necessário para rodar aplicativos gráficos e

produzir efeitos era muito caro, por isso compartilhar um servidor caro entre vários

clientes mais simples e baratos era o melhor custo benefício. Graças a isso o X foi

desenvolvido sobre um protocolo bastante sólido e rápido de comunicação via rede.

As imagens e gráficos são transmitidos na forma de comandos que consomem rela-

tivamente pouca banda da rede e são rapidamente processados pelo destinatário,

fazendo com que apesar de rodar a distância, o usuário não perceba demora na atu-

alização das imagens. Em 93 o X foi portado para o Linux e rapidamente se tornou o

servidor gráfico mais usado na plataforma. Hoje em dia o X utiliza drivers de vídeo

com aceleração via hardware, que aproveitam os recursos das placas atuais, sem

estar limitado à antiga arquitetura de envio de instruções via rede. Apesar disso, a

possibilidade de rodar aplicativos remotamente continua presente e vem sendo cada

vez mais usada. É possível executar aplicativos, acessar a máquina remotamente e

criar soluções de terminais leves rodando aplicativos a partir de um servidor mais

potente. [12]

38

2.2.4 SOFTWARES PARA VIRTUALIZAÇÃO DE DESKTOPS

Existem diversos softwares para implantação de uma solução de virtualiza-

ção de desktops. Algumas características importantes que devem ser observadas na

escolha são: licenciamento proprietário ou livre, funcionamento em redes locais ou à

distância e a tecnologia de criptografia e compactação dos dados. Neste trabalho,

destacaremos os 3 principais softwares.

2.2.4.1 Citrix XenDesktop

Software desenvolvido pela Citrix Systems é uma solução de virtualização

de desktops que entrega desktops Windows como um serviço sob demanda para o

usuário. Com uma tecnologia chamada FlexCast, o XenDesktop pode, entregar apli-

cativos individuais ou desktops completos com rapidez e segurança para os usuários

locais ou externos. Com o XenDesktop, pode-se gerenciar instâncias únicas do sis-

tema operacional, aplicativos e perfis de usuários para simplificar o gerenciamento

de desktop. A arquitetura aberta do XenDesktop permite a adoção da virtualização

de desktop usando qualquer monitor de máquinas virtuais (hypervisor), dispositivo

de armazenamento e infraestrutura de gerenciamento. Usando o componente Recei-

ver que é um software cliente, os usuários do XenDesktop podem acessar seus

desktops e aplicativos corporativos de qualquer PC, Mac, thin client ou smartphone.

Isto possibilita total flexibilidade do local de trabalho, continuidade de negócios e mo-

bilidade do usuário. Já o componente HDX permite que o usuário não perceba que

esteja operando uma máquina à distância, mesmo quando usam multimídia, colabo-

ração em tempo real, periféricos USB e gráficos 3D. O XenDesktop oferece uma óti-

ma performance de desktop virtual ao mesmo tempo em que consome 90% menos

largura de banda do que outras soluções de desktops virtuais. Possui suporte a

webcam e VoIP, áudio melhorado, e otimização para uso através da Internet.

39

2.2.4.2 Windows Terminal Services

Software desenvolvido pela Microsoft que possibilita aos usuários estabe-

lecer um sistema centralizado que lhes permite fornecer acesso rápido e seguro por

meio de aplicações Microsoft RDP (também conhecidas como "Conexão de Área de

Trabalho Remota"), a partir de qualquer local conectado por rede local, WAN ou até

mesmo pela Internet. Quando os usuários executam uma aplicação com os Serviços

de Terminal, a execução dessa aplicação se dá no servidor e somente informações

de teclado, mouse e monitor são transmitidas pela rede. Os usuários podem apenas

ver suas sessões individuais, gerenciadas de maneira transparente pelo sistema

operacional do servidor, e permanecem independentes de qualquer outra sessão de

cliente. Com o lançamento do Windows Server "Longhorn" (também chamado de

Windows Server 2008) e do software Conexão de Área de Trabalho Remota 6, a Mi-

crosoft anuncia várias novas funcionalidades, entre essas: Fazer usuários se conec-

tarem a um servidor de terminal e fazer o computador remoto proporcionar uma ex-

periência de uso o mais próximo possível de uma área de trabalho do sistema ope-

racional Windows, garantir que os dados de monitor, teclado e mouse passados

através de uma conexão remota não sejam afetados de maneira adversa por ações

que exijam muita largura de banda, como grandes tarefas de impressão e Permitir

que usuários com uma conta de domínio efetuassem o login uma vez, usando uma

senha ou smart card, e então obtenham acesso a um servidor de terminal, sem a ne-

cessidade de apresentar as credenciais novamente.

40

2.2.4.3 LTSP (Linux Terminal Server Project)

O Projeto Servidor de Terminal Linux, mantido por vários desenvolvedo-

res no mundo, é um conceito que permite conexões gráficas entre os clientes e o

servidor usando o protocolo XDMCP, por meio da utilização de uma ou mais máqui-

nas servidoras de grande capacidade computacional para centralizar o processa-

mento de aplicações mais pesadas, de forma que simples estações de trabalho car-

regam e processam as informações dentro de um servidor. Na aplicação típica do

LTSP, a máquina servidora processa serviços como Distribuição Dinâmica de IP,

Autenticação de Usuários, Compartilhamento de Diretórios e Sistema de Arquivos

Raiz, além de aplicações como OpenOffice, navegador Firefox, cliente de e-mail

Thunderbird, entre outras. O LTSP surgiu para otimizar recursos de hardware em

projetos de escolas, empresas e organizações afins, de forma que possam utilizar

computadores, com um mínimo de capacidade local, para rodar aplicações como se

fossem máquinas potentes. Uma vez que seu ambiente é predominantemente mul-

tiusuário, o projeto deu substancial importância à utilização de thin clients, também

como forma de implantar desktops Linux em grande escala. Passando para o lado

sociológico da Informática, o LTSP é também uma excelente oportunidade para que

se viabilize a tão proclamada inclusão digital, ou seja, a disponibilização dos recur-

sos computacionais como a Internet e outras tecnologias digitais para camadas da

sociedade que não têm possibilidades para tal. A implantação de telecentros com

thin clients é uma alternativa que vem se multiplicando, fazendo com que a informa-

ção seja cada vez mais difundida e, assim, elevando o valor da cidadania.

41

2.2.5 DISPOSITIVO CLIENTE

Na solução de virtualização de desktops, o dispositivo do usuário deve

possuir um “software cliente”. Este software é responsável por efetuar a conexão

com o hospedeiro e possibilitar o acesso ao desktop virtual. Podemos instalá-lo em

vários tipos de dispositivos, como por exemplo, computadores antigos, computado-

res novos com recursos mínimos, notebooks, smartphones e thin clients.

Normalmente as empresas optam pelo uso de thin clients ao invés de no-

vos investimentos em estações de trabalho com computadores pessoais (PC), devi-

do a vários comparativos de uso das tecnologias, como tempo de vida, economia de

energia, manutenção, segurança e outros fatores que contribuem para a redução do

TCO (custo total de propriedade). Um estudo recente do Gartner revela que, depen-

dendo da aplicação e, principalmente, do nível de gerenciamento, o custo total de

propriedade de uma arquitetura centralizada em servidores com thin clients como

estações-cliente, fica entre 12% e 48% menor do que se a opção for pelos ambien-

tes com PCs nas mesas dos usuários.

“O thin client é uma solução para reduzir o TCO”, afirma André Vilela, di-

retor de programas de marketing e canais da Unisys Brasil. A empresa também fez

um estudo comparando os dois ambientes e constatou que, com o thin client, o TCO

diminui entre 35% e 45% em relação ao PC. Isso num ambiente bem gerenciado e

levando em conta os gastos com servidores, licenças de software, treinamento, su-

porte e tudo o que é possível medir.

Muitas vezes o investimento pode não parecer vantajoso, quando se com-

para o custo de uma solução baseada em thin client e PC, pois os valores são muito

próximos, mas redução de custos aparece ao longo do tempo. Para começar, a vida

útil de um terminal magro é bem maior do que a de um PC. Pode chegar a até dez

anos, segundo os fabricantes enquanto nos PC´s convencionais isso se reduz para

3 anos em média. Como todas as aplicações estão centralizadas no servidor, basta

apenas atualizar esse equipamento. Se ocorrer defeitos, basta substituir o terminal

por outro, praticamente sem interrupção do trabalho, ou a necessidade de recuperar

42

os dados do disco rígido, como ocorre nos PCs. Há casos em que a eficiência dos

serviços, propiciada pela alta disponibilidade dos sistemas, é mais importante do que

a redução de custos.

2.2.6 THIN CLIENT

Thin client é um conceito de computador em uma rede que tem pouco ou

nenhum aplicativo instalado, de modo que depende exclusivamente de um servidor

central para o processamento de atividades. O Thin Client possui uma pequena ima-

gem de boot que é utilizada apenas para fazer a conexão com a rede e iniciar o

acesso ao desktop virtual.

O que caracteriza um thin client é a sua configuração ser mínima e sufici-

ente para a execução de serviços remotos, sem deixar de ter processamento local.

Desta forma, ele tem comparativamente menos recursos de processamento ou me-

mória que um PC. Muitas vezes um thin client pode nem mesmo dispor de disco rígi-

do, sendo assim chamado de diskless. Pode-se afirmar que o thin client ainda não é

bem visto pelas organizações em razão de seu custo ser comparável ao dos atuais

desktops básicos, sobretudo quando se leva em conta que eles possuem apenas

dispositivos extremamente necessários para uso dos desktops virtuais, enquanto

que os computadores pessoais presentes no mercado trazem modernos dispositivos

de leitores/gravadores de CD/DVD e maior quantidade de portas USB, entre outros

recursos.

o mercado eletrônico, por exemplo, pode-se encontrar um computador de

mesa Celeron D430, 1.8GHz, 2GB de RAM, HD de 160GB, dispositivo DVD-RW,

monitor LCD Widescreen, com Linux instalado e 12 meses de garantia, por menos

de mil reais. Para os thin clients, no entanto, devido a sua menor popularidade, o

mercado é mais seletivo, com fornecedores especializados. O produto consiste de

um pequeno gabinete, sem monitor, teclado, mouse e demais periféricos. Também

no mercado eletrônico encontra-se a marca Wyse S10, com processador AMD Geo-

de GX 533 (400MGz), saída de vídeo VGA (DB-15) e áudio estéreo de 16 bits full,

com Fast Ethernet, uma porta serial e quatro USB, alimentação 100-240 VCA, 50/60

43

Hz, medindo altura de 34mm, largura de 177mm e profundidade de 121mm, rodando

um sistema operacional Wyse Thin OS, suportando os protocolos RDP e ICA e ga-

rantia de 3 anos, por novecentos reais.

Entretanto, estudos precisam ser mais bem elaborados, pois muitos acre-

ditam que estão nas estações de trabalho as maiores distorções com custos da in-

fraestrutura. No quesito consumo médio de energia, por exemplo, enquanto um thin

client (conectado a 1 teclado USB, 1 mouse PS/2 e monitor) carrega em média 5,6

watts de potência, um PC (conectado a 1 teclado e 1 mouse PS/2, mais 1 monitor

LCD) carrega em torno de 200 watts.

Figura 10 - Computador Pessoal e um Thin Client [2]

2.2.7 DESAFIOS

Como acontece com qualquer tecnologia, a virtualização de desktops não

está isenta de limitações. Apesar das inúmeras vantagens e dos problemas que são

resolvidos com sua implantação, novos problemas poderão acontecer, além de algu-

mas desvantagens que são citadas a seguir:

44

•A maioria das redes não é poderosa o bastante para gerar grá-

ficos complexos, como os oferecidos pela interface Aero do Win-

dows Vista, para um desktop virtual.

•Os desktops virtuais são entregues aos usuários finais através

da rede. Se a rede cair, os usuários não serão capazes de aces-

sar seus desktops.

• Os desktops virtuais requerem largura de banda significativa e a

proporção de usuários por servidor não é tão elevada como em

outros modelos de computação. Como resultado, algumas orga-

nizações podem ter de fazer upgrades dispendiosos para os

seus servidores, armazenamento e infraestrutura rede antes de

fazer a virtualização de desktops.

• Os usuários podem experimentar latência quando operam seus

desktops virtuais. Principalmente os usuários que fazem acesso

remoto, podem enfrentar um desempenho ruim se sua conexão

com a Internet não for boa.

A melhor maneira de enfrentar estes desafios é implantar a solução ape-

nas em usuários apropriados. Os usuários mais comuns para desktops virtuais são

aqueles que utilizam os computadores para tarefas muito específicas (que não exi-

gem muito conhecimento), como funcionários de call centers e de setores adminis-

trativos. Usuários remotos podem utilizar desde que tenham acesso à rede através

de conexões com de alta velocidade.

Na virtualização de desktops, as maiores barreiras para a adoção são fre-

quentemente cultural e organizacional, e não técnico. Por exemplo, em empresas

tradicionais de TI, a equipe de suporte do data center e a equipe de suporte o aos

desktops, raramente colaboram um com o outro, mas a partir do momento que se

deseja implantar a virtualização de desktops, ambos os grupos precisam aprender a

trabalhar em estreita colaboração. O Gerente de TI também deve delinear claramen-

te as responsabilidades entre os dois grupos para resolver problemas de suporte de

desktop que derivam de problemas do servidor hospedeiro.

45

Além disso, os usuários acostumados com a sua experiência de desktops

tradicionais podem hesitar em mover-se para virtualização. Os departamentos de TI

devem ter tempo para explicar cuidadosamente e pessoalmente a lógica por trás da

virtualização de desktops e os benefícios que irão afetar os usuários, como por

exemplo, um suporte mais rápido.

46

3 IMPLEMENTAÇÃO DA PROPOSTA

Para implementação da proposta apresentada neste trabalho, foi criado

um projeto para demonstrar todos os passos da implantação da virtualização de

desktops em micro e pequenas empresas. Médias e grandes empresas também po-

derão usufruir o projeto como forma de dar os primeiros passos em direção a esta

tecnologia, ou seja, aplicá-la em pequenos setores com o objetivo de homologar a

solução.

Como a fundamentação teórica mostra tipos diferentes de implementa-

ção, para este projeto, fizemos as seguintes escolhas:

• Tipo de virtualização: Múltiplos usuários por servidor;

• Protocolo de comunicação: XDMCP;

• Software de virtualização: LTSP;

• Dispositivo: Computadores de baixo custo e/ou antigos.

As escolhas foram baseadas na decisão de gerar o mínimo de custo pos-

sível na implantação, facilitando a popularização da tecnologia, além de disseminar

o uso de software livre.

47

3.1 ESTRUTURA NECESSÁRIA

3.1.1 SERVIDOR

Para implementação da virtualização de desktops é necessário um com-

putador com configurações avançadas que terá seus recursos compartilhados. Na

fundamentação teórica, este computador era chamado de hospedeiro ou host, mas

para não causar confusão, na descrição do projeto, será chamado de Servidor. Sua

configuração não pode ser determinada com exatidão, pois depende de três variá-

veis importantes: número de terminais, tipos de softwares utilizados e intensidade de

uso simultâneo dos terminais.

A configuração mínima para atender a 10 terminais seria um Pentium III ou Athlon com 512 MB de RAM. Mas, como o servidor é um só, é recomendá-vel investir um pouco nele, principalmente hoje em dia, quando os preços dos pentes de memória estão cada vez mais baixos. O ideal é começar com um processador razoavelmente rápido e 1 GB de RAM.Monitore a utilização do processador e a memória RAM livre durante algum tempo. Conforme for necessário, você pode adicionar mais 1 GB de RAM ou um processador dual core. Um servidor dual oferece uma grande vantagem ao utilizar muitos terminais, pois ele pode executar aplicativos separados em cada processador, executando mais tarefas simultaneamente e eliminando o gargalo em momentos em que vários usuários resolvem utilizar aplicativos pesados simultaneamente.[13]

48

3.1.2 TERMINAIS

Num primeiro momento podem ser aproveitados os computadores já exis-

tentes, mas aos poucos podem ser trocados por equipamentos com configuração

bem básica, já que todo o processamento e uso de memória para aplicativos será no

servidor. Os computadores baseados no processador Intel Atom são um bom exem-

plo de terminal ideal, pois, além de baratos, consomem pouquíssima energia. Como

o público deste projeto são micro e pequenas empresas, não aconselhamos o uso

de thin clients, pois as exigências de um ambiente com este tipo de equipamento po-

deriam inviabilizar a implantação.

A configuração mínima para os terminais é um 486 com 8 MB, e a configu-ração ideal é um Pentium 100 com 32 MB. Um 486 DX-100 demora cerca de 0.5 segundo para redimensionar uma janela, o que é ainda relativamente rápido. O boot é bem rápido, demora menos de 30 segundos (no 486) para cair na tela de login do servidor e, a partir daí, o tempo de carregamento e dos programas depende apenas do desempenho deste. Se você usar como servidor um Athlon X2, com HDs em RAID e muita RAM, por exemplo, todos os clientes terão a impressão de estarem usando uma super máquina que abre qualquer coisa quase instantaneamente, mesmo que na verdade este-jam usando um monte de 486 velhos.[13]

3.1.3 REDE

O sucesso da solução depende muito da estrutura de rede e é altamente

recomendável o uso placas de rede, switchs e cabeamento confiáveis. Para que as

solicitações de usuários sejam encaminhadas para o servidor e estes usuários rece-

bam os resultados do processamento, a rede deve estar em perfeito funcionamento.

O cabeamento pode ser feito com cabos de par trançado categoria 5e que são os

mais comuns de mercado. O switch e as placas de rede devem ter velocidade de, no

mínimo, 100 megabits.

49

Caso já exista uma estrutura de rede, será necessário revisá-la, pois atra-

vés do uso de desktops tradicionais (processamento local), normalmente não é pos-

sível perceber problemas de rede que impediriam o uso de desktops virtuais.

A velocidade da rede é muito importante, já que precisa transportar as infor-mações destinadas a todas as estações. Graças à eficiência dos protocolo utilizados é possível pendurar 20 ou até mesmo 30 terminais em uma rede de 100 megabits, antes que a velocidade da rede comece a se tornar um gargalo. Em redes maiores, ou ao usar equipamentos novos, existe a opção de investir em uma rede gigabit, o que evita a saturação da rede nos mo-mentos de pico e permite usar um número ainda maior de terminais. [13]

3.1.4 SISTEMA OPERACIONAL

Neste projeto, o sistema operacional utilizado será o Ubuntu. Existem várias

distribuições para Linux, mas esta é a que possui a maior comunidade de colabora-

dores ativos, além de possuir serviços e softwares que irão facilitar a implementação

do projeto. O Ubuntu já possui reconhecimento de mercado como uma das melhores

distribuições Linux. A versão utilizada neste trabalho será a 10.04, atual versão está-

vel do Ubuntu.

3.2 INSTALAÇÃO

Nas próximas sessões serão mostrados todos os passos necessários

para que a virtualização dos desktops funcione, ou seja, a configuração de servido-

res e terminais para permitir o início da operação. Durante uma implementação ba-

seada neste projeto, deve ser respeitada a ordem em que estão apresentadas.

50

3.2.1 INSTALAÇÃO DO SISTEMA OPERACIONAL

Antes de efetuar a instalação do sistema operacional, devemos gravar um

DVD contendo a versão indicada do Ubuntu. O download desta versão pode ser fei-

tor em http://releases.ubuntu.com/releases/10.04/. Na página de downloads, basta

clicar em PC (Intel x86) desktop CD como mostrado na figura 11.

Figura 11 - Download do Ubuntu

Mesmo que o servidor escolhido já possua o Ubuntu, será necessário for-

matá-lo para que tenhamos certeza da não existência de software ou serviços insta-

lados que conflitariam com os serviços necessários para a solução que será imple-

mentada. O processo de instalação do sistema operacional é extremamente simples,

após liga/reiniciar o computador com DVD no drive, bastará fornecer a língua, fuso

horário, nome do computador, nome e senha do usuário administrador e o sistema

entrará em funcionamento.

51

3.2.2 INSTALAÇÃO DO LTSP

Como já foi abordado anteriormente, o LTSP (Linux Terminal Server Pro-

ject) é uma solução de virtualização que permite que os recursos, sistema operacio-

nal e aplicativos de um único computador (servidor), sejam compartilhados entre vá-

rios terminais. A página oficial do LTSP fica em http://www.ltsp.org/.

Figura 12 - Site do LTSP

Neste projeto usaremos a versão 5.2 do LTSP, pois é a versão estável

mais atual. Não é necessário o seu download pela página oficial, o processo poderá

ser feito diretamente no sistema operacional do servidor (é necessário conexão com

a Internet).

52

Acessando o aplicativo Terminal do Ubuntu será possível iniciar a instalação.

Figura 13 - Acessando aplicativo Terminal do Ubuntu

Com o aplicativo terminal aberto digite o comando abaixo e pressione En-

ter. Será necessário informar a senha de administrador cadastrada na instalação do

sistema operacional:

sudo apt-get install ltsp-server-standalone openssh-server

Após o comando acima, o LTSP já estará instalado e será necessário cri-

ar o ambiente dos terminais para o LTSP. Digite o comando abaixo e pressione En-

ter. Esta instalação será demorada, no teste efetuado para documentar este projeto,

durou 20 minutos.

sudo ltsp-build-client

Para ter certeza que a instalação terminou verifique se na última linha do

processo foi exibida a mensagem “info: instalação do cliente LTSP finalizada com

sucesso”.

53

3.2.3 CONFIGURAÇÃO DO SERVIÇO DHCP

Este serviço será responsável por configurar as informações de rede de

cada terminal e de permitir que a estação possa iniciar (boot).

Antes de configurar o serviço será necessário coletar algumas informações

do servidor. Clique com botão direito do mouse no ícone que é mostrado na figura

14 e escolha a opção “Informações da conexão”. Deverão ser anotadas todas as in-

formações a partir do Endereço IP.

Figura 14 - Coletando informações de rede do Servidor

Além disso, será necessário ter em mãos o endereço MAC (Mac Address)

da placa de rede de todos os terminais. No anexo A é explicado como obter este en-

dereço.

Com o aplicativo terminal aberto digite o comando abaixo e pressione En-

ter. Este comando permitirá editar as configurações do serviço DHCP.

sudo gedit /etc/ltsp/dhcpd.conf

ícone

54

shared-network WORKSTATIONS {

# Faixa de IP dos terminais e máscara de subrede # Nossa faixa exemplo é 192.168.138 subnet 192.168.138.0 netmask 255.255.255.0 {

# Mascara de sub-rede option subnet-mask 255.255.255.0;

# Endereço de broadcast # É sempre o último endereço da faixa de rede option broadcast-address 192.168.138.255;

# Rota padrão (Roteador) option routers 192.168.138.1;

# DNS Primário option domain-name-servers 192.168.138.1;

# Esta opção faz com que o servidor dhcp aceite apenas os # terminais que serão configurados, não conflitando com um # outro serviço dhcp já existente. deny unknown-clients;

# Endereço IP do Servidor + Pasta criada pelo LTSP # Nesta pasta será criado uma subpasta para cada usuário option root-path "192.168.138.128:/opt/ltsp/i386";

}}

group { use-host-decl-names on; # Configuração do terminal 1 # Nome do primeiro terminal será ws001 host ws001 {

# Endereço MAC do primeiro terminal hardware ethernet 00:0C:29:E0:C4:92;

# IP escolhido neste momento para o primeiro terminal fixed-address 192.168.138.130;

# Caminho do arquivo de boot para terminais do LTSP filename "ltsp/i386/pxelinux.0"; }

# Apenas como exemplo a configuração de mais um terminal host ws002 { hardware ethernet 00:22:15:23:0D:37; fixed-address 192.168.138.131; filename "/ltsp/i386/pxelinux.0"; }}

Tabela 3 - Arquivo dhcpd.conf com comentários

55

Após colocar o conteúdo da tabela 3 no arquivo dhcpd.conf, salve-o e

execute o comando abaixo no aplicativo Terminal. Este comando irá iniciar o serviço

DHCP.

sudo /etc/init.d/dhcp3-server start

3.2.4 CONFIGURAÇÃO DO SERVIÇO NFS E PORTMAP

Este serviço será responsável pelo compartilhamento de pastas e arqui-

vos com os terminais através da rede. O LTSP que cria a pasta /opt/ltsp/i386 como

pasta raiz de todas as pastas de usuário e esta pasta precisa ser compartilhada.

Este serviço funciona em conjunto com outro serviço chamado PORTMAP que tem a

função gerenciar as requisições dos terminais. Os dois serviços precisam estar ati-

vos para que o compartilhamento funcione.

Execute o comando abaixo para instalar e ativar os serviços:

sudo apt-get install portmap nfs-common nfs-kernel-server

Depois de instalado será possível editar o arquivo exports que possui as

pastas que devem ser compartilhadas. Utilize o comando abaixo:

sudo gedit /etc/exports

Acrescente a linha abaixo no final do arquivo exports e salve o arquivo.

/opt/ltsp/i386/ 192.168.0.0/255.255.255.0(ro,no_root_squash)

56

3.2.5 CONFIGURAÇÃO DOS ARQUIVOS HOSTS E HOSTS.ALLOW

Os arquivos hosts e hosts.allow contém configurações de IP e nome de

máquinas que são importantes para o perfeito funcionamento da rede. Primeiramen-

te vamos editar o arquivo hosts através do comando abaixo:

Sudo gedit /etc/hosts

Este arquivo já possui algumas configurações e devemos acrescentar

uma linha para nosso servidor e uma linha para cada terminal. Em cada linha deve-

mos informar o IP e o nome da máquina que foi configurado no dhcpd.conf. Veja

nosso exemplo na figura 15. O servidor utilizado em nosso teste chama-se eduardo-

virtual e os terminais, ws001 e ws002. Salve o arquivo após a edição

Figura 15 - Arquivo hosts

57

linhas acrescentadas

Agora devemos editar o arquivo hosts.allow utilizando o comando abaixo:

sudo gedit /etc/hosts.allow

Neste arquivo, devemos apagar todo o seu conteúdo e colocar a linha

abaixo. É essencial que esta linha esteja presente, caso contrário o servidor irá recu-

sar as conexões dos terminais. Lembrando que 192.168.138.0/24 é a faixa de rede

de nosso exemplo.

ALL : 127.0.0.1 192.168.138.0/24

3.2.6 FINALIZANDO A CONFIGURAÇÃO DO SERVIDOR

Para concluir todo o trabalho realizado na preparação do servidor, preci-

samos criar os usuários, reiniciar o servidor e executar dois últimos comandos.

A criação do usuário é feita através do menu “Sistema / Administração / Usuários e

Grupos”. Na janela que irá aparecer, clique no botão adicionar e informe os dados

do novo usuário que serão solicitados.

Figura 16 - Incluindo usuários no Ubuntu

58

Após a criação dos usuários, reinicie o servidor e abra o aplicativo Termi-

nal para executar os dois comandos abaixo.

Rode os comandos abaixo para atualizar a chave de criptografia dos ter-

minais, caso contrário os terminais não conseguirão efetuar a autenticação para

acessar o servidor.

# sudo ltsp-update-sshkeys# sudo ltsp-update-image

3.3 UTILIZANDO OS TERMINAIS

Após a configuração completa do servidor, já é possível a utilização dos

terminais. Não é necessário instalar nada nos terminais, esta é uma grande vanta-

gem da virtualização de desktops frente aos desktops tradicionais. A única coisa que

precisa ser feita é mudar a ordem de prioridade de inicialização (boot) para a placa

de rede como explicado no Anexo A.

Assim que ligamos o terminal e o processo de inicialização é finalizado,

poderemos informar o nome de usuário e senha criados para começar a usar o sis-

tema. Na figura 17 podemos ver como será a tela de login dos terminais.

Todos os aplicativos que estão instalados no servidor estarão à disposi-

ção dos terminais.

59

Figura 17 - Tela de login dos terminais

3.4 DESEMPENHO

Antes de ligar qualquer terminal foi utilizado o comando “top” no aplicativo

Terminal do Servidor para verificarmos a situação atual do processador e memória.

Na figura 18 podemos verificar o processador utilizando apenas 0,3% de

sua capacidade e menos de 300 MB, da memória total de 1 GB, está sendo usado.

Figura 18 - Uso do processador e memória sem terminais

60

Logo após executamos o Editor de Textos do OpenOffice no servidor e a

nova situação é apresentada na figura 19. Durante o carregamento do aplicativo

(menos de 10 segundos), o processador foi a 11% e logo depois voltou a 0,3%. O

uso de memória aumentou em 110 MB.

Figura 19 - Uso do processador e memória sem terminais e com OpenOffice

Sem fechar o OpenOffice, fizemos o login em uma estação e verificamos

que durante o processo de boot, por alguns poucos segundos, o processador che-

gou a atingir 27% e, depois de finalizado a inicialização da estação, manteve-se em

1% em média. O uso de memória aumentos mais 182 MB como podemos observar

na figura 20.

Figura 20 - Uso do processador e memória com um terminal

No último teste executamos o OpenOffice no terminal (lembrando que ele

também está em execução no Servidor) e foi identificado a grande surpresa do teste:

o uso da memória aumentou apenas 12 MB, confirmando a teoria de que, mesmo

trabalhando de forma independente, os aplicativos que já estão na memória também

são compartilhados e não são carregados por inteiro a cada terminal que os execu-

ta. A figura 21 mostra o uso de memória e uso do processador (1% ao final).

61

3.5 APLICATIVOS

Para finalizar a implementação da proposta será relatado os programas

que são instalados automaticamente com Ubuntu e um programa que pode ser ins-

talado posteriormente que formam o conjunto ideal (sem citar o fato de serem livres)

de ferramentas de trabalho para a micro e pequena empresa.

3.5.1 OPENOFFICE

Semelhante ao Office da Microsoft, é composto por um Editor de Texto

chamado Writer, uma planilha eletrônica chamada Calc e um editor de apresenta-

ções chamado Impress. Mesmo que a empresa receba documentos produzidos pelo

Office, não terá problemas de compatibilidade, pois todos podem ser abertos no

OpenOffice.

3.5.2 FIREFOX

Navegador para Internet muito mais veloz que seu concorrente Internet

Explorer. Além dos recursos tradicionais, possui milhares de extensões produzidas

pela comunidade que ajuda o seu desenvolvimento.

3.5.3 EVOLUTION

Similar ao Outlook da Microsoft, permite gerenciar e-mails, contatos, tare-

fas e agenda. É impossível importar todo o seu banco de dados do Outlook.

62

3.5.4 STOQ

Este aplicativo não está incluído no Ubuntu, mas pode ser obtido através

do site http://www.stoq.com.br/. O Stoq é um sotware de gestão comercial, desenvol-

vido inteiramente no Brasil, com controle de vendas, gestão do relacionamento com

o cliente, gestão de compras, gestão de estoque, impressão de cupom fiscal e con-

trole de tributos.

63

CONCLUSÕES E TRABALHOS FUTUROS

Esse trabalho mostra que a virtualização de desktops, e não só a virtuali-

zação, está em franca expansão e possui muitas vantagens em relação ao ambiente

de rede tradicional. Cada vez mais a curva de necessidade de processamento do

usuário irá para o lado oposto ao da curva de evolução dos processadores, o que

provocará a busca pela otimização dos recursos ociosos, resultando na virtualização

de todos os níveis.

Foi mostrado também que a implantação deste modelo, mesmo em pe-

quenos ambientes, é simples e ainda promove a utilização de software livre. Pode-

mos ter facilmente ambientes híbrido como forma de transição, com boot pela rede,

no ambiente virtual, e boot pelo HD, no ambiente tradicional.

Como trabalhos futuros sugere-se uma abordagem na distribuição de apli-

cativos virtuais, uma grande tendência, onde os aplicativos são empacotados com

todas as suas dependências e utilizados em qualquer plataforma, e a segurança em

ambientes virtualizados, fator que começa a ser estudado com intensidade devido

ao crescimento deste tipo de ambiente, principalmente em grandes empresas.

64

REFERÊNCIAS BIBLIOGRÁFICAS

1. LAUREANO, Marcos. Máquinas Virtuais e Emuladores, 2008. Livro

2. Thinmanager. So you are new to Thin Client Technology<

http://www.thinmanager.com/buckets/whatarethinclients.shtml> Acesso em

21 nov. 2010.

3. Microsoft. Virtualização, 2009. White paper.

4. VMWare. O que é virtualização? <http://www.vmware.com/br/virtualizati-

on/what-is-virtualization.html>. Acesso em 19 nov. 2010.

5. HP Brasil. O que é virtualização e o que ela pode fazer pela minha em-presa? <http://www.hp.com/latam/br/pyme/solucoes/apr_solucoes_01.html> Aces-

so em 24 out. 2010.

6. Wikipedia. Thin Client <http://pt.wikipedia.org/wiki/Thin_client> Acesso em

04 nov. 2010.

7. Paulo Cesar. Desktop Virtual, ano desconhecido. Artigo

8. Megan Santosus. The Promise of Desktop Virtualization <

http://sites.amd.com/us/Documents/promiseofdesktopvirtualization> Acesso

em 01 nov 2010.

9. Add IT Solution. Desktop Virtualization, 2007. White paper

10. Decision Report. Ambev adota virtualização de desktops < http://www.-

decisionreport.com.br/publique/cgi/cgilua.exe/sys/start.htm?

infoid=7395&sid=6> Acesso em 07 nov. 2010.

11. Guia do Hardware. Usando o Windows Terminal Server <http://www.-

guiadohardware.net/tutoriais/wts/>. Acesso em 24 nov 2010

12. Guia do Hardware. Dicionário Técnico <http://www.guiadohardware.net/termos/xdmcp/>. Acesso em 24 nov 2010

13. Carlos E. Morimoto. Servidores Linux – Guia prático, 2008, Livro

65

ANEXOS

66

ANEXO A – CONFIGURANDO TERMINAIS PARA BOOT PXE

PXE (Preboot eXecution Environment) é um padrão de boot remoto de-

senvolvido pela Intel. Um software gravado na ROM da placa de rede (mesmo nas

placas mãe com rede on board) permite que o computador inicialize (boot) através

da rede. Uma das vantagens do PXE é que podemos utilizar computadores sem HD,

CD-ROM e drive de disquete, como terminais de rede. É possível utilizar tanto com

servidores Linux (usando o LTSP) quanto com Windows (usando o Terminal Servi-

ces).

Para ativar o PXE, basta acessar o setup do computador e alterar a se-

quência de prioridade de boot, colocando a placa de rede em primeiro lugar. Na figu-

ra 21, temos um exemplo de setup.

Figura 21 - Prioridade de boot no setup do computador

Após esta alteração, ao ligar o computador, poderemos observar a placa

de rede procurando um servidor para começar o processo de boot. Neste momento,

também poderemos visualizar o endereço Mac (Mac Address) da placa. A figura 22

mostra o momento exato que a placa de rede começa a procurar um servidor para

67

Esta é a placa de rede. Deve ser pressionada a tecla “+”, até que fique em primeiro lugar

começar o processo de inicialização. Podemos visualizar que o Endereço MAC da

placa, neste exemplo, é 00 0C 29 E0 C4 92.

Figura 22 - Boot através do PXE

68