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 |
Requisito | Mínimo | Recomendado |
Processamento | 200 MHz | 400 MHz |
Espaço livre em disco | 4 G | 8 G |
Memória RAM | 64 MB | 128 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