Professional Documents
Culture Documents
MEC-SETEC
INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA DE MATO
GROSSO
DEPARTAMENTO DA REA DE INFORMTICA
CURSO SUPERIOR DE TECNOLOGIA EM REDES DE COMPUTADORES
Cuiab MT
2011
Cuiab MT
2011
Ficha Catalogrfica
ALMEIDA, Willdson Gonalves de
MTODO DE VIRTUALIZAO PARA DISPONIBILIZAO DE
SOFTWARES EM LABORATRIOS REMOTOS INTERATIVOS
Cuiab MT, 2011
Total de folhas do TCC: 54
SANTOS, Reginaldo Hugo Szezupior dos
Instituto Federal de Educao, Cincia e Tecnologia de Mato Grosso.
Trabalho de Concluso do Curso de Tecnologia em Redes de
Computadores.
Cuiab - MT
2011
Cuiab MT
2011
DEDICATRIA
que
contriburam
para
este
AGRADECIMENTOS
RESUMO
Este trabalho descreve um mtodo de disponibilizao de softwares em
laboratrios remotos interativos, no contexto do Ensino a Distncia. Laboratrios
remotos so amplamente utilizados em instituies de ensino, pesquisa e tecnologia.
Um dos desafios na implantao desses ambientes de aprendizagem a
disponibilizao de programas aplicativos com segurana, escalabilidade e
gerenciabilidade. O objetivo deste trabalho a elaborao de um mtodo para
disponibilizar programas da rea de laboratrio para usurios geograficamente
distribudos. O mtodo utiliza mquinas virtuais para hospedagem dos softwares
utilizando servios de terminais remotos para prover o acesso. Permitindo uma
melhor gesto dos usurios e dos recursos a serem disponibilizados bem como do
hardware que hospedar essa infraestrutura.
ABSTRACT
LISTA DE ILUSTRAES
Figura 1 Comparaes entre os modelos de ensino .............................................. 17
Figura 2 Sistema computacional ............................................................................ 19
Figura 3 Funcionamento do sistema operacional ................................................... 20
Figura 4 Cronologia da famlia de sistemas operacionais Windows (1985-2010) .. 24
Figura 5 rea de trabalho do sistema operacional Windows Server 2008 R2 ....... 24
Figura 6 rea de trabalho da distribuio Ubuntu Linux v.10.04 ............................ 27
Figura 7 Modelo conceitual de mquinas virtuais................................................... 28
Figura 8 Viso dos servios na consolidao de servidores .................................. 30
Figura 9 Diminuio do nmero de servidores com a virtualizao ....................... 31
Figura 10 Mquina virtual de processo .................................................................. 33
Figura 11 Monitor de mquina virtual ..................................................................... 34
Figura 12 Funcionamento da tcnica de virtualizao total .................................... 35
Figura 13 Funcionamento da tcnica de paravirtualizao .................................... 36
Figura 14 Modelo de laboratrio remoto interativo ................................................. 38
Figura 15 Esquema de virtualizao e acesso dos usurios s VMs ..................... 39
Figura 16 Estrutura de camadas do paravirtualizador Xen Server ......................... 40
Figura 17 Interface de gerenciamento do Xen Center............................................ 41
Figura 18 Hospedagem dos servios no servidor Xen ........................................... 42
Figura 19 Acesso ao software Microsoft Office Visio via RemoteApp .................... 43
Figura 20 Acesso ao software Microsoft Paint via RemoteApp .............................. 44
Figura 21 Acesso ao software de eletrnica Fritizing via NX Server ...................... 45
Figura 22 Acesso ao Navegador Web Firefox via NX Server ................................. 46
Figura 23 Interface Web do Laboratrio Remoto ................................................... 47
LISTA DE ABREVIATURAS
API Application Programming Interface
APP Aplicativo
COM - Communication
E/S Entrada e Sada
EaD Educao Distncia
GNU GNU is Not Unix
GPL General Public License
IEEE Institute of Electrical and Electronics Engineers
IIS Internet Information Services
IP Internet Protocol
JVM Java Virtual Machine
LPT Line Print Terminal
LR Laboratrio Remoto
NetBIOS Network Basic Input/Output System
POSIX Portable Operating System Interface
RDC Remote Desktop Connection
RDP Remote Desktop Protocol
S.O. Sistema Operacional
SSH Secure Shell
SSL Secure Sockets Layer
TCP Transmission Control Protocol
TI Tecnologia da Informao
TS Terminal Service
VM Virtual Machine
VMM Virtual Machine Monitor
W.S.2008 Windows Server 2008
Web World Wide Web
SUMRIO
INTRODUO .......................................................................................................... 14
1. FUNDAMENTAO TERICA ............................................................................ 16
1.1 EDUCAO DISTNCIA ............................................................................ 16
1.2 LABORATRIO REMOTO ............................................................................. 17
2. SISTEMAS OPERACIONAIS ............................................................................... 19
2.1 PRINCIPAIS COMPONENTES DE UM SISTEMA OPERACIONAL .............. 20
2.2 CLASSIFICAO DE SISTEMAS OPERACIONAIS ...................................... 21
2.3 WINDOWS...................................................................................................... 23
2.4 LINUX ............................................................................................................. 25
3. VIRTUALIZAO ................................................................................................. 28
3.1 CONTEXTO HISTRICO ............................................................................... 29
3.2 CONSOLIDAO DE SERVIDORES............................................................. 30
3.3 SUPORTE DE HARDWARE PARA VIRTUALIZAO................................... 31
3.4 TCNICAS DE VIRTUALIZAO .................................................................. 32
3.4.1
3.4.2
3.4.2.1
3.4.2.2
Paravirtualizao ............................................................................. 36
INTRODUO
A Educao a Distncia (EaD) a modalidade de ensino em que professor e
aluno no compartilham do mesmo ambiente fsico de aprendizagem, alm de
possibilitar a separao cronolgica ou espacial entre eles. A comunicao ocorre
por meio das tecnologias, tais como rdio, televiso, vdeo, telefone, e
principalmente a internet. Na EaD o aluno gerencia seu prprio aprendizado,
desenvolvendo sua autonomia e criticidade.
Neste contexto, uma ferramenta muito utilizada so os laboratrios remotos
(LR), ambientes virtuais baseados na web que oferecem acesso a recursos de um
laboratrio fsico para usurios geograficamente distribudos. Em geral os recursos
disponibilizados nesses laboratrios so experimentos reais e softwares especficos
da rea do conhecimento da qual o LR est inserido, exemplo disso so os
laboratrios de engenharia e computao que disponibilizam softwares simuladores,
compiladores diversos, ambientes integrados de desenvolvimento (IDEs), entre
outros.
A gerncia e a hospedagem destes softwares, assim como o controle de
acesso dos usurios, so alguns dos desafios encontrados na implantao deste
tipo de ambiente virtual de ensino, pois fatores importantes devem ser considerados,
como segurana, escalabilidade e gerenciabilidade. Portanto neste trabalho o
problema discutido foi como gerenciar e hospedar os softwares em laboratrios
remotos interativos?.
Para tanto, se estabeleceu como objetivo a elaborao de um novo mtodo
de disponibilizao de softwares em ambientes virtuais de ensino.
Realizou-se neste trabalho a descrio de um mtodo que utiliza sistemas
operacionais (S.O.) virtualizados para hospedagem de softwares em laboratrios
remotos interativos.
Esta pesquisa do tipo qualitativa com aspecto exploratrio descritivo e
como tcnica utilizou-se o estudo de caso.
No primeiro captulo apresentado o referencial terico do trabalho, no qual
foi abordado alguns conceitos de Educao a Distncia e Laboratrios Remotos.
No captulo seguinte foram citados conceitos de Sistemas Operacionais de
modo geral, e de maneira especifica os sistemas operacionais Windows e Linux.
14
15
1. FUNDAMENTAO TERICA
1.1
EDUCAO DISTNCIA
Seus objetivos e
expectativas so:
Aumento do acesso ao ensino;
Ensino mais personalizado e mais individualizado;
Estmulo colaborao e cooperao em todos os nveis educacionais;
Maior poder aos educadores;
Aumento da responsabilidade;
Aumento da eficincia da educao;
16
1.2
LABORATRIO REMOTO
Os termos laboratrio virtual e remoto podem gerar confuso entre si, mas
Os testes e ensaios so
18
2. SISTEMAS OPERACIONAIS
Sistema operacional um programa que atua como intermedirio entre
usurio e o hardware de um computador, controlando e coordenando o uso do
hardware entre os vrios programas aplicativos para os vrios usurios. Pode ser
compreendido como um alocador de recursos, que so: hardware, software e dados.
O sistema controla a execuo de programas do usurio para evitar a ocorrncia de
erros ou o uso inadequado do computador, alm de ocupar-se em especial da
operao e do controle dos dispositivos de entrada e sada (E/S) (SILBERSCHATZ,
2000 e TANEMBAUM, 2010).
Seu propsito fornecer um ambiente no qual seus usurios possam
executar seus programas. Os principais objetivos de um sistema operacional so:
Hardware;
Sistema operacional;
Programas aplicativos;
Usurios.
19
2.1
2.2
21
GERAO
PERODO
COMPONENTES
1 Gerao
1945 - 1955
Vlvulas
2 Gerao
1955 - 1965
Transstores
3 Gerao
1965 1980
Circuitos Integrados
2.3
WINDOWS
O Windows uma coleo de sistemas operacionais desenvolvidos pela
23
24
2.4
LINUX
O Linux um sistema operacional criado em 1991 por Linus Torvalds, na
Pode ser instalado no mesmo dispositivo de armazenamento com outros sistemas operacionais.
25
26
27
3. VIRTUALIZAO
Virtualizao a tcnica que permite particionar um nico sistema
computacional em vrios outros denominados de mquinas virtuais. Uma mquina
virtual nada mais que uma camada de software que oferece um ambiente
completo muito similar a uma mquina fsica. Com isso, cada mquina virtual pode
ter seu prprio sistema operacional, aplicativos e servios de rede (CARISSIMI,
2008).
As mquinas virtuais, por emularem um ambiente computacional sobre outro
impem algumas restries de implementao e de desempenho. aqui que entra o
desenvolvimento dos produtos de software para a virtualizao. Basicamente, as
mquinas virtuais podem ser implementadas como uma aplicao de um sistema
operacional e executarem em modo usurio, ou uma camada de software
posicionada entre o hardware da mquina e o sistema operacional. A primeira opo
o que se denomina de mquina virtual de processo e a segunda de monitor de
mquina virtual ou hypervisor (SMITH e NAIR, 2005).
28
3.1
CONTEXTO HISTRICO
A virtualizao no uma tcnica nova, vem sendo utilizada h muitos anos
29
3.2
CONSOLIDAO DE SERVIDORES
Ao se executar mltiplas instncias de mquinas virtuais em um mesmo
3.3
de suporte a virtualizao. As extenses da AMD, denominada de AMD-V (AMDVirtualization), codinome Pacfica, se aplica s arquiteturas x86 de 64 bits como o
Athlon, Turion, Phenom e as linhas mais recentes. A Intel apresenta suas extenses
para as arquiteturas x86 de 32 e 64 bits. Essas extenses so conhecidas por IVT
(Intel Virtualization Technology) ou pelo seu codinome, Vanderpool. As solues da
AMD e da Intel foram desenvolvidas independentemente uma da outra e so
2
31
3.4
TCNICAS DE VIRTUALIZAO
Uma mquina virtual de processo nada mais que uma aplicao que
executa sobre um sistema operacional A e que emula o comportamento de um
sistema operacional B. Assim, aplicaes desenvolvidas para o sistema B podem
executar sobre um sistema A. importante salientar que essa tcnica de
implementao permite que binrios de um processador sejam interpretados e
substitudos por cdigo equivalente de outro processador. Portanto, alm de emular
sistema operacional possvel emular processadores. As desvantagens dessa
tcnica so basicamente duas: desempenho e desperdcio de capacidades do
hardware fsico. O desempenho sacrificado j que h uma traduo de um sistema
32
34
3.4.2.1
Virtualizao Total
35
3.4.2.2
Paravirtualizao
36
3.5
FERRAMENTAS DE VIRTUALIZAO
Existem diversas solues de mercado para virtualizao de servidores, que
PROJETO
VMWare ESXi
VMWare Workstation
Citrix Xen Server
Xen Source
Virtual Box
TCNICA
Virtualizao total
Mquina virtual de processo
Paravirtualizao
Paravirtualizao
Virtualizao total
37
LICENA
Proprietria
Proprietria
Proprietria
GPL
Mdulos do kernel
GPL. RDP e suporte
a USB so
proprietrios.
4. FERRAMENTAS METODOLGICAS
Existem diversos tipos de laboratrios baseados na web, diferenciados pelos
recursos disponibilizados. Para a criao do mtodo, foi elaborado um modelo de
laboratrio remoto interativo, constitudo por uma estrutura de hardware e software
para manipulao de instrumentos e experimentos reais, sendo realizada
obrigatoriamente atravs de uma rede de comunicao, conforme figura 14.
38
39
remota voc tambm pode: redirecionar portas LPT e COM, redirecionar o udio,
criar disco virtual mapeado e redirecionar o drive de CD/DVD, entre outros.
Para a aplicao do mtodo de virtualizao em nvel de teste, foi utilizado
uma mquina com processador Intel Core I5, disco rgido de 2 Terabytes e memria
RAM de 8 Gigabytes como servidor Xen e um notebook com processador Intel Core
2 Duo, disco rgido de 320 Gigabytes e memria RAM de 4 Gigabytes como cliente
para acesso s VMs.
4.1
A gerncia do servidor Xen Server feita pelo software Xen Center, que
deve ser instalado em uma mquina cliente que pode possuir sistema operacional
Windows ou Linux, nele possvel fazer todas as configuraes do servidor, como
40
criao de grupos de servidores Xen (New Pool), adio de servidores Xen (Add
New Server), criao de mquinas virtuais (New VM), alterar o estado de uma
mquina virtual (Start, Shutdown, Reboot e Suspend), configurao de recursos da
mquina virtual como processador, memria, placas de rede, entre outros. A Figura
17 apresenta a tela inicial do Xen Center.
41
4.2
TS REMOTE APP
O TS RemoteApp uma ferramenta que faz parte do pacote Terminal
Protocol);
Neste modelo optou-se pela utilizao de arquivos com extenso RDP para
todos os programas RemoteApp e chamados no servidor web do laboratrio remoto,
o cdigo do arquivo RDP pode ser visto no Anexo A.
Na Figura 19 e Figura 20, apresentada a execuo remota dos softwares
Microsoft Office Visio e o Microsoft Paint, respectivamente.
43
4.3
NX SERVER
O NX Server um aplicativo baseado na linguagem CGI perl, que permite o
45
4.4
Mquinas virtuais;
Licenas de software;
utilizao simultnea de uma mesma chave por mltiplos usurios, violando assim
as leis de direitos autorais. Como soluo, este mtodo prev o agendamento de
46
uso do software por meio da diviso flexvel do tempo para todos os usurios. Esta
flexibilidade permite que a expirao do tempo possa ser prorrogada, caso haja
disponibilidade de horrio. Assim, cada software no poder ser utilizado
simultaneamente pelos usurios. O agendamento de software pode ser visto na
Figura 23, o cone Meus Softwares apresenta ao usurio os aplicativos agendados.
47
CONCLUSES
Com o modelo de virtualizao proposto espera-se contribuir com
instituies interessadas na criao de ambientes virtuais de ensino, potencializando
suas atividades de pesquisa.
Conclui-se que a disponibilizao de softwares atravs de mquinas virtuais
traz diversos benefcios como a centralizao da gerncia dos softwares bem como
do controle de acesso dos usurios. Alm de prover escalabilidade, confiabilidade,
flexibilidade e independncia de plataformas por parte dos usurios.
Espera-se ainda permitir a racionalizao dos recursos no estabelecimento
dos critrios de agendamento obedecendo s leis vigentes de licenciamento de
software.
A implementao do mtodo apresentado neste trabalho proporcionou
resultados satisfatrios, demonstrando a viabilidade no desenvolvimento de uma
infraestrutura de instrumentao remota utilizando a virtualizao de sistemas
operacionais para a hospedagem e disponibilizao de softwares que possam ser
utilizados em laboratrios remotos.
Contudo, o mtodo ainda poder sofrer modificaes no decorrer do tempo.
Pois, em trabalhos futuros novas ferramentas de virtualizao e de acesso aos
aplicativos remotos podero ser testados e possivelmente possibilitaro novas
funcionalidades e perspectivas na utilizao, como o suporte a conexo USB para
mquinas hspedes e substituio de ferramentas proprietrias por livres, desde que
se mantenha a qualidade.
48
REFERNCIAS
ALTPETER, F., S. CH., et al. A General Instrument for Real-Time Control and
Data Acquisition. 3rd IFAC/IFIP Workshop on Algorithms and Architecture for
Real Time Control. Ostend, Belgica. Junho, 1995. 323-327 p.
BARHAM, P.; DRAGOVIC, B.; FRASER, K.; HAND, S.; HARRIS, T.; Ho, A.;
NEUGEBAUER, R.; PRATT, I.; WARFIELD, A. Xen and the Art of Visualization. In
Proc. 19th ACM Symp. On Operating System Principles (SOSP03), 2003.
CARISSIMI, A. Virtualizao: da teoria a solues. In Simpsio Brasileiro de
Redes de Computadores e Sistemas Distribudos, 2008, Rio de Janeiro. Livro
texto dos minicursos. Rio de Janeiro: SBC, 2008. p. 174-199.
CAMPOS, G. H. B.; COUTINHO, L.; ROQUE, G. O. B. Design didtico: O desafio
de um Metacurso. PUC-RJ, 2005.
COUTINHO, L. Web Didtica: um modelo para auxlio na elaborao de cursos
baseados na Web, Dissertao de mestrado, Programa de Ps-graduao do
Instituto de Matemtica, Ncleo de Computao Eletrnica, UFRJ, 2003.
GUIA DO HARDWARE, Documentao sobre a instalao do NX Server, 2011.
<http://www.hardware.com.br/artigos/instalando-nx-server-versao-gratuita/ >
Acesso em: 01/11/2011.
GUIA FOCA GNU/LINUX, Documentao Completa sobre o GNU/Linux.
<http://www.guiafoca.org> Acesso em: 22/11/2011.
KIRSCHNER, P. A. e F. PAAS. Web-enhanced higher education: a tower of
Babel. Computers in Human Behavior, v.17, n.4, p.347-353. 2001.
MICROSOFT TECHNET, RemoteApp Servios de Terminal (TS RemoteApp).
<http://technet.microsoft.com/pt-br/library/cc753844(WS.10,printer).aspx>
Acesso em: 14/11/2011.
MURRAY, S.; LOWE, D.; LINDSAY, E.; LASKY, V.; and LIU, D. Experiences with a
Hybrid Architecture for Remote Laboratories, IEEE. NY USA, 2008.
NAJMANOVICH, D. O sujeito encarnado questes para pesquisa no/do
cotidiano. Rio de Janeiro: DP&A, 2001
NEDIC, Z., J. MACHOTKD, et al. Remote Laboratories versus Virtual and Real
Laboratories. 33rd ASEE/IEEE Frontiers in Education Conference. Boulder,
Colorado, USA: IEEE, 2003. T3E p.
NOMACHINE. Documentao sobre o servidor NX Server.
<http://www.nomachine.com/documents.php> Acesso em: 01/11/2011.
49
50
ANEXOS
ANEXO A Cdigo-fonte do pacote RDP utilizado no RemoteApp
1. redirectclipboard:i:1
2. redirectposdevices:i:0
3. redirectprinters:i:1
4. redirectcomports:i:1
5. redirectsmartcards:i:1
6. devicestoredirect:s:*
7. drivestoredirect:s:*
8. redirectdrives:i:1
9. session bpp:i:32
10. span monitors:i:1
11. prompt for credentials on client:i:1
12. remoteapplicationmode:i:1
13. server port:i:3389
14. allow font smoothing:i:1
15. promptcredentialonce:i:1
16. authentication level:i:0
17. gatewayusagemethod:i:2
18. gatewayprofileusagemethod:i:0
19. gatewaycredentialssource:i:0
20. full address:s:SRV-REMOTE
21. alternate shell:s:||VISIO
22. remoteapplicationprogram:s:||VISIO
23. gatewayhostname:s:
24. remoteapplicationname:s:VISIO.EXE
25. remoteapplicationcmdline:s:
26. signscope:s:Full Address,Server
Port,GatewayHostname,GatewayUsageMethod,GatewayProfileUsageMethod,Gat
ewayCredentialsSource,PromptCredentialOnce,Alternate
Shell,RemoteApplicationProgram,RemoteApplicationMode,RemoteApplicatio
nName,RemoteApplicationCmdLine,Authentication
Level,RedirectDrives,RedirectPrinters,RedirectCOMPorts,RedirectSmartC
ards,RedirectPOSDevices,RedirectClipboard,DevicesToRedirect,DrivesToR
edirect
27. signature:s:AQABAAEAAACgCwAAMIILnAYJKoZIhvcNAQcCoIILjTCCC4kCAQExCzAJ
BgUrDgMC [...]
Comentrios do autor:
Linha 13 Porta do servidor Terminal Services (RemoteApp).
Linha 20 Nome NetBIOS completo do servidor.
Linha 21 Nome do aplicativo para chamada via prompt do comandos do Windows.
Linha 22 Nome do aplicativo para conexo remota.
Linha 22 Parmetros de configurao da conexo entre cliente e servidor.
Linha 27 a [...] Resposta aos parmetros de configurao da conexo entre cliente
e servidor. Este campo criptografado para a segurana da comunicao.
51
52
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
53
Comentrios do autor:
Linha 12 Opo de encriptao da conexo com protocolo SSL.
Linha 16 Nmero da porta HTTP a ser utilizada.
Linha 29 Local onde inserido o comando que chama o aplicativo, ou seja, o
endereo do arquivo executvel do software remoto. No exemplo est sendo
executado software Fritzing.
Linhas 37 e 38 So configuradas a altura e largura da janela do aplicativo que ser
executado, que pode ser configurada livremente. A resoluo utilizada no exemplo
800x600.
Linha 39 IP do servidor NX.
Linha 40 Porta do protocolo da conexo, no caso porta 22, protocolo SSH.
Linhas de 79 a 90 Chave pblica compartilhada na conexo.
Linha 29 Usurio a ser conectado no servidor NX.
Linha 29 Senha para o usurio a ser conectado no servidor NX.
54