Revista Do Linux
 
  
EDIÇÃO DO MÊS
 CD do Mês

Somente para assinantes
 Capa
 Estudo de Caso
 Entrevista
 Corporativo
 Desenvolvimento
 Iniciantes
 Solução
 Desktops
 Compras
 Produto
 

CAPA

Economize com Software Livre
Em tempos de aperto financeiro, as soluções baseadas no Linux são indicadas para empresas que desejam diminuir sua dependência tecnológica sem prejudicar o desempenho e a funcionalidade de aplicações

O sistema operacional Linux é pródigo em apresentar mecanismos que façam uso do potencial do hardware instalado. As aplicações disponíveis no mercado não apenas exigem que as máquinas tenham grande poder de processamento, mas também que seus recursos sejam otimizados para aplicações groupware. O uso racional dos recursos de informática disponíveis pode representar uma economia importante para as organizações que desejam continuar sendo competitivas. As soluções existem há muito tempo, desde que o Linux começou a ser usado em larga escala. Mas agora, em um momento em que economia deve gerar produtividade, ganham destaque no mercado de informática soluções como a do terminal gráfico (que permite aumentar o tempo de vida útil de um conjunto de hardware tecnologicamente ultrapassado) e do boot remoto (que facilita o trabalho de administração da rede, centralizando o espaço em discos dos usuários no servidor).

Terminal Gráfico

Há algum tempo vem se usando, tanto em Linux como em outros sistemas operacionais, o conceito da estação de trabalho com processamento, espaço em disco e uso de memória individuais. Que isso funciona bem ninguém tem dúvidas, mas o custo para se montar um laboratório ou um parque de máquinas desse tipo pode, muitas vezes, desanimar uma pequena ou média empresa na hora de investir em tal equipamento. Soluções como o terminal gráfico diminuem esse tipo de investimento durante a montagem de um novo parque de máquinas para fazer com que a pequena e média empresa (e por que não a grande) possa dar uma vida útil bem maior aos seus equipamentos já ultrapassados.

A solução do terminal gráfico parte do princípio de que teremos no centro da estrutura um servidor com uma capacidade de processamento, memória e I/O superiores às de uma estação de trabalho e esse servidor estaria encarregado de efetuar todo o processamento exigido pelas estações. As estações, por sua vez, tendo alguém para fazer todo o seu processamento pesado, poderiam ter seu hardware (processador, memória, HD) drasticamente reduzido até um ponto onde teríamos o suficiente para prepararmos o ambiente de trabalho da estação e efetuarmos a conexão com o servidor. A partir desse ponto, tudo ficaria por conta do terminal gráfico.

Provavelmente você deve estar se perguntando: Ok, diminuo o hardware das minhas estações e coloco as aplicações para rodar em meu servidor, mas quem garante que isso não vai piorar a performance de minhas aplicações?

A própria implementação do Linux garante isso, sempre que uma aplicação for iniciada no servidor ela vai entrar em modo de execução.

O Linux estará alocando no servidor os recursos necessários para a execução da mesma e toda nova instância dessa mesma aplicação, seja do mesmo usuário ou de usuários diferentes, estará compartilhando os recursos já alocados para a primeira instância da aplicação.

Tomemos como exemplo uma aplicação bastante comum como o Netscape.

Assim que o usuário "fulano" logar na sua estação e iniciar o Netscape, o sistema estará colocando em uma determinada área da memória uma cópia do código para execução da aplicação, e estará alocando uma área relativamente menor que a anterior, para que a aplicação possa guardar suas informações que variam com maior freqüência. Assim que o usuário "beltrano" inicia o seu Netscape, o Linux já sabe que existe alocado o código para execução dessa aplicação em determinada área da memória e a aplicação que o usuário "beltrano" iniciou passará a compartilhar dessa mesma área de memória.

Afinal, o código de execução da aplicação é sempre o mesmo, não sendo necessário que o sistema coloque mais uma vez em memória esse código.

O que é alocado para a nova instância é uma daquelas regiões de memória menores para que ela possa trabalhar com seus dados mais variáveis. O simples fato de que o sistema não mais precisa colocar cópias integrais de aplicações que já rodam no sistema garante que a inicialização e a execução destas aplicações vai levar bem menos tempo do que se feitas em "n" estações de trabalho em uma rede com 1 usuário por estação.

Todo o funcionamento do terminal gráfico é garantido por um protocolo de comunicação do próprio XFree86. Então, para que a solução funcione devidamente, é necessário que o servidor esteja configurado para atender essas requisições de conexões e entregá-las para um gerenciador de logins e, é claro, é necessário que todas as aplicações a serem executadas também estejam instaladas nesse servidor. Do ponto de vista das máquinas clientes, é necessário que elas estejam na mesma rede que o servidor e que tenham as condições mínimas para se rodar uma cópia do XFree86 que por sua vez iniciará a conexão. Em alguns casos, a solução do terminal gráfico está bem associada à solução de boot remoto, onde todas as estações de trabalho, além de ter o hardware mínimo para rodar o XFree86, também são disk-less, proporcionando um aumento ainda maior na economia com hardware.

A administração também é bastante favorecida quando um terminal gráfico está presente em uma rede. Todo o trabalho estaria centralizado no servidor, não seria mais necessário estar-se passando de estação em estação configurando e preparando o ambiente para que o usuário trabalhe. Basta que tudo seja definido no servidor, o que simplifica bastante na hora de atualizações, na adição de novas aplicações e até na remoção de outras, sem falar que tendo os dados centralizados, o backup pode ser feito de maneira mais simples, sem que haja aquela preocupação de que todas as estações têm de mandar seus dados para algum outro servidor no fim do dia para fazer o backup.

Como funciona o Terminal Gráfico

Todos os ambientes gráficos do Linux, como o KDE, o GNOME ou o WindowMaker, baseiam-se em uma arquitetura chamada simplesmente de protocolo X. O X foi criado em meados da década de 80, antes do surgimento do próprio Linux, e é a base do gerenciamento e exibição de conteúdo gráfico em todo o mundo Unix.

Embora tenha bastante similaridade com as arquiteturas de exibição gráfica posteriores, como a da série Windows, há uma diferença arquitetônica fundamental: enquanto o Windows foi originalmente projetado para exibir de forma gráfica os eventos e processos de uma máquina local, o sistema X tinha em mente, desde o princípio, a operação em rede.

Esta diferença de enfoque pode ser percebida através do diagrama 1, que demonstra o "pulo do gato" que per-mite a fácil utilização das aplicações gráficas do Linux em ambientes de rede.

Note que o protocolo se divide em duas camadas. A camada superior, chamada Cliente X, é completamente independente do hardware. Ela se preocupa apenas com O QUE deve ser feito - por exemplo, "abrir uma janela com uma mensagem e um botão de Ok". Já a camada inferior, chamada Servidor X, é a que realmente faz o trabalho pesado - ela sabe como converter os comandos de alto nível dos Clientes X para as instruções específicas do hardware de exibição, como a sua placa de vídeo.

Em termos práticos, você pode entender suas aplicações (pense no Netscape, ou no StarOffice) como clientes X. Elas lançam uma série de comandos (exemplo: "abra a janela", "monte o menu") para o servidor X específico da sua placa de vídeo, que os executa, exibindo no vídeo. Este comportamento é similar ao de outros sistemas gráficos (como o do Windows), mas com uma diferença crucial: por uma característica de projeto, o cliente e o servidor não precisam estar na mesma máquina.

Vamos ainda além: o cliente e o servidor não precisam nem mesmo estar rodando o mesmo sistema operacional, desde que ambos disponham de uma versão do protocolo X. Por exemplo, você pode usar um 486 rodando Linux como terminal gráfico para interagir com um servidor AIX, Solaris ou HP-UX - ou até mesmo o inverso. Utilizando um servidor X como o Hummingbird Exceed, por exemplo, você pode rodar seu terminal até mesmo em uma máquina com Windows - ou para um browser com suporte a Java.

Assim, executar o StarOffice em um servidor dual Pentium III com 800MB de memória e exibir a sua tela em um 486 com 16MB é uma tarefa relativamente simples de realizar, e em geral não envolve nem mesmo o download de softwares adicionais - tudo o que você precisa está incluído nas principais distribuições de Linux.

Sessões gráficas remotas

Naturalmente, abrir as sessões manualmente em outras máquinas não soluciona muitos problemas - o que queremos é que quando o usuário ligue o computador receba uma tela de login e abra a sua sessão diretamente na máquina remota - seu ambiente gráfico (KDE, GNOME, etc.) rodará diretamente em sua máquina.

O gerenciamento das sessões gráficas remotas do X é feito através de um protocolo chamado XDMCP (X Display Manager Control Protocol), cujo objetivo é exatamente a criação de terminais gráficos. Este serviço é provido por uma série de softwares diferentes: o genérico XDM, a versão do projeto KDE, chamada KDM, e a versão GNOME, o GDM. Todos eles em geral são inclusos com as distribuições de Linux, mas por razões óbvias de segurança, não vêm configurados para aceitar conexões remotas.

Basicamente, o que você precisa é executar um dos servidores XDMCP acima, adequadamente configurado para permitir acesso remoto, na máquina onde você quer que seus terminais se conectem, e então configurar todas as suas máquinas clientes para conectar a ela.

Boot remoto

Utilizar computadores desktop sem unidades de disco nem capacidade de armazenamento própria pode parecer algo estranho para usuários acostumados ao uso de computadores domésticos ou de pequenas organizações, mas é algo que faz muito sentido para quem administra um parque de dezenas ou centenas de estações de trabalho com funções similares, porque distribui a capacidade de processamento e a memória, mantendo centralizada (em servidores corporativos de arquivos) e parcialmente unificada a instalação e configuração do sistema operacional, do ambiente, dos aplicativos e de todos os dados armazenados em disco - o sonho de todo administrador de sistemas.

Esta idéia não é recente, tendo estado disponível há muito tempo em diversas encarnações diferentes - como as impressoras com suporte a rede e ao protocolo bootp, os terminais gráficos, vistos na primeira parte deste artigo. É importante não confundir este modelo de armazena-mento com os terminais "burros", como os terminais seriais ou de rede que atuam apenas como interface de entrada e saída de dados, deixando o processamento todo para um computador central.

O Linux é plenamente capaz de operar neste modelo - tanto como servidor, quanto como o sistema operacional a ser executado nos computadores sem disco. O Ether--boot é o software necessário para permitir que um PC faça todo o seu processo de inicialização via rede, sem a necessidade de um disco de boot local. Entretanto, para que este processo aconteça, é necessário que sua rede conte com os servidores dos protocolos TFTP, DHCP (ou bootp) e NFS.

Questões técnicas

O Etherboot é um sistema que permite a geração de software para ser gravado nos módulos de memória EPROM das placas de rede mais comuns, habilitando nelas o recurso de dar boot no Linux (ou FreeBSD, ou DOS, etc.) via rede local. Assim, ao ligar o computador, ao invés de tentar o boot pelas mídias locais (disco rígido, disquete, CD-ROM), ele irá executar o software gravado na EPROM da placa de rede e realizar todo o boot através de servidores da sua rede. Opcionalmente, você pode gravar o mesmo software da placa em um disquete, para testar ou se não tiver como gerar as EPROMs. Neste caso, o micro irá apenas iniciar o boot pelo disquete, prosseguindo pela rede.

Após rodar o software incluído na sua EPROM ou no disquete, o micro irá tentar acessar via broadcast algum servidor DHCP (ou bootp) para receber suas informações básicas de conexão (endereço IP, máscara de sub-rede e a localização da imagem do sistema operacional), e em seguida fará o download da imagem do sistema operacional (apenas o kernel) via tftp, prosseguindo o boot de acordo com o conteúdo desta imagem - o que em geral significa montar via NFS um diretório raiz preparado especialmente em um servidor de rede, e aí prosseguir com uma inicialização (quase) comum do Linux.

As vantagens

Após a inicialização, você terá um micro em pleno funcionamento, podendo rodar nele as mesmas aplicações que rodariam neste mesmo equipamento se ele tivesse um disco rígido próprio - interface gráfica, Nets-cape, GNOME, KDE, StarOffice, ou o que mais o proces-sador e a memória suportarem. E se a memória não for suficiente, você pode até mesmo ativar o recurso de swap remoto via NFS.

A grande vantagem, do ponto de vista do administrador de sistemas, é que é possível configurar o Etherboot em diversas máquinas (até centenas delas, mas o tráfego da rede terá que ser bem administrado), e todas elas poderão montar os mesmos diretórios raiz, /bin, /usr e outros (podendo até mesmo ser configurados como somente-leitura), e ter seus próprios /home e /var. Claro que esta regra não é fixa: você pode criar um /home compartilhado, ou até mesmo armazenar o /home em um disco local de cada máquina, mantendo a vantagem da instalação e configuração centralizada.

Do ponto de vista gerencial e contábil, a vantagem é bastante palpável - se você tem uma rede capaz de suportar o tráfego, que tal simplesmente cortar os custos dos discos rígidos das estações de trabalho? Além disso, você poderá evitar grande parte dos custos de suporte a configurações específicas de cada equipamento, já que o sistema ope-racional e boa parte das configurações e aplicativos estarão instalados apenas no servidor, a salvo de erros de operação do usuário. Isso para não falar dos custos de aquisição do sistema opera-cional, que, no caso do Linux, são inexistentes ou irrisórios.

Estas soluções são adequadas para organizações de todos os portes, mas devem ser adotadas de acordo com as características de cada uma delas. É claro que o equipamento e as configurações necessárias para um conjunto de salas de aula ou um cybercafé diferem bastante do que uma empresa com muitos departamentos separados geograficamente precisa.

Ciclo do Boot Remoto

Universidade pública é beneficiada com Software Livre A Universidade Federal do Paraná, em Curitiba, que este ano completa 89 anos, trabalha incessantemente na implementação de soluções adequadas para as comunidades de alunos de graduação e pós-graduação, bem como para as de pesquisa e administração. Os professores do Departamento de Informática (DInf) da UFPR, Marcos Castilho, Renato Carmo e Roberto Hexsel, foram responsáveis pela implantação de um modelo fortemente baseado na articulação do Software Livre e no reaproveitamento de componentes de hardware, usando recursos como o boot remoto e terminal gráfico.

É notória a dificuldade financeira que as universidades públicas atravessam e o caso da UFPR não é exceção. A partir do início de 1999, a equipe de professores do DInf adotou uma série de medidas buscando a racionalização dos recursos computacionais existentes na instituição, de forma a permitir que a demanda de serviços fosse atendida de forma satisfatória.

A falta de pessoal qualificado e a crônica dificuldade que as universidades públicas têm para contratar pessoal técnico, além da heterogeneidade de sistemas operacionais e aplicativos e a necessidade de pesados investimentos (em hardware e em software proprietário) para que o parque tecnológico fosse permanentemente atualizado, foram alguns dos principais fatores que levaram o Departamento de Informática da UFPR a adotar esta alternativa.

O modelo proposto por este grupo de professores daquela instituição está baseado no uso intensivo de Software Livre, em particular na distribuição Debian e permitiu apro-veitar o hardware que não servia mais para os atuais padrões de mercado por ser 'velho' e portanto 'inútil' e o uso do Debian possibilitou que este reaproveitamento fosse possível por dar sobrevida a equipamentos completamente inutilizáveis pelos padrões do mercado", diz o professor Marcos Castilho. O usuário obtém acesso aos recursos da rede em qualquer dos terminais e é colocado no mesmo "ambiente" de trabalho, configurado de acordo com as suas preferências.

Em suma, o sistema do DInf/UFPR ficou mais simples de ser gerenciado, houve um aumento na segurança (melhor configuração do firewall), a interface dos usuários foi unificada e agora a universidade dispõe de mais pontos de trabalho, graças ao reaproveitamento do hardware. Outros fatores como a homogeneidade dos sistemas operacionais e aplicativos e a redução de custos com softwares também foram importantes para o su-cesso do modelo proposto na UFPR. "O profissional de informática familiarizado com o Software Livre adquire maior senso de responsabilidade sobre o sistema que desenvolve e cabe a ele identificar e diag-nosticar os erros", ressalta o professor Castilho.

Ele encoraja todos aqueles que pretendem um dia migrar seu parque de máquinas para o Linux, e lembra que o aspecto financeiro não é o único parâmetro para a implantação de soluções baseadas em Software Livre. "Nossa equipe tinha plena confiança no Linux, tínhamos experiência acumulada em sistemas UNIX e no uso de software da GNU desde o trabalho pioneiro dos professores Armando Delgado e Heraldo Madeira, no início dos anos 90. Estes dois anos de prática mais intensa apenas confirmaram nosso sentimento de qualidade quanto ao Software Livre, mesmo aos que só viam a solução como atraente do ponto de vista financeiro", conclui.

Vantagens do Terminal Gráfico

  • Processamento e armazenamento de dados no servidor.
  • Interface padrão X Window, permite visualizar e interagir de forma transparente com aplicações do KDE, Gnome e similares.
  • Estações podem ser máquinas de pequeno poder de processamento, com pouca memória e disco.
  • Arquitetura em camadas dispensa preocupação com diferentes placas de vídeo e monitores.
  • Otimização dos recursos disponíveis.

Empresa brasileira oferece soluções

A Conectiva, maior distribuição Linux da América Latina, oferece ao mercado corporativo e acadêmico soluções como o Conectiva Remote Boot Server e o Conectiva Application Server. Elas exploram todo o potencial de hardware instalado, proporcionando economia e qualidade para usuários e administradores de redes. Escolas, empresas e órgãos públicos podem se beneficiar das vantagens oferecidas pelas soluções. Para mais informações, entre em contato com a Assessoria de Negócios da Conectiva, pelo telefone 41-360-2600 ou pelo site www.conectiva.com.br

Requisitos de Sistema Para instalação do Servidor
RequisitoMínimoRecomendado
Processamento200 MHz 400 MHz
Espaço livre em disco4 G8 G
Memória RAM64 MB128 MB

Dados cedidos pela Conectiva. O item mais importante para definição do hardware do servidor é o tamanho do home de cada estação. Por isso é necessário saber exatamente o que cada cliente vai executar.
Vantagens do Boot Remoto
  • Facilita a administração do sistema
  • Aumenta a vida útil do equipamento
  • Dispensa o uso de disco rígido nas estações de trabalho
  • Armazenamento no servidor; processamento nas estações de trabalho
  • Opcionalmente, pode ser utilizado em conjunto com o servidor X
  • Também pode ser utilizado em modo texto
  • Permite administração centralizada


Para saber mais

site oficial do etherboot
etherboot.sourceforge.net

HOWTO do DHCP, NFS, XDMCP
linuxdoc.org/HOWTO/DHCP/ mini

X - www.x.org

Terminal X 386: linux.trix.net/dicas_xterm386.htm

Terminais X - uma proposta diferente:
www.dicas-l.unicamp.br/dicas-l/20010829.shtml

Moises Jose G. dos Santos
moises@avalon.sul.com.br

Augusto Campos
brain@matrix.com.br

Colaborou: Rodrigo Asturian


A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux