UNIVERSIDADE FEDERAL DO PIAUÍ - UFPI CENTRO DE CIÊNCIAS DA NATUREZA CCN DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Thin Clients: Soluções, Implementação e Desempenho Clístenes Pereira de Sousa Faria Orientador: Prof. Msc. Erico Meneses Leão Proposta de Trabalho de Conclusão de Curso Apresentada ao Departamento de Informática e Estatística da UFPI como parte dos requisitos para obtenção do Título de Bacharel em Ciência da Computação. Teresina, PI, Julho de 2009
Resumo Thin client, terminais leves ou clientes magros são máquinas desprovidas de hardware de alto desempenho (alto poder de processamento, velocidade do barramento da placa-mãe e memória RAM), que tem todos seus aplicativos executados em uma máquina mais robusta (Servidor Thin Client). Os terminais leves estão conectados com o servidor thin client via rede de arquitetura cliente-servidor. Além do reaproveitamento de máquinas já obsoletas, como um Pentium III ou 486 DX-100, a redução de custos é a principal vantagem da utilização dos Thin Clients. Este trabalho propõe a implementação e a análise de desempenho de uma rede thin client usando o Linux Terminal Server Project (LTSP). 2
Abstract Thin client, thin clients or terminals are lightweight machines without hardware of high performance (high processing power, bus speed of the motherboard and RAM), which has all your applications run on a machine more robust (Thin Client Server). Light terminals are connected to the server thin client via network client-server architecture. Besides the reuse of machines already obsolete as a Pentium III 486 or DX-100, the cost reduction is the main advantage of the use of Thin Clients. This work proposes the implementation and performance analysis of a network of thin client using the Linux Terminal Server Project (LTSP). 3
Sumário Lista de Figuras...6 Lista de Tabelas...9 Lista de Símbolos e Abreviaturas...10 Capítulo 1...11 1.0 Introdução...11 1.1 Objetivos...13 1.1.1 Objetivo Geral...13 1.1.2 Objetivos Específicos...13 1.2 Organização do Trabalho...13 Capítulo 2...14 2.0 Fundamentação Teórica...14 2.1 Preboot Execution Environment - PXE...14 2.2 Dynamic Host Configuration Protocol DHCP...14 2.3 Soluções para implementação de uma rede Thin Client...14 2.3.1 LTSP...17 2.3.2 DRBL...18 2.3.3 LTSP X DRBL...18 2.3.4 Outras Soluções...18 2.3.4.1 TCOS...19 2.3.4.2 SACIX...22 2.3.4.3 Thinstation...24 Capítulo 3...26 3.0 Implementação de um ambiente thin client na UFPI...26 3.1 Introdução...26 3.2 Arquitetura...26 3.3 Configuração de Hardware...27 3.4 Instalação...27 3.5 Configuração do Servidor...27 4
3.5.1 DHCP...27 3.5.2 NFS...29 3.5.3 lts.conf...30 3.6 Configuração do Cliente...31 3.7 Problemas na Implementação...31 Capítulo 4...32 4.0 Análise de Desempenho...32 4.1 Desempenho na Primeira Parte - Fase 1...34 4.2 Desempenho na Primeira Parte - Fase 2...35 4.3 Desempenho na Primeira Parte - Fase 3...36 4.4 Desempenho na Primeira Parte - Fase 4...38 4.5 Desempenho na Primeira Parte - Fase 5...39 4.6 Desempenho na Segunda Parte Fase 1...41 4.7 Desempenho na Segunda Parte Fase 2...42 4.8 Desempenho na Segunda Parte Fase 3...44 4.9 Desempenho na Segunda Parte Fase 4...46 4.10 Desempenho na Segunda Parte Fase 5...48 5.0 Conclusão...51 5.1 Trabalhos Futuros...51 6.0 Referências Bibliográficas...52 5
Lista de Figuras Figura 1: Thin client HP Compaq t5725 montado sobre HP LP2065 Flat Panel Monitor stand... 12 Figura 2: Servidor thin client Microside MARATHON oferecido pela ThinSolutions... 14 Figura 3: Terminal thin client HP T5730 oferecido pela ThinSolutions... 15 Figura 4: O TC NET M oferecido pela ThinNetworks é um dos thin clients mais rápidos do mercado e ao mesmo tempo é um dos mais baratos... 15 Figura 5: O TC-Flash é encontrado em duas versões de 64MB e 128MB, para comportar o Sistema Operacional TC-OS I e II, respectivamente que também é oferecido pela empresa ThinNetworks... 16 Figura 6: Arquitetura da rede Thin Client usandp LTSP... 17 Figura 7: Arquitetura da rede TCOS... 19 Figura 8: Arquitetura da rede SACIX... 23 Figura 9: Arquitetura da rede thin client implementada neste trabalho... 26 Figura 10: Arquitetura da rede da primeira parte dos testes de desempenho... 32 Figura 11: Arquitetura da rede da segunda parte dos testes de desempenho... 32 Figura 12: Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 1 da primeira parte dos testes de desempenho... 34 Figura 13: Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 1 da primeira parte dos testes de desempenho... 35 Figura 14: Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 2 da primeira parte dos testes de desempenho... 35 Figura 15: Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 2 da primeira parte dos testes de desempenho... 36 Figura 16: Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 3 da primeira parte dos testes de desempenho... 37 6
Figura 17: Figura 18: Figura 19: Figura 20: Figura 21: Figura 22: Figura 23: Figura 24: Figura 25: Figura 26: Figura 27: Figura 28: Figura 29: Figura 30: Figura 31: Figura 32: Figura 33: Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 3 da primeira parte dos testes de desempenho... 38 Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 4 da primeira parte dos testes de desempenho... 38 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 4 da primeira parte dos testes de desempenho... 39 Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 5 da primeira parte dos testes de desempenho... 40 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 5 da primeira parte dos testes de desempenho... 41 Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 1 da segunda parte dos testes de desempenho... 41 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 1 da segunda parte dos testes de desempenho... 42 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 1 da segunda parte dos testes de desempenho... 42 Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 2 da segunda parte dos testes de desempenho... 43 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 2 da segunda parte dos testes de desempenho... 43 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 2 da segunda parte dos testes de desempenho... 44 Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 3 da segunda parte dos testes de desempenho... 45 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 3 da segunda parte dos testes de desempenho... 45 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 3 da segunda parte dos testes de desempenho... 46 Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 4 da segunda parte dos testes de desempenho... 47 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 4 da segunda parte dos testes de desempenho... 47 Gráficos do uso de memória RAM e tráfego da interface de rede do 7
Figura 34: Figura 35: Figura 36: cliente B na fase 4 da segunda parte dos testes de desempenho... 48 Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 5 da segunda parte dos testes de desempenho... 49 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 5 da segunda parte dos testes de desempenho... 49 Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 5 da segunda parte dos testes de desempenho... 50 8
Lista de Tabelas Tabela 1: Configuração de hardware das máquinas cliente e servidor thin client... 27 Tabela 2: Descrição das cinco fases das partes dos testes de desempenho... 33 Tabela 3: Detalhamento dos acontecimentos das cinco fases das partes dos testes de desempenho... 33 9
Lista de Símbolos e Abreviaturas BIOS... Basic Input/Output System DHCP... Dynamic Host Control Protocol DRBL... Diskless Remote Boot in Linux HTTP... Hipertext Transfer Protocol IP... Internet Protocol LTSP... Linux Terminal Server Project MAC... Media Access Control RAM... Random Access Memory NFS... Network File System NIS... Network Information Service PC... Personal Computer PXE... Preboot Execution Environment RDP... Remote Desktop Protocol TCOS... Thin Client Operating System TFTP... Trivial File Transfer Protocol XDMCP... X Display Manager Control Protocol 10
Capítulo 1 1.0 Introdução Comumente as redes são compostas de um número bastante numeroso de computadores o que torna difícil e muita das vezes inviável a instalação de sistemas operacionais, aplicativos e atualizações feitas máquina por máquina. Uma solução para este quesito e comumente adotada pelos administradores de redes é fazer uso de uma aplicação que busque o sistema operacional, os aplicativos e suas atualizações em um repositório central e os distribua na forma de pacotes as máquinas clientes. Mas esta solução apresenta muitos problemas quando o hardware das máquinas clientes são muito heterogêneas. Não só com o intuito de solucionar este problema o uso de terminais leves, se mostra como uma ótima solução. Terminais leves, thin clients ou ambientes diskless (sem disco), que são encarados como sinônimos nos textos técnicos sobre o assunto [1], são dispositivos de pequeno porte, menor capacidade de hardware, que gastam pouca energia e tem suas aplicações e processamentos feitos em um servidor de terminais. [7] Os thin clients dispensam a utilização de disco rígido e buscam o sistema operacional e o sistema de arquivos raiz de um servidor.[3] A Figura 1 abaixo mostra um thin client fabricado pela HP. 11
Figura 1. Thin client HP Compaq t5725 montado sobre HP LP2065 Flat Panel Monitor stand.[11] É dispensada a instalação de aplicativos e atualizações nos clientes, pois todo esse trabalho é feito no servidor central thin client. Assim como a atualização e instalação de softwares, todo o processamento de dados dos terminais thin clients é realizado no servidor central. O thin client e o servidor podem ser conectados por meio de rede local ou pela Internet, permitindo assim o acesso de qualquer lugar no mundo.[7] O thin client, na visão do usuário final, apresenta-se como um computador pessoal (Personal Computer PC) tradicional rodando qualquer tipo de software como Windows, Unix, Linux.[8] A principal vantagem no uso da solução thin client é a redução de custos. Estudos realizados comprovam que fazer uso de thin clients ao invés de PCs convencionais é ainda mais em conta e costuma ser 60% mais barata.[8] Outras vantagens além da redução de custos são: ter um terminal thin client conectado a um servidor thin client via web, o que garante o acesso em qualquer lugar do mundo; simplificação da administração e suporte ao usuário final, já que só existe um único ponto de administração que é o servidor; a adição ou reposição de equipamentos (terminais thin clients) do usuário é mais simples, pois basta trocar o terminal para continuar o funcionamento sem a necessidade de reinstalação de sistema operacional e aplicativos; aumento da garantia de uso, pois em teoria um thin client dura sete anos a mais que um PC convencional; aumento da segurança, pois não há como haver roubo de informações através de CD-ROM, disquetes, discos rígidos já que o terminal thin client não dispõem destes equipamentos; baixo consumo de energia, já que um thin client consome em média 15% da energia de um PC.[8] 12
1.1 Objetivos 1.1.1 Objetivo Geral O objetivo geral desse trabalho é mostrar a viabilidade do uso de terminais thin clients e apresentar uma solução para a montagem de um laboratório formado por thin clients para a Universidade Federal do Piauí (UFPI). 1.1.2 Objetivos Específicos Como objetivos específicos, podemos destacar: Conceituar e mostrar o funcionamento dos thin clients; Apontar as soluções existentes para implementação de um ambiente thin client, tanto soluções proprietárias quanto soluções livres; Apontar uma solução para a montagem de um ambiente thin client; Mostrar a análise de desempenho do ambiente thin client proposto na implementação, levando em consideração dois pontos fundamentais: consumo de memória RAM e tráfego da rede. 1.2 Organização do Trabalho Este trabalho se divide em mais quatro capítulos, que são descritos a seguir: O Capítulo 2 descreve a fundamentação teórica para este trabalho assim como as soluções para a implementação de um ambiente thin client, apontando tanto as soluções livres quanto soluções proprietárias. O Capítulo 3 descreve a implementação de um ambiente thin client na UFPI, descrevendo toda as configurações e arquitetura da rede. O Capítulo 4 fornece as análises de desempenho da implementação proposta neste trabalho levando em consideração dois pontos: utilização de memória RAM e tráfego da rede. O Capítulo 5 expõe as conclusões deste trabalho indicando os pontos positivos e negativos referente a implementação proposta de um ambiente thin client. 13
Capítulo 2 2.0 Fundamentação Teórica 2.1 Preboot Execution Environment - PXE O que antes era necessário fazer uso de mídias de inicialização para poder iniciar o sistema operacional no terminal leve através da rede, está sendo substituído pelo PXE. Este é o padrão que está sendo utilizado pela indústria, foi desenvolvido pela Intel e está disponível em qualquer computador pessoal capaz de inicializar um sistema operacional sem qualquer mídia de boot local. Desta forma torna-se possível configurar a BIOS para que a máquina cliente (terminal thin client) sempre seja inicializada via rede. [3] 2.2 Dynamic Host Configuration Protocol DHCP O Dynamic Host Configuration Protocol (DHCP) é um protocolo Internet para automatizar a configuração de computadores que utilizam TCP / IP. DHCP pode ser utilizado para atribuir automaticamente endereços IP, para entregar configuração e parâmetros, tais como a máscara de rede e roteador padrão, e para fornecer outras informações, tais como a configuração dos endereços para a impressora, tempo e notícias servidores.[22] 2.3 Soluções para implementação de uma rede Thin Client Existem várias soluções proprietárias e livres para a implementação de uma rede thin client. Mas pode-se reaproveitar computadores com baixo poder de processamento e memória para compor os terminais thin clients. Das soluções proprietárias temos a empresa ThinSolutions[9] construída em 2000 que atua no mercado de Thin Computing, oferece, entre tantas, soluções tanto de hardware como de software para servidores e terminais thin clients. A ThinSolutions dispõe de terminais thin clients de marcas como: HP, Connec, Daruma, Init, Schalter, Tecnoworld, Wyse.[10] Abaixo 14
temos a Figura 2 e a Figura 3 que mostra um dos equipamentos de hardware que a ThinSolutions oferece. Figura 2. Servidor thin client Microside MARATHON oferecido pela ThinSolutions.[12] Figura 3. Terminal thin client HP T5730 oferecido pela ThinSolutions.[13] Outra empresa que oferece soluções de terminais thin clients é a ThinNetworks, criada em 1999 focada exclusivamente para redução de custo em TI (Tecnologia da Informação). Entre outras soluções que a ThinNetworks oferece, ela fornece as seguintes soluções terminais thin client: TC-NET M e TC NET M 2, TC-NET M Win, TC-NET M 1 Win, Dot.Station TC-OS e TC-Flash. E soluções de software para servidores de terminais como: o XP Unlimited, o WinConnect Server VS e o WinConnect Server XP.[7] Abaixo temos alguns equipamentos oferecidos pela ThinNetworks ilustrados pelas Figuras 4 e 5. 15
Figura 4. O TC NET M oferecido pela ThinNetworks é um dos thin clients mais rápidos do mercado e ao mesmo tempo é um dos mais baratos.[14] Figura 5. O TC-Flash é encontrado em duas versões de 64MB e 128MB, para comportar o Sistema Operacional TC-OS I e II, respectivamente que também é oferecido pela empresa ThinNetworks.[15] A Quatro Seniors[16] também oferece soluções thin clients. São duas as possibilidades de solução de thin client que a Quatro Seniors fornece, onde uma são os Terminais thin clients, com hardware desenvolvido especificadamente para esta função, tendo como fabricantes desta tecnologia a WYSE, init e TecnoWorld. A outra solução trata-se da conversão de desktops em thin clients, dos fabricantes ThinNetworks e 2X. Nesta solução da conversão de desktops em thin clients, o hardware dos desktops é modificado para funcionar como um thin client, tendo como vantagem o reaproveitamento do parque tecnológico do cliente.[17] Duas grandes soluções livres para implementação de thin clients são o LTSP e o DRBL. Ambas viabilizam a implementação de terminais remotos, cada uma com suas particularidades.[1] 16
2.3.1 LTSP LTSP, fundado por Jim McQuillan e Ron Colcernian em 1999 [5], fornece um meio simples de utilizar estações de baixo custo como terminais gráficos ou caracteres em um servidor GNU/Linux.[6] O LTSP é, na verdade, uma espécie de distribuição Linux destinada a ser carregada pelos terminais thin clients. Sendo composto por um conjunto de pacotes, que criam um sistema de arquivos dentro da pasta opt/ltsp/i386, que é compartilhada e acessada pelos terminais thin clients via NFS.[2] Ele utiliza uma combinação de DHCP, TFTP, NFS e XDMCP. As estações dão boot via rede e rodam os aplicativos instados no servidor, baixando todos os softwares de que precisam diretamente do servidor. Não se faz necessário ter disco rígido nem drive de CD- ROM nas estações thin client, apenas um disquete de boot ou ainda um chip de boot na placa de rede.[2] Na arquitetura e funcionamento do LTSP os terminais thin clients conectam-se através de um switch em um servidor de aplicações.[3] Na Figura 6 abaixo mostra o esquema desta arquitetura. Internet Servidor Impressora Switch Thin Client Thin Client Thin Client Thin Client Figura 6. Arquitetura da rede Thin Client usandp LTSP. Também pode ser utilizado o protocolo PXE facilitando desta forma a configuração. Neste caso é necessário apenas configurar o thin client para dar boot através da rede pelo setup, sem se preocupar com mídias ou chips de boot.[2] 17
O LTSP apresenta-se como umas das tecnologias mais adotadas na implementação de sistemas diskless (Sem disco). Sendo bastante utilizado mundialmente em empresas, órgãos governamentais, projetos sociais, entre outros.[3] 2.3.2 DRBL DRBL é uma solução open source para GNU/Linux que prevê um diskless ou systemless para máquinas clientes. Compatível com os sistemas Debian, Ubuntu, Mandriva, Red Hat, Fedora, CentOS e SUSE.[18] O DRBL faz uso do padrão PXE, Etherboot, NFS, NIS prestando serviços para as máquinas clientes a partir do servidor DRBL, não sendo necessário instalar o sistema operacional nas máquinas clientes. As máquinas clientes podem dar boot via PXE ou Etherboot no servidor.[18] Diferentemente do LTSP, o DRBL usa recursos de hardware distribuídos e torna possível para os clientes acesso ao hardware local. Também inclui o Clonezilla, um utilitário de particionamento de disco semelhante à clonagem Symantec Ghost.[18] 2.3.3 LTSP X DRBL DRBL usa PXE ou Ethertboot, semelhante ao LTSP para dar boot em uma máquina cliente (terminais thin clients). No LTSP o servidor é centralizado, todos os usuários dos terminais thin clients usam o mesmo servidor para executar seus pedidos de tarefas onde essas tarefas são executadas no próprio servidor.[19] Por outro lado o DRBL faz uso de NFS e NIS para prestar os serviços de boot nas máquinas clientes. É somente preciso que as máquinas clientes acessem o servidor DRBL para ser fornecida a autenticação e arquivos. No DRBL os pacotes são carregados do servidor e são executados na própria máquina cliente usando seu processamento e memória.[19] Um PC simples pode ser um servidor DRBL uma vez que apenas irá fornecer arquivos e autenticação. As máquinas clientes, porém, deverão ser suficientemente potentes para executar as aplicações que necessitam.[19] 2.3.4 Outras Soluções 18
Além das soluções livres: LTSP e DRBL, o TCOS, o SACIX e a distribuição GNU/Linux Thinstation também proporcionam a implantação de thin clients.[1] 2.3.4.1 TCOS TCOS é um projeto de software livre licenciado pela GPL, criado pelo espanhol Mario Izquierdo Rodrigues, composto por um conjunto de ferramentas gráficas utilizadas para inicializar e gerenciar terminais leves. Compatível com os sistemas GNU/Linux Debian, Ubuntu, Max 4.0, Guadalinex e Lliruex. Sua versão até então 0.89.33 já se encontra traduzida para espanhol, inglês e português.[1] A função do TCOS é integrar os terminais com o servidor, gerenciar os processos executados por cada usuário nos terminais, gerar a imagem do sistema operacional a ser carregada nos terminais, fornecer as informações técnicas de cada um deles, além de permitir a reutilização dos computadores obsoletos para serem usados como terminais.[4] A Figura 7 mostra a arquitetura da rede usando TCOS. Internet Servidor Impressora Switch Thin Client Thin Client Thin Client Thin Client Figura 7. Arquitetura da rede TCOS Os terminais da rede TCOS não necessitam de disco rígido, driver de CD-ROM ou de grande quantidade de memória RAM, nem mesmo um processador de alto desempenho de processamento. Já que a grande parte do processamento é feita no servidor, sendo que esse processo é totalmente transparente para o usuário. O servidor processa a maior parte das informações e a penas envia pela rede os resultados a serem visualizados na tela do terminal.[4] 19
Os terminais podem inicializar por vários meios: via CD-ROM, Compartilhamento NFS, Etherboot, a partir do disco rígido local, a partir da rede sem fio ou por download via TFTP.[4] Usando o CD-ROM para inicializar os terminais, a imagem do sistema operacional é gravada no CD-ROM. No boot via NFS os terminais obterão a imagem do sistema operacional através do serviço NFS e é recomendado para terminais com menos de 38 MB de memória RAM. Com o Etherboot é utilizada uma imagem de boot gravada em disquete que emula o suporte ao protocolo PXE depois de inicializados, os terminais tentarão obter o sistema operacional do servidor usando o TFTP. Fazendo uso de um disco rígido local para inicialização dos terminais, o sistema operacional é gravado em uma das partições desse disco. Quando o terminal dispõe de uma placa de rede sem fio pode-se inicializá-lo via rede sem fio; nesse processo o download do sistema é feito usando o TFTP ou o NFS. O método de download via TFTP é o padrão e também o mais utilizado; neste processo o terminal tentará obter o sistema operacional compartilhado pelo servidor via rede usando o protocolo TFTP fazendo necessário que os terminais disponham de uma placa de rede com suporte ao protocolo PXE.[4] O diferencial do TCOS em relação a outras soluções de software livre para implementação de terminais thin clients é que ele conta com ferramentas gráficas, para inicializar e gerenciar terminais leves, como: [1] tcosconfig Permite criar e personalizar os arquivos de boot dos terminais thin clients. tcosmonitor Permite gerenciar os terminais thin clients e desktops, se disporem da aplicação cliente tcos-standalone. Também é possível reiniciar ou desligar os terminais, bloquear ou desbloquear tela, teclado e mouse; controlar o terminal usando VNC, capturar tela, encerrar a sessão gráfica dos usuários, executar uma aplicação remota, enviar mensagens aos usuários conectados, visualizar ou encerrar as aplicações em execução, acessar informações como o uso do processador, consumo de memória RAM módulos do kernel em uso, configurações da interface de rede, processos em execução, etc de cada terminal thin client; compartilhar arquivos de multimídia, realizar audioconferência, entre outras. tcosphpmonitor Permite gerenciar os clientes através de um sistema Web. 20
tcospersonalize Permite configurar certos atributos dos clientes (resolução da tela, drivers, módulos do kernel, entre outros). Entre outras ferramentas. As principais vantagens em se utilizar o TCOS são: [4] Redução de custos e reaproveitamento de recursos, pois os terminais podem ser computadores obsoletos, dispensando o uso de disco rígido, drive de CD-ROM, entre outros dispositivos. O Gerenciamento dos terminais e usuários é centralizado no servidor. Ganho de flexibilidade, pois na ocorrência de falha no hardware do terminal, basta iniciar uma nova sessão gráfica a partir de outro terminal, não havendo perda de informações já que estas estão centralizadas no servidor. Personalização da sessão gráfica para cada usuário, liberando ou restringindo o acesso a determinados recursos ou aplicações do servidor. O TCOS também foi vencedor do I Concurso Universitário de Software Livre, promovido pela Universidade de Servillha-ES, em 2007, na categoria Distribuições.[1] Entretanto o uso do TCOS apresenta algumas desvantagens como o alto tráfego de dados gerado pela comunicação entre o servidor e os terminais da rede; o servidor passa a ser o ponto crítico da rede, pois com a falha do servidor todos os usuários ficam impossibilitados de inicializar ou solicitar a execução suas tarefas; o desempenho do servidor TCOS pode cair devido algum processo de um determinado usuário consumir muito processamento ou memória RAM, já que o servidor é compartilhado com todos os usuários.[4] O TCOS pode sem implantado em escolas públicas, na implantação de laboratórios de informática; em telecentros comunitários, possibilitando a inclusão digital na comunidade; em ambientes coorporativos; em Lan Houses; em bibliotecas. E já foi implantado com sucesso na Escola Universitaria Politécnica (Valladolid, Espanha), na Escola de Oficios São Caetano Centro de Formação Profisional Nº 401 de Vicente Lopes Carapachay (Buenos Aires, República Argentina), no Colegio La Salle-Felipe Benito (Sevilla, Espanha ), no Colegio El Apostolado. (Valladolid, Espanha), na Universidad Yacambú. (Barquisimeto, Venezuela) Mora1, no Centro de Acesso Público a Internet de Pradena del Rincon (Sierra Norte de Madri), no Centro de Acesso Público a Internet de Montejo de la Sierra (Sierra Norte de Madri), na Biblioteca do Liceo Industrial de Santiago.[20] [4] 21
Até o momento no Brasil não foi registrado oficialmente nenhum caso de sucesso na utilização do TCOS.[1] 2.3.4.1.1 LTSP X TCOS Tanto o LTSP quanto o TCOS possuem os mesmos objetivos diferenciando-se em sua implementação. Na quinta versão do LTSP (LTSP 5), os clientes usam NFS para obter o sistema raiz do servidor. Enquanto que no TCOS, os clientes obtêm a imagem squashfs usando os protocolos TFTP, HTTP ou NFS.[1] Na solução LTSP 5, com a falha ou perda de conectividade do servidor LTSP, todos os terminais thin clients precisarão ser reiniciados. No TCOS os terminais se conectam ao servidor automaticamente quando o servidor voltar a funcionar.[1] No LTSP 5 há somente suporte para disquetes, memórias USB e CD-ROM de dados. Já no TCOS, além desses dispositivos, há suporte para partições do disco rígido.[1] No LTSP 5 não permite personalizar a imagem de inicialização dos terminais thin clients, somente no TCOS é possível personalizar a imagem de inicialização dos terminais e escolher o que será removido ou incluído.[1] No LTSP 5 apenas é permitido conexões gráficas entre clientes e servidor fazendo uso do protocolo XDMCP. Além do XDMCP, o TCOS faz uso do rdesktop (para Windows Terminal Server), FreeNX, SSH+X e o XRDP.[1] Uma vantagem do TCOS sobre o LTSP 5 é que o TCOS faz uso de aplicações gráficas para sua configuração como tcos-configurator, enquanto que no LTSP 5 a configuração é feita através da edição manual de arquivos de configuração. Entretanto o LTSP é bem mais conhecido e utilizado possuindo versões para muitas distribuições GNU/Linux como Slackware, Fedora, Edubuntu, etc.[1] 2.3.4.2 SACIX É um projeto que objetiva facilitar a instalação e configuração de um ambiente baseado no LTSP. Atualmente é composto por pacotes e meta-pacotes DEB. Utilizado principalmente nos telecentros do Casa Brasil, mas pode ser expansível para outro tipo de customização.[1] 22
O SACIX usa a mesma arquitetura de rede do LTSP como é mostrada na Figura 8, na qual o servidor (LTSP server) está conectado aos terminais clientes por meio de um switch. O servidor pode ou não ter acesso a internet compartilhada com seus terminais.[1] Internet Servidor Impressora Switch Thin Client Thin Client Thin Client Thin Client Figura 8. Arquitetura da rede SACIX O SACIX, que é formado pela distribuição Debian Lenny, encarrega-se de instalar e configurar os serviços: TFTP, DHCP, NFS, XDMCP e LTSP no servidor para o funcionamento do LTSP. Sendo que o TFTP será utilizado para transferir a imagem do kernel para cada terminal thin client, o DHCP fornecerá os IPs e nomes para cada terminal, o NFS compartilhará os arquivos e diretórios utilizados pelos terminais, XDMCP habilitará o suporte para execução de aplicações gráficas remotamente e o LTSP realizará a configuração de cada terminal assim como o suporte aos dispositivos como vídeo, teclado, mouse, entre outros.[1] Todo o carregamento do sistema operacional é feito pela rede, com isso é necessário que todos os terminais devam possuir suporte para boot pela rede via PXE. No caso de máquinas mais antigas que não possuem o suporte para PXE é necessário iniciar o computador por disquete, CD-ROM ou uma placa de rede externa com este suporte.[1] O projeto é dividido em uma estrutura lógica de desenvolvimento: Servidor (sacixserver) e Desktop (sacix-desktop). Servidor (sacix-server) voltado para a funcionalidade do ambiente LTSP, compartilhamento da internet, segurança, serviços de impressão, proxy, compartilhamento de arquivos e configuração dos serviços. Desktop (sacix-desktop) voltado para escolha do ambiente gráfico e aplicativos mais apropriados e suas personalizações, recursos de acessibilidade, multimídia.[1] 23
A utilização do SACIX é feita através da instalação do pacote sacix que é desencadeado o processo de instalação dos meta-pacotes sacix-server e sacix-desktop. A pesar da versão Debian Lenny não possuir as últimas versões, em seus repositórios, dos aplicativos que acompanham a distribuição, o projeto SACIX mantém a atualização dos aplicativos comumente utilizados como o Firefox 3, Broffice 3.[1] 2.3.4.3 Thinstation Thinstation é uma distribuição GNU/Linux para terminais thin clients que tem seu projeto baseado no Netstation[21] quem também é uma distribuição linux que permite a implementação de thin clients a partir de PC convencionais.[3] Teve seu desenvolvimento iniciado em 2003 por iniciativa de Miles Roper e hoje é desenvolvida por vários colaboradores e está atualmente na sua versão 2.2. Com o Thinstation é possível criar imagens de sistemas GNU/Linux para funcionar nos terminais leves ou é possível transformar um PC comum em um thin client. Sendo a preferência pessoal, dentre as diversas soluções de terminais leves, de vários profissionais da área.[3] O Thinstation suporta os principais protocolos de conectividade como: Citrix ICA, NoMachine NX, 2X ThinClient, MS Windows Terminal Services (RDP), Cendio ThinLinc, Tarantella, X, telnet, tn5250, VMS term e SSH. Também suporta armazenamento em disquetes, discos rígidos, CD e USB nos dispositivos de hardware do terminal, além do suporte de impressoras conectadas ao terminal.[3] Após a instalação do Thinstation pode-se criar imagens personalizadas do sistema, alterando as configurações e executar um script. Através do Thinstation, os terminais podem funcionar como terminais burros de um servidor ou podem trabalhar como terminais autônomos, executando um ambiente gráfico local.[3] O Thinstation pode ser iniciado através da rede via Etherboot/PXE ou por disquete, CD-ROM, disco rígido ou por um dispositivo de memória flash. No boot a imagem do Thinstation é carregada para a memória do terminal de um dispositivo local ou de um servidor. Esta imagem é composta pelo kernel linux e outros componentes. A opção mais utilizada é fazer uso de um servidor TFTP para transferir a imagem do Thinstation de um servidor remoto. No boot via rede, comumente é usado um servidor DHCP que fornecerá as configurações como: IP, rota, DNS, para o terminal além da localização da imagem que precisa ser carregada. Após a imagem do Thinstation ter sido carregada o kernel é executado e 24
o processo de boot continua da mesma forma de qualquer distribuição GNU/Linux. O ambiente de trabalho (programas que serão usados) dos terminais pode ser local ou remoto. No caso de um ambiente local serão utilizados os gerenciadores de janelas: blackbox ou o icewm. Como a maioria das aplicações exige um servidor gráfico, o terminal irá se conectar a um servidor de aplicações GNU/Linux via protocolo XDMCP, NX e outros, ou se conectar a um servidor Windows através do protocolo RDP.[3] 25
Capítulo 3 3.0 Implementação de um ambiente thin client na UFPI 3.1 Introdução Foi feita uma implementação de uma rede thin client, para analisar o desempenho e a escalabilidade do servidor thin client. Foi feito uso de três computadores, um para ser o servidor thin client e os demais para a função do cliente (terminal thin client). Dentre as diversas soluções para implementação de uma rede thin client foi usada a solução livre LTSP usando a distribuição GNU/Linux Edubuntu 7.04. 3.2 Arquitetura O computador servidor e os clientes estão conectados por meio de um switch. A arquitetura definida para a implementação desta rede thin client é mostrada na Figura 9 abaixo. Servidor Switch Cliente A Cliente B Figura 9. Arquitetura da rede thin client implementada neste trabalho. 26
3.3 Configuração de Hardware A configuração de hardware dos computadores cliente e servidor thin client é descrita na Tabela 1 abaixo: Servidor Clientes Processador Athon 3500+ AMD 64 bits; Processador Pentiun IV; 2 GB de memória RAM; 512 MB de memória RAM; 80 GB de disco rígido. 40 GB de disco rígido. Tabela 1. Configuração de hardware das máquinas cliente e servidor thin client. 3.4 Instalação Foi instalada a distro Edubuntu 7.04 tanto nos clientes quanto no servidor thin client, mas nos computadores clientes poderia ser instalada qualquer outra distribuição GNU/Linux. A distro Edubuntu 7.04 foi escolhida por conta dela já conter os pacotes necessários para a instalação dos serviços LTSP e DHCP. Com isso ganhou-se uma simplificação no processo de instalação do ambiente LTSP, bastando apenas configurar os serviços para se adequarem a esta implementação. Adicionalmente foram instalados os aplicativos: Eclipse 3.4.2 e o VMware 2.0 no servidor thin client. 3.5 Configuração do Servidor 3.5.1 DHCP O servidor DHCP é o primeiro a ser acessado pelo terminal thin client. O servidor DHCP responde a requisição do terminal entregando as configurações da rede e dizendo qual kernel deve ser carregado pelo terminal e em qual compartilhamento de rede, no servidor, onde está o sistema a ser carregado. Antes da configuração do DHCP é posto o IP fixo: 192.168.0.10 no servidor com a máscara de rede: 255.255.255.0. Em seguida é configurado o arquivo /etc/dhcp3/dhcpd.conf que é onde reside a configuração do servidor DHCP. Abaixo segue a configuração completa do arquivo /etc/dhcp3/dhcpd.conf. 27
# Arquivo de configuração do servidor DHCP para o LTSP 4.2 shared-network WORKSTATIONS { subnet 192.168.0.0 netmask 255.255.255.0 { default-lease-time 21600; max-lease-time 21600; # Mascara de sub-rede: option subnet-mask 255.255.255.0; # Endereço de broadcast option broadcast-address 192.168.0.255; # Default gateway (o micro que está compartilhando a conexão e do DNS da rede) option routers 192.168.0.1; option domain-name-servers 192.168.0.1; # Esta opção faz com que o servidor dhcp aceite apenas os clientes do # terminal server, não conflitando com um servidor dhcp já existente. deny unknown-clients; } } option root-path next-server 192.168.0.10; "192.168.0.10:/opt/ltsp/i386"; group { use-host-decl-names # terminal 1: host ws001 { #vmware hardware ethernet on; 00:0C:29:8B:F5:BF; } } fixed-address 192.168.0.11; filename "lts/2.6.17.3-ltsp-1/pxelinux.0"; 28
Depois que configurar o arquivo, deve-ser reiniciar o servidor DHCP com o comando sudo /etc/init.d/dhcp3-server restart. Nesta configuração o servidor que responde pelo IP 192.168.0.10 é fixado para o primeiro terminal o nome de ws001 com IP fixo 192.168.0.11. O diretório /opt/ltsp/i386 representa a pasta de instalação do LTSP, que é montada pelos clientes como diretório raiz durante o boot. É necessário fornecer o endereço MAC de cada cliente no campo hardware ethernet e o IP fixo do cliente em fixed-address. O servidor DHCP dará para cada terminal o IP vinculado ao endereço MAC e o arquivo que ele carregará durante o boot, especificado no campo filename. Também é feita a configuração do arquivo /etc/hosts.allow. Esta configuração permite que todos os micros da rede local utilizem os serviços usados pelo LTSP. A configuração completa deste arquivo é mostrada abaixo. # /etc/hosts.allow para o LTSP 4.2 ALL : 127.0.0.1 192.168.0.0/24 3.5.2 NFS O próximo serviço a ser configurado é o servidor NFS, esta configuração é feita no arquivo /etc/exports. A configuração feita para o servidor NFS está descrita abaixo. # /etc/exports, para o LTSP 4.2 /opt/ltsp/i386/ 192.168.0.0/255.255.255.0(ro,sync,subtree_check,no_root_squash) O LTSP precisa que o diretório /opt/ltsp/i386 esteja com permissão somente leitura, para toda faixa de endereços usada pelas estações. A configuração dos compartilhamentos inclui a faixa de endereços IP e a máscara de rede. Para que o servidor NFS funcione corretamente, é necessária a configuração do arquivo /etc/hosts que relaciona o nome do servidor e de cada terminal a seus respectivos endereços IP. Abaixo segue a configuração completa do arquivo /etc/hosts. # /etc/hosts, configurado para o LTSP 4.2 127.0.0.1 servidor localhost 192.168.0.10 servidor 192.168.0.11 ws001 29
# The following lines are desirable for IPv6 capable hosts (added automatically by netbase upgrade) ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 3.5.3 lts.conf O arquivo /opt/ltsp/i386/etc/lts.conf é responsável por diversas configurações, como: resolução de vídeo, tipo de mouse e teclado utilizado em cada terminal, entre outras. A configuração completa do arquivo é mostrada abaixo. # /opt/ltsp/i386/etc/lts.conf - configurado para o LTSP 4.2 #Configuração Default [Default] SERVER = 192.168.0.10 # Esta opção faz com que o LTSP detecte automaticamente a placa de vídeo # dos terminais, utilizando os drivers do X.org XSERVER = auto # Configure aqui o tipo de mouse que será usado nos terminais por default. X_MOUSE_PROTOCOL = "PS/2" X_MOUSE_DEVICE = "/dev/psaux" X_MOUSE_RESOLUTION = 400 X_MOUSE_BUTTONS = 3 # Configuração default do teclado, ABNT2: XkbModel = ABNT2 XkbLayout = br # Faz com que as estações carreguem o ambiente gráfico por default: SCREEN_01 = startx RUNLEVEL = 5 # Configuração específica de cada estação 30
[ws001] XSERVER = auto # suporte a CD, disquete e pendrive LOCAL_STORAGE = Y MODULE_01 = ohci-hcd # swap via rede: # USE_NBD_SWAP = Y 3.6 Configuração do Cliente Nos computadores cliente foi instalada a distribuição GNU/Linux Edubuntu 7.04 e emulamos o terminal thin client através do software VMware na sua versão 2.0. Foi utilizada uma imagem da ditro GNU/Linux Kurumin 7.0 para VMware, mas com a finalidade apenas em colocar em funcionamento o VMware. No VMware, logo no início do boot é pressionada a tecla F12 para dar boot via rede, para que assim possa dar início a busca do servidor DHCP e inicializar o cliente thin client. 3.7 Problemas na Implementação Nesta implementação, surgiu um problema na configuração do teclado nas máquinas cliente que não respondia, ficou totalmente sem funcionar. Para contornar este problema foi instalado no servidor um teclado virtual para substituir o dispositivo físico. Para a instalação do teclado virtual foi feito o seguinte procedimento: Acrescentar no arquivo /etc/apt/sources.list os repositórios: deb http://cz.archive.ubuntu.com/ubuntu hardy main universe deb http://apt.wxwidgets.org/ feisty-wx main deb-src http://apt.wxwidgets.org/ feisty-wx main Instalar o teclado virtual com o seguinte comando: apt-get install xvkbd Pôr o teclado virtual para inicializar junto com a interface gráfica, para que ele possa aparecer junto da tela de login. Para isso foi preciso adicionar o comando xvkbd& no final do arquivo /etc/gdm/init/default antes do exit0. Mudar o tema da tela de login para uma interface simples da seguinte forma: Sistema > adminsitração > Inicializar Sessão > Aba Local > Tema > Simples. 31
Capítulo 4 4.0 Análise de Desempenho Esta análise irá verificar o desempenho do computador servidor thin client e do terminal, verificando o consumo de memória e tráfego de rede de acordo com as diversas fases organizadas para esta análise. Dividiu-se a análise em duas partes. Na primeira parte os testes de desempenho são feitos com um único cliente conectado ao servidor, e na segunda parte, os testes de desempenho são feitos com dois clientes conectados ao servidor. As arquiteturas da rede da primeira e da segunda parte dos testes são mostradas respectivamente na Figura 10 e na Figura 11 abaixo. Servidor Switch Cliente Figura 10. Arquitetura da rede da primeira parte dos testes de desempenho. Servidor Switch Cliente A Cliente B Figura 11. Arquitetura da rede da segunda parte dos testes de desempenho. 32
Cada parte dos testes de desempenho foi subdividida em cinco fases. A descrição destas cinco fases é mostrada na Tabela 2 abaixo. Fase 1 Logo após a inicialização das máquinas cliente e servidor. Fase 2 Momento do estabelecimento da conexão do(s) terminal(is) thin client (emulado pelo VMware no cliente) no servidor. Fase 3 Após o login do(s) terminal(is) thin client no servidor. Fase 4 Após o login do(s) terminal(is) thin client no servidor, seguido da utilização do terminal por um único Usuário Comum (Descrito a seguir). Fase 5 Após o login do(s) terminal(is) thin client no servidor, seguido da utilização do terminal por um único Usuário Avançado (Descrito a seguir). Tabela 2. Descrição das cinco fases das partes dos testes de desempenho. Nos testes organizou-se dois tipos de usuário cliente: Usuários Comuns e Usuários Avançados. Os Usuários Comuns que se logam no servidor executando uma instância dos aplicativos: Mozilla Firefox 2.0.0.3, OpenOffice Writer 2.2 e Gimp 2.2.13 e os Usuários Avançados executando uma instância dos aplicativos: Eclipse 3.4.2, Mozilla Firefox 2.0.0.3 e OpenOffice Writer 2.2. Na Tabela 3 abaixo, temos um detalhamento dos acontecimentos das cinco fases descritas na Tabela 2. Fase 1 As máquinas cliente e servidor estão ligadas, mas sem rodar nenhum aplicativo. Momento em que o servidor DHCP instalado no servidor LTSP (servidor thin client) responde ao(s) chamdo(s) do(s) terminal(is) thin client, enviando a configuração de rede, juntamente com informações do kernel, que o cliente deve carregar via TFTP, e a pasta no servidor com a instalação do LTSP que deve ser Fase 2 acessada via NFS. Após o kernel ser carregado via TFTP, o TFTP é substituído por um cliente NFS que é usado para montar a pasta /opt/ltsp/i386 do servidor como diretório raiz. Assim o terminal thin client então carrega o sistema do LTSP que se encarrega de detectar o hardware do terminal e abrir o X. O terminal thin client obtém a tela do login do servidor via XDMCP. O servidor roda os aplicativos e no terminal thin client é apenas mostrado as Fase 3 imagens geradas na tela. O servidor roda os aplicativos: Mozilla Firefox 2.0.0.3, OpenOffice Writer 2.2 e Fase 4 Gimp 2.2.13 e no terminal thin client é apenas mostrado as imagens geradas na 33
tela. O servidor roda os aplicativos: Eclipse 3.4.2, Mozilla Firefox 2.0.0.3 e OpenOffice Fase 5 Writer 2.2. e no terminal thin client é apenas mostrado as imagens geradas na tela. Tabela 3. Detalhamento dos acontecimentos das cinco fases das partes dos testes de desempenho. 4.1 Desempenho na Primeira Parte - Fase 1 4.1.1 Servidor A Figura 12 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client logo após a inicialização do sistema operacional sem rodar nenhuma instância de qualquer aplicativo. Figura 12. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 1 da primeira parte dos testes de desempenho. 4.1.2 Cliente A Figura 13 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do terminal thin client logo após a inicialização do sistema operacional sem rodar nenhuma instância de qualquer aplicativo. 34
Figura 13. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 1 da primeira parte dos testes de desempenho. 4.2 Desempenho na Primeira Parte - Fase 2 4.2.1 Servidor A Figura 14 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que o terminal thin client estabelece conexão com o servidor. Neste momento há a atuação dos protocolos DHCP, TFTP, NFS e XDMCP como é descrito na Tabela 2 e 3. Como pode ser observado há um grande fluxo de dados enviados a partir do servidor para o terminal referente ao fornecimento de endereço IP e imagem do kernel além de outras informações de rede e de configurações do terminal thin client. E também um aumento do uso da memória RAM no servidor. 35
Figura 14. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 2 da primeira parte dos testes de desempenho. 4.2.2 Cliente A Figura 15 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do terminal thin client no momento em que o terminal thin client estabelece conexão com o servidor. Neste momento há a atuação dos protocolos DHCP, TFTP, NFS e XDMCP como é descrito na Tabela 2 e 3. Como pode ser observado há um grande fluxo de dados recebidos a partir do servidor para o terminal referente ao fornecimento de endereço IP e imagem do kernel além de outras informações de rede e de configurações do terminal thin client. Figura 15. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 2 da primeira parte dos testes de desempenho. 4.3 Desempenho na Primeira Parte - Fase 3 4.3.1 Servidor A Figura 16 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que o terminal thin client já estabeleceu a conexão com o servidor e fez o login no mesmo, como descrito na Tabela 2. Neste momento o servidor apenas envia as imagens geradas na tela para o terminal como é descrito na Tabela 3. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para o terminal thin client dos aplicativos executados no servidor. Outro ponto a ser observado é o 36
grande aumento do uso da memória RAM devido a execução dos aplicativos ser feita no servidor. Figura 16. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 3 da primeira parte dos testes de desempenho. 4.3.2 Cliente A Figura 17 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do terminal thin client no momento em que o terminal thin client já estabeleceu a conexão com o servidor e fez o login no mesmo, como descrito na Tabela 2. Neste momento o servidor apenas envia as imagens geradas na tela para os terminais como é descrito na Tabela 3. Como pode ser observado há um maior fluxo de dados recebidos do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para o terminal thin client dos aplicativos executados no servidor. Outro ponto a ser observado é uma estabilização do uso da memória RAM no terminal devido a execução dos aplicativos ser feita no servidor. 37
Figura 17. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 3 da primeira parte dos testes de desempenho. 4.4 Desempenho na Primeira Parte - Fase 4 4.4.1 Servidor A Figura 18 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que o terminal thin client já estabeleceu a conexão com o servidor e fez o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para o terminal thin client dos aplicativos executados no servidor. Outro ponto a ser observado é o grande aumento do uso da memória RAM devido a execução dos aplicativos ser feita no servidor. 38
Figura 18. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 4 da primeira parte dos testes de desempenho. 4.4.2 Cliente A Figura 19 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do terminal thin client no momento em que o terminal thin client já estabeleceu a conexão com o servidor e fez o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para o terminal thin client dos aplicativos executados no servidor. Outro ponto a ser observado é uma estabilização do uso da memória RAM no terminal devido a execução dos aplicativos ser feita no servidor. Figura 19. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 4 da primeira parte dos testes de desempenho. 4.5 Desempenho na Primeira Parte - Fase 5 4.5.1 Servidor A Figura 20 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que o terminal thin client já estabeleceu a conexão com o servidor e fez o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para 39
o terminal thin client dos aplicativos executados no servidor. Outro ponto a ser observado é o grande aumento do uso da memória RAM devido a execução dos aplicativos ser feita no servidor. Figura 20. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 5 da primeira parte dos testes de desempenho. 4.5.2 Cliente A Figura 21 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do terminal thin client no momento em que o terminal thin client já estabeleceu a conexão com o servidor e fez o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para o terminal thin client dos aplicativos executados no servidor. Outro ponto a ser observado é uma estabilização do uso da memória RAM no terminal devido a execução dos aplicativos ser feita no servidor. 40
Figura 21. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente na fase 5 da primeira parte dos testes de desempenho. 4.6 Desempenho na Segunda Parte Fase 1 4.6.1 Servidor Assim como na Figura 12, a Figura 22 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client logo após a inicialização do sistema operacional sem rodar nenhuma instância de qualquer aplicativo. Figura 22. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 1 da segunda parte dos testes de desempenho. 4.6.2 Cliente A Assim como na Figura 13, a Figura 23 e 24 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede dos terminais thin client logo após a inicialização do sistema operacional sem rodar nenhuma instância de qualquer aplicativo. 41
Figura 23. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 1 da segunda parte dos testes de desempenho. 4.6.3 Cliente B Figura 24. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 1 da segunda parte dos testes de desempenho. 4.7 Desempenho na Segunda Parte Fase 2 4.7.1 Servidor Assim com na Figura 14, a Figura 25 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que os terminais thin clients estabelecem conexão com o servidor. Neste momento há a atuação dos protocolos DHCP, TFTP, NFS e XDMCP como é descrito na Tabela 2 e 3. Como pode ser observado há um grande fluxo de dados enviados a partir do servidor para o terminal referente ao fornecimento de endereço IP e imagem do kernel além de outras 42
informações de rede e de configurações dos terminais thin clients. E também um aumento do uso da memória RAM no servidor. Figura 25. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 2 da segunda parte dos testes de desempenho. 4.7.2 Cliente A Assim como na Figura 15, a Figura 26 e 27 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede dos terminais thin clients no momento em que o terminal thin client estabelece conexão com o servidor. Neste momento há a atuação dos protocolos DHCP, TFTP, NFS e XDMCP como é descrito na Tabela 2 e 3. Como pode ser observado há um grande fluxo de dados recebidos a partir do servidor para os terminais referente ao fornecimento de endereço IP e imagem do kernel além de outras informações de rede e de configurações dos terminais thin clients. 43
Figura 26. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 2 da segunda parte dos testes de desempenho. 4.7.3 Cliente B Figura 27. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 2 da segunda parte dos testes de desempenho. 4.8 Desempenho na Segunda Parte Fase 3 4.8.1 Servidor Assim como na Figura 16, a Figura 28 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que os terminais thin clients já estabeleceram a conexão com o servidor e fizeram o login no mesmo, como descrito na Tabela 2. Neste momento o servidor apenas envia as imagens geradas na tela para os terminais como é descrito na Tabela 3. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para os terminais, referente ao fornecimento das imagens geradas na tela para os terminais thin clients dos aplicativos executados no servidor. Outro ponto a ser observado é o grande aumento do uso da memória RAM devido a execução dos aplicativos ser feita no servidor. 44
Figura 28. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 3 da segunda parte dos testes de desempenho. 4.8.2 Cliente A Assim como na Figura 17, a Figura 29 e 30 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede dos terminais thin clients no momento em que os terminais thin clients já estabeleceram a conexão com o servidor e fizeram o login no mesmo, como descrito na Tabela 2. Neste momento o servidor apenas envia as imagens geradas na tela para os terminais como é descrito na Tabela 3. Como pode ser observado há um maior fluxo de dados recebidos do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para os terminais thin clients dos aplicativos executados no servidor. Outro ponto a ser observado é uma estabilização do uso da memória RAM no terminal devido a execução dos aplicativos ser feita no servidor. 45
Figura 29. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 3 da segunda parte dos testes de desempenho. 4.8.3 Cliente B Figura 30. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 3 da segunda parte dos testes de desempenho. 4.9 Desempenho na Segunda Parte Fase 4 4.9.1 Servidor Assim como na Figura 18, a Figura 31 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que os terminais thin clients já estabeleceram a conexão com o servidor e fizeram o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para o terminal, referente ao fornecimento das imagens geradas na tela para os terminais thin clients dos aplicativos executados no servidor. Outro ponto a ser observado é o grande aumento do uso da memória RAM devido a execução dos aplicativos ser feita no servidor. 46
Figura 31. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 4 da segunda parte dos testes de desempenho. 4.9.2 Cliente A Assim como na Figura 19, a Figura 32 e 33 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede dos terminais thin clients no momento em que os terminais thin clients já estabeleceram a conexão com o servidor e fizeram o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para os terminais, referente ao fornecimento das imagens geradas na tela para os terminais thin clients dos aplicativos executados no servidor. Outro ponto a ser observado é uma estabilização do uso da memória RAM no terminal devido a execução dos aplicativos ser feita no servidor. Figura 32. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 4 da segunda parte dos testes de desempenho. 47
4.9.3 Cliente B Figura 33. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 4 da segunda parte dos testes de desempenho. 4.10 Desempenho na Segunda Parte Fase 5 4.10.1 Servidor Assim como na Figura 20, a Figura 34 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede do servidor thin client no momento em que os terminais thin clients já estabeleceram a conexão com o servidor e fizeram o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para os terminais, referente ao fornecimento das imagens geradas na tela para os terminais thin clients dos aplicativos executados no servidor. Outro ponto a ser observado é o grande aumento do uso da memória RAM devido a execução dos aplicativos ser feita no servidor. 48
Figura 34. Gráficos do uso de memória RAM e tráfego da interface de rede do servidor na fase 5 da segunda parte dos testes de desempenho. 4.10.2 Cliente A Assim como na Figura 21, a Figura 35 e 36 abaixo mostra o monitoramento de uso da memória RAM e tráfego de dados na interface de rede dos terminais thin clients no momento em que os terminais thin clients já estabeleceram a conexão com o servidor e fizeram o login no mesmo, seguido da execução dos aplicativos descritos na Tabela 4. Como pode ser observado há um maior fluxo de dados enviados do que recebidos a partir do servidor para os terminais, referente ao fornecimento das imagens geradas na tela para os terminais thin clients dos aplicativos executados no servidor. Outro ponto a ser observado é uma estabilização do uso da memória RAM no terminal devido a execução dos aplicativos ser feita no servidor. Figura 35. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente A na fase 5 da segunda parte dos testes de desempenho. 49
4.10.3 Cliente B Figura 36. Gráficos do uso de memória RAM e tráfego da interface de rede do cliente B na fase 5 da segunda parte dos testes de desempenho. 50
5.0 Conclusão Este trabalho propõe-se mostrar a viabilidade do uso de um ambiente thin client, apresentando uma solução, para o mesmo, baseada em LTSP. Com base na realização deste trabalho foi observado a eficácia da implementação da rede thin client, sendo que os terminais thin clients emulados por máquinas virtuais. A distribuição adotada para os experimentos foi a distro GNU/Linux Edubuntu 7.04 e emulamos os terminais thin client através do software VMware na sua versão 2.0. Como pontos positivos podem-se citar a simplificação da instalação do ambiente LTSP, pois a distro utilizada já contem os pacotes necessários para a utilização do ambiente LTSP bastando apenas personalizar as configurações; e a escalabilidade do servidor thin client que nos testes realizados houve uma média de memória RAM utilizada de 12,25% do servidor sendo apenas um único cliente conectado a ele e para dois clientes conectados houve uma média de 18.5% de memória RAM utilizada do servidor. Como ponto negativo tem o problema da configuração do teclado das máquinas clientes que não foi possível solucionar. 5.1 Trabalhos Futuros Por fim, como proposta de trabalhos futuros a fim de aumentar a escalabilidade e o aumento de desempenho da rede thin client visa-se a substituição do servidor thin client por um cluster. 51
6.0 Referências Bibliográficas [1] PIRES, Aércio; OLIVA, Alexandre; GOULART, Anderson; et al. Revista espírito livre: liberdade e informação. Nº2, Maio 2009. Disponível em: http://revista.espiritolivre.org. Acesso em 11 de maio 2009. [2] MORIMOTO, Carlos E. Terminais Leves com o LTSP. Ano 1, Nº3, Março 2007. Disponível em: http:// www.guiadohardware.net. Acesso em 5 set. 2008. [3] Linux Magazime A revista do profissional de TI: Thin Clients e Redes de Terminais. Especial Nº2, Julho 2007. Disponível em: http://www.linuxnewmedia.com.br/especial/linux_magazine_especial. Acesso em 5 de maio 2009. [4] PIRES, Aércio dos Santos. Manual do TCOS. João Pessoa PB. 2009. Disponível em: http://br.tcosproject.org/?page_id=16. Acesso em 14 de maio 2009. [5] Linux Terminal Server Project LTSP. URL: http://ltsp.sourceforge.net/aboutus.php. Acesso em 5 de maio 2009. [6] Linux Terminal Server Project LTSP v4.1. URL: http://ltsp.sourceforge.net/documentation/ltsp-4.1/ltsp-4.1-ptbr.html#aen53. Acesso em 5 de maio 2009. [7] O que é Thin Client. URL:http://www.thinnetworks.com.br/index.php?option=com_content&task=view&id=30&It emid=70. Acesso em 25 de maio 2009. [8] Diminuição de custo de propriedade de hardware e software com a utilização de Thin Client, Dot Station ou PC convertido. 52
URL:http://www.smartunion.com.br/Thin_Client_Dot_Station_Terminal_Linux_Dom_Smart _Union.asp. Acesso em 25 de maio 2009. [9] Thinsolutions Soluções Thin Client URL: http://www.thinsolutions.com.br. Acesso em 25 de maio 2009. [10] Thinsolutions Produtos hardware Thin Client URL: http://www.thinsolutions.com.br/base2.asp?file=prod_thinclient.asp. Acesso em 25 de maio 2009. [11]Thin Client HP Compaq t5725. URL: http://www.hp.com/hpinfo/newsroom/feature_stories/2007/07thinclient.html Acesso em 25/05/2009. [12] Servidor Microside MARATHON URL: http://www.thinsolutions.com.br/servidor_microside.asp. Acesso em 25 de maio 2009. [13]Thin Client HP T5730. URL: http://www.thinsolutions.com.br/hp.asp. Acesso em 25 de maio 2009. [14] Thin Client TC NET M URL:http://www.thinnetworks.com.br/index.php?option=com_content&task=view&id=96&It emid=155. Acesso em 25 de maio 2009. [15] TC-Flash URL:http://www.thinnetworks.com.br/index.php?option=com_content&task=view&id=62&It emid=102. Acesso em 25 de maio 2009. [16] Quatro Seniors Soluções inteligentes para o seu negócio. URL: http://www.quatroseniors.com.br. Acesso em 25 de maio 2009. [17] Quatro Seniors Soluções Thin Client. URL: http://www.quatroseniors.com.br/thinclient.html. Acesso em 25 de maio 2009. 53
[18] DRBL Diskless Remote Boot in Linux URL: http://drbl.sourceforge.net/. Acesso em 14 de maio 2009. [19] DRBL FAQ/Q&A URL: http://drbl.sourceforge.net/faq/fine-print.php?path=./1_common/01_drbl_ltsp.faq. Acesso em 14 de maio 2009. [20] TCOS Project URL: http://wiki.tcosproject.org/people/successfull/pt-br. Acesso em 21 de maio 2009. [21] Netstation URL: http://netstation.sourceforge.net. Acesso em 25 de maio 2009. [22] Resources for DHCP URL: http://www.dhcp.org/. Acesso em 30 de junho de 2009. 54