Servidor de Estações de Trabalho (SET 1.0)
O "computador popular de rede" (CPR)

E.L. Favero; R. Viégas Junior; 
G. Gonçalves; L. Augusto 

Universidade Federal do Pará - UFPA
SECOM- Serviço de Computação da UFPA - 2003

Resumo
Este trabalho descreve um estudo de caso onde é implementado o conceito de "computador popular de rede" (CPR). A idéia é implementar uma solução onde um servidor Linux gerencia um conjunto de estações de trabalho. Nesta configuração de sistema cliente servidor, uma estação de trabalho é equivalente a um computador popular: sem disco rígido, sem periféricos e com pequena quantidade de memória tendo o poder computacional equivalente a um computador pessoal típico controlado por um servidor de rede. Esta solução apresenta as vantagens do computador popular em termos de custo de software e hardware, atendendo bem as necessidades laboratórios de informática e as redes departamentais. Além disso, permite reusar  computadores já defasados tecnologicamente  como estações de trabalho. 

1	Introdução

	Já há algum tempo, o governo vem buscando uma solução chamada de computador popular: 
[Um computador pessoal que funciona com software aberto, de domínio público, construído para levar a Internet de graça a escolas, postos de saúde, microempresas e pequenas comunidades foi anunciado na terça-feira pelo governo federal. "O que consideramos um trunfo tecnológico desse projeto é o fato de os pesquisadores da UFMG terem conseguido empacotar toda esta funcionalidade a partir de componentes de softwares da família Linux, que são hoje uma tendência internacional"], destaca o coordenador do Comitê Gestor da Internet, Ivan Moura (Informática Noticias, Computador popular vai rodar Linux Quarta, 31 de janeiro de 2001)".   
Neste contexto, o sistema operacional Linux é atualmente um foco de atenção, pois é um sistema operacional de redes, multitarefa, multiusuário e muito robusto. Por ser livre e ter o seu código fonte aberto, permite que vários voluntários, do mundo inteiro, estejam trabalhando de forma colaborativa para o seu desenvolvimento. O Linux, ainda, não tem larga aceitação no mercado doméstico por exigir do usuário um conhecimento técnico para instalação e utilização das suas aplicações. 
	Este trabalho descreve um experimento onde implementamos a idéia de "computador popular de rede". Ao invés de tentar embutir toda a inteligência necessária na própria estação de trabalho, como é a idéia original do computador popular, nós propomos uma alternativa baseada em um servidor ligado em rede com as estações de trabalho. Cada cliente é uma estação de trabalho com o mínimo de inteligência e recursos para interagir com o servidor. Os recursos que a estação de trabalho não possui (disco, mais memória, aplicações, etc.) são fornecidos pelo servidor [1].
	Esta solução se mostra bem vantajosa para implantar soluções em software livre para laboratórios de informática e redes departamentais. 
	Abaixo descrevemos nosso experimento na implementação de um laboratório piloto a partir do qual estamos implantando uma série de laboratórios e redes departamentais em nossa instituição. 
Esse trabalho está organizado da seguinte forma: na Seção 2 é apresentado o estudo de caso; na seção 3, a metodologia de implementação de rede; na seção 4, os resultados;  na seção 5, a conclusão; e finalizando na seção 6, a bibliografia. 

2	O estudo de caso

O projeto piloto Servidor de Estações de Trabalho Linux (SET 1.0), surgiu da necessidade de aproveitar máquinas defasadas existentes num dos laboratórios de informática do SECOM (Serviço de Computação), UFPA.   Inicialmente, cada estação rodava apenas o Suite Open Office e softwares para correio eletrônico e internet. Nas versões atuais pode-se rodar qualquer software Linux e até diversos aplicativos para Windows, via emulador. 
O projeto piloto implementou um laboratório experimental utilizando como servidor uma máquina do Tipo AMD – ATHLON XP 2000+ , com 1024 MB de memória RAM, 01 disco rígido de 80 GB e 02 Placas de rede Ethernet 10/100 Mbps. Na versão inicial, foram utilizadas 15 máquinas (Pentium 200 MHz com 64MB de RAM), utilizando como ativo da rede um switch de 16 Portas (Auto Sense) 10/100 Mbps, com buffer de memória para roteamento. As estações estão ligadas por um cabeamento lógico dedicado (cat 5 enhanced).
Adotamos o sistema operacional GNU/Linux, com a distribuição Red Hat Linux 9.0 devido a estabilidade, desempenho e segurança. As estações utilizam o boot remoto, ou seja, carregam o sistema operacional diretamente do servidor SET 1.0. 
Na simulação de um laboratório de informática, rodaram as seguintes aplicações: Suíte Office (Open Office 1.0.2), Navegadores (Konqueror 3.1-13 e Mozilla1.2). As pastas dos usuários foram montadas via NFS (Network File System) do diretório principal (/ ) com espaço suficiente para armazenamento dos arquivos de trabalho, foram utilizados também os ambientes de programação Anjuta 1.1.97, SciTe 1.48-1, Qt-Designer 3.1.1-6 e compiladores C e C++, Pascal, Prolog, Lisp . Foram disponibilizadas também algumas outras ferramentas para edição de imagens(GIMP  1.2.3-16), diagramação (Dia 0.90-11), clientes de e-mail (KMail 1.5 e Evolution 1.2.2-5) entre outras. 
A solução está também sendo testada nos seguintes laboratórios;  Engenharia da Computação (01 laboratório de 20 máquinas), Matemática (01 laboratório de 15), Arquitetura (01 laboratório de 20), Serviço de Computação da UFPA – SECOM (01 Laboratório 15 máquinas) e Biblioteca Centra da UFPA (01 laboratório de 20 máquinas).
Visando atender a implantação de novos laboratórios são desenvolvidos estudos para selecionar e testar um conjunto de aplicações de software (preferencialmente software livre), para o projeto pedagógico que atende o perfil dos alunos (usuários de cada laboratório).

3	Metodologia de implementação da Rede e do Servidor
	
O servidor de estações de trabalho (SET) foi concebido como um conjunto de vários serviços de rede, funcionando em uma única máquina, de modo a proporcionar uma infra-estrutura completa para um laboratório de informática ou uma rede departamental. Como exemplos destes serviços temos, servidor WEB (apache 2.0.40-21.3), servidor FTP (vsftpd-1.1.3-8), servidor PROXY (squid 2.5), servidor de banco de dados (mysql 3.23.56) e servidor de impressão (CUPS 1.1.17).
	Para implementar o serviço de boot remoto foi utilizado o projeto LTSP 3.0 [2], e para permitir o uso das placas de rede nas estações de trabalho lançou-se mão do projeto etherboot [7], assim cada estação de uma rede SET 1.0 usa uma placa de rede padrão com uma EPROM gravada com o programa de boot remoto. Durante o processo de boot remoto cada estação executa os passos listados abaixo:
•	Adquire um endereço IP atribuído pelo servidor;
•	Obtém uma cópia do Kernel a partir do servidor;
•	Inicializa o kernel na estação [6];
•	Monta o sistema de arquivo a partir do diretório principal, utilizando o serviço de montagem de diretório [8] e 
•	Carrega o servidor gráfico na memória RAM, implementado assim sessões  autenticadas através do GDM. [5]  [9].

No servidor, o sistema operacional aloca os recursos necessários para a execução das aplicações dos usuários, compartilhando também os recursos já alocados, caso seja possível. O desempenho da rede estará ligado ao Linux em conjunto com o hardware do servidor utilizado. Quanto maior forem os recursos do servidor maior será o desempenho da rede toda. 
Do ponto de vista das estações de trabalho, é fundamental que elas estejam na mesma rede lógica que o servidor [10] e que tenham as condições mínimas para rodar uma cópia do serviço de cliente [4].

4	Resultados

Estamos ainda avaliando a performance dos laboratórios instalados. Porém, com os resultados parciais, podemos afirmar que a solução proposta é vantajosa em termos de redução de custo com hardware e software, até para pequenas redes, com 10 estações, desde que seja utilizado um servidor de menor porte. Por outro lado, uma rede com mais de 40 estações exigiria um servidor de grande porte o que em alguns casos não é vantajoso em termos de custo. Valores ideais de configurações devem ser estabelecidos com os laboratórios que estão sendo implantados (que variam de 10 a 40 estações).
	Um outro resultado obtido recentemente com este projeto foi a criação de um software que instala e configura, de maneira automática, todos os serviços que irão compor o servidor SET 1.0, possibilitando uma rápida implementação de servidores de estações de trabalho. Este software não dispensa a instalação de uma distribuição Linux, e em sua versão inicial suporta apenas a distribuição Red Hat 9.

4.1	Limitações no uso do SET 1.0
A principal limitação do projeto de SET 1.0 é de não rodar de uma forma direta os pacotes proprietários para a plataforma Windows [4]; para solucionar este problema é necessário a montagem de outro servidor de aplicação utilizando a plataforma Windows2000 Server. Neste caso é possível conviver com os dois sistemas na mesma rede, rodando também as aplicações Windows nas estações. Esta solução deve ser adotada numa fase de transição enquanto o usuário é treinado com Softwares livres da plataforma Linux.

5	Conclusões
A técnica de um servidor gerenciar uma rede de estações de trabalho existe há muito tempo, desde o surgimento do sistema operacional UNIX. Porém, esta técnica era usada apenas em soluções proprietárias e de alto custo. Enquanto o verdadeiro computador popular não se estabelece, o nosso computador popular de rede apresenta uma alternativa, econômica e baseada em software livre, para implementação de laboratórios de informáticas e redes departamentais. 
Além do aproveitamento de máquinas obsoletas, outra grande vantagem do SET é a facilidade de manutenção, pois, todo o trabalho de manutenção é centralizado no servidor. Um software instalado no servidor está disponível para toda a rede; além disso, são facilitados outros serviços de administração como backup, etc. O administrador tem total controle dos recursos  utilizados, como o inventário de software, ocupação de disco rígido e monitoramento dos usuários. 
Por fim, para nossa instituição este projeto representa uma boa oportunidade para a difusão do software livre, tanto no ensino como nas atividades administrativas. Neste contexto, um técnico administrativo tem a facilidade de usar o ambiente Linux e um conjunto de softwares livres sem se preocupar com a instalação. 
A solução é adequada para instituições de ensino de todos os portes (universidades, colégios, pequenas escolas), porém, devem ser adotados critérios de projeto, de acordo com o projeto pedagógico de cada uma delas.
6	Referências
[1].	DisklessWorkstations.com home.<http://www.DisklessWorkstations.com>. Acesso em  22/08/2002
[2].	Etherboot Home Page. <http://etherboot.sourceforge.net>. Acesso em 20/08/2002
[3].	KUKUK,Thorsten. The Linux NIS(YP)/NYS/NIS+ HOWTO. <http://www.linuxdoc.org/HOWTO/NIS-HOWTO.html>. Acesso em 16/07/2002
[4].	Linux Terminal Server Project (LTSP). Disponível em: <http://www.ltsp.org/>. Acesso em 03/09/2002
[5].	MUI, Linda; PEARCE, Eric. X Window System Administrator's Guide. O'Reilly & Associates, Inc. 1993. ISBN 0-937175-83-8.
[6].	NEMKIN, Robert; DEV, Al (Alavoor Vasudevan), GUTSCHKE, Markus, YAP, Ken, KUHLMANN, Gero. Diskless-Nodes HOW-TO document for Linux. Disponível em: <http://www.linuxdoc.org/HOWTO/Diskless-HOWTO.html>. Acesso em  02/09/2002
[7].	Rom-O-Matic Home Page. ROM-o-matic dynamically generates Etherboot ROM images. <http://www.rom-o-matic.net>. Acesso em 05/09/2002
[8].	STERN, Hal. Managing NFS e NIS. O'Reilly & Associates, Inc. 1991. ISBN 0-937175-75-7.
[9].	STEVEN, Raymond Eric. XFree86-Video-Timings-HOWTO. <http://www.linuxdoc.org/HOWTO/XFree86-Video-Timings-HOWTO.html>. Acesso em 15/07/2002
[10].	STEVENS, W. Richard. TCP/IP Illustrated,Volume 1. Addison-Wesley. 1994. ISBN 0-201-63346-9.