Upload
buituong
View
216
Download
0
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.
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
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
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