Configurando uma rede de terminais leves em apenas 60 minutos

Agora que já vimos todos os detalhes sobre a configuração de redes de terminais leves, chegou a hora de um pequeno exercício. O quão fácil é configurar uma rede com, digamos, 6 micros na prática? Quanto tempo demoraria: uma tarde? um dia inteiro? uma semana?

Na verdade a configuração de uma rede deste tipo costuma ser bem mais rápida que uma rede tradicional, onde é preciso instalar e configurar estação por estação. A conclusão a que cheguei é que é possível configurar um servidor XDMCP e 5 terminais em apenas uma hora. Sim, isso mesmo, 60 minutos para configurar uma rede de 6 micros 🙂 Se você está acostumado a passar uma tarde inteira reinstalando o sistema e programas quando uma das estações da rede dá algum problema, creio que este artigo vai lhe interessar 🙂

Vou chamar o servidor de “Patinhas” e os clientes de “Donald”, “Gastao”, “Huguinho”, “Zezinho” e “Luizinho”. O Patinhas é um Athlon XP 1600+ com 512 MB e 40 GB, o Donald é um Pentium 133 com 32 MB e 2 GB enquanto os demais são todos Celerons de 266 a 366 MHz com HDs de 2.6 a 13 GB.

O Zezinho é o mais parrudo, com um HD de 30 GB que usarei para fazer backup (via ftp) dos arquivos do servidor. Para isso basta deixar o serviço proftpd ativo no Zezinho e logar nele a partir do servidor para copiar e atualizar os arquivos. A principal vantagem do FTP neste caso é que a maioria dos programas clientes podem ser configurados para dar upload apenas dos arquivos que tiverem sido alterados desde o último backup.

Os micros já estão ligados em rede, através de cabos cat 5 e placas/hub de 100 megabits e já configurados para dar boot através do CD-ROM para começar a instalação, apenas no caso do Donald precisei fazer um disco de boot.

Vou instalar o Red Hat 8.0 no servidor e o Mandrake 9.0 nos clientes. O Red Hat 8.0 é interessante para ser usado em empresas, principalmente se os usuários não tem muita experiência com o Linux. O Bluecurve é muito bonito graficamente e ao mesmo tempo (se usado o Gnome) mais leve que o KDE 3 incluído no Mandrake e no SuSe. O iniciar também está bem organizado, com apenas um programa para cada função, o que facilita bastante as coisas para os usuários.

O Mandrake 9.0 foi escolhido para os clientes pois oferece opção de uma instalação mínima, com o X, que consome apenas 140 MB no HD. A instalação é bem rápida (cerca de 15 minutos) e tem tudo que precisaremos. Ajuste o cronômetro e mãos à obra:

:. 1 minuto

Para instalar tudo em uma hora é preciso começar a instalação em todos os micros ao mesmo tempo, assim você pode aproveitar as paradas para processamento, boot e cópia de arquivos de cada instalação para ir trabalhando nos demais micros.

:. 2 minutos

Vamos começar a instalação pelo servidor, já que ela é a mais demorada. A instalação do Red Hat 8.0 é realmente muito simples, então não vou cobrí-la com muitos detalhes aqui. Depois de navegar pelas configurações iniciais (linguagem, teclado, mouse, etc.) dividi o HD em três partições, uma de 5 GB montada no diretório raiz, uma partição swap de 1 GB e os 34 GB restantes para a partição /home.

Como o espaço em disco não é problema, optei por fazer uma instalação completa. O problema é que são quase 3 GB de programas, então a cópia dos arquivos demorará quase 35 minutos. Tempo de ir configurando os clientes.

:. 7 minutos

Nos clientes basta seguir o procedimento normal de instalação do Mandrake até a parte de particionamento de disco. Como vamos fazer uma instalação compacta, que ocupará apenas 140 MB, você pode preferir instalar o sistema em dual-boot com o Windows ou outra distribuição do Linux, ou então deixar o espaço vago para fazer backups ou guardar arquivos em geral. Naturalmente, este é apenas um exemplo, nada impede que você faça uma instalação mais completa do Mandrake nos terminais, permitindo que você também possa rodar aplicativos localmente. A escolha é sua.

O particionador do Mandrake pode redimensionar tanto partições FAT 32 quanto EXT2 e EXT3 sem complicação. Só não é recomendável tentar usa-lo em partições NTFS e ReiserFS. No caso dos terminais uma partição de 250 MB será mais do que suficiente. Por algum motivo o instalador não lhe deixa prosseguir com uma partição menor que 250, dizendo que não há espaço suficiente para instalar o sistema.

Não é necessário criar uma partição swap, a menos que você tenha menos que 32 MB de RAM ou pretenda rodar outros aplicativos. Prefira formatar a partição de sistema em ReiserFS, assim você diminui muito o risco de desligar os terminais no botão, como os usuários sempre acabam fazendo vez ou outra.

Para fazer a instalação mínima, desmarque todas as categorias na tela de seleção de pacotes. Na próxima tela o sistema pergunta que tipo de instalação mínima você deseja. Escolha “With X”

A cópia dos arquivos é bem mais rápida, coisa de 5 ou 6 minutos. Mesmo assim, aproveite o tempo para já ir adiantando a instalação em outro terminal caso contrário vai acabar não dando tempo de configurar tudo em uma hora 😉

No final da instalação não se esqueça de configurar os terminais para inicializarem o X automáticamente. Outro detalhe importante é a configuração da rede. Sempre utilize IPs fixos em redes de terminais leves, caso contrário você começaráa ter problemas com a autenticação do Mit Magic Cookie.

:. 42 minutos

Nosso tempo está se esgotando 🙂 A essa altura você já deve estar terminando a instalação nos clientes. É hora de voltar ao servidor e concluir a instalação do Red Hat que já deve ter terminado de copiar os arquivos.

Aproveite para já ir rebootando as máquinas, pois a primeira inicialização costuma ser sempre um pouco mais demorada.

:. 48 minutos

Chegamos às configurações finais.

No servidor Red Hat, acesse o Iniciar > Configuração do Sistema > Tela de autenticação. Este é o configurador do GDM, o gerenciador de login usado no Red Hat. Você precisa apenas acessar a aba “XDMCP” e marcar a opção “Habilitar XDMCP”. Esta é justamente a configuração que permite que os clientes obtenham a tela de login do servidor, como vimos anteriormente.

Aproveite para mudar também a opção “Geral > Recepção > Remoto” de “Recepção comum” para “Recepção gráfica”. Você pode ainda mudar o visual da tela de boas vindas na seção “Recepção gráfica”.

Terminadas as mudanças, reinicie o servidor. Ele já está pronto, agora só falta configurar os clientes

:. 50 minutos

Depois da instalação os clientes darão boot numa tela de login bem simples, incluída no X. Precisamos configurá-los para daqui em diante dar boot através do servidor e não mais abrindo esta tela local. Temos apenas mais 10 minutos, então precisamos ser rápidos 🙂

Pressione Ctrl + Alt + F2 para mudar para o terminal de texto e logue-se como root. Tudo o que precisamos fazer é editar o arquivo /etc/X11/prefdm, que decide qual gerenciador de login será aberto, substituindo todas as linhas pelo comando que obtém a tela de login do servidor.

Ao invés de ficar comentando linha por linha, é bem mais rápido simplesmente renomear o arquivo antigo e criar outro.

Você pode fazer isso com os comandos:

# mv /etc/X11/prefdm prefdm-old

# vi /etc/X11/prefdm

Será aberto um arquivo em branco no vi. Pressione a tecla “i” para editar o arquivo e inclua a linha:

/etc/X11/X -query 192.168.0.1

Pressione “esc” e em seguida “ZZ” (segurando a tecla shift, são dois Z’s maiúsculos) para salvar o arquivo e sair.

Lembre-se de substituir o “192.168.0.1” pelo endereço IP correto do servidor, caso diferente.

Acerte as permissões do arquivo dando um:

chmod +x /etc/X11/prefdm

Agora só falta reiniciar também o terminal com um:

# reboot

Depois de terminar o primeiro, passe para outro, até terminar todos. Estas alterações são simples, você não deve demorar muito mais que um minuto em cada terminal. 🙂

:. 59 minutos

Tudo pronto. Conforme forem reiniciando os terminais já mostrarão a tela de login do servidor:


Patinhas, Donald, Gastão…


Huguinho, Zezinho e Luisinho 🙂

Lembre-se que agora os logins passam a ser feitos diretamente no servidor. Você não precisa se preocupar em criar logins de usuário nas estações. Também não é preciso perder tempo compartilhando arquivos, impressoras ou a conexão com a Web.

Como tudo é feito no servidor, o que funcionar nele automáticamemente funcionará também nos terminais.

Os arquivos os usuários ficam também concentrados no servidor, dentro da partição montada no diretório /home, o que facilita bastante na hora de fazer os backups. Você pode gravar arquivos importantes em CD ou outra mídia removível e fazer um backup completo frequêntemente em outro micro da rede, via FTP por exemplo, como sugeri no início da matéria.

No meu caso preferi deixar o servidor sem monitor e teclado depois da instalação. É mais seguro que ele seja utilizado apenas através da rede, assim você não corre o risco de algum usuário resolver apertar o botão de reset ou chutar o servidor num momento de fúria.

Muitos argumentam que uma rede baseada em terminais acaba apresentando mais problemas que uma rede tradicional, já que o servidor passa a ser o ponto de falha central. Mas, o que vejo na prática é que acaba ocorrendo justamente o contrário.

Por não precisar investir muito nas estações você tem a chance de colocar um hardware de melhor qualidade no servidor, com no-break e outros dispositivos de segurança, além de melhorar a instalação da rede.

Todos sabemos que um servidor Linux com um hardware de boa qualidade e bem configurado raramente dá problemas. A estabilidade e principalmente o desempenho acabam sendo muito melhores do que com um monte de estações com hardware vagabundo. Com a configuração que citei no início, um Athlon XP 1600+ com 512 MB você já tem potencial para até uns 10 clientes. A partir daí você pode considerar um servidor um pouco mais parrudo, dependendo do tipo de aplicativos usados.

Como estamos usando uma rede de 100 megabits, a velocidade de atualização de tela nos terminais fica absolutamente normal, mesmo com os 5 acessando o servidor simultâneamente. A única limitação neste caso fica por conta de aplicativos de exibição e edição de vídeos, onde os 100 megabits da rede começam a mostrar seu limite, já que mesmo assistindo a um arquivo compactado em divx por exemplo, o vídeo é decodificado no servidor e transmitido aos clientes sem compactação.

Mesmo assim, dá para assistir filmes nos clientes caso você diminua o tamanho da tela de exibição, deixando algo em torno de 320×240.

Neste exemplo estou assistindo no cliente e o som está saindo nas caixas de som do servidor. Para que os clientes possam utilizar o som remotamente você deve rodar (no servidor, como root) os comandos:

# chmod +666 /dev/dsp
# chmod +666 /dev/mixer

A partir daí os clientes podem ouvir MP3, etc. normalmente. O som neste caso não aumenta a utilização da rede pois não sai do servidor. Caso você esteja utilizando uma placa de som PCI que suporte múltiplos fluxos de áudio com o as SB Live, vários clientes poderão ouvir coisas diferentes ao mesmo tempo, com o som saindo misturado das caixas do servidor.

Lembre-se que de qualquer forma você pode utilizar os próprios clientes para tocar música. Basta instalar os programas necessários e copiar os arquivos. Pressione “Ctrl+Alt+F2” (no cliente) para mudar para o terminal de texto local e dê o comando “startx — :2” para abrir a interface gráfica local.

A partir daí pressione “Ctrl + Alt + F7” para voltar para a tela do servidor e “Ctrl + Alt + F8” para voltar à tela local do cliente.

O único problema dessa receita é que a configuração é tão rápida que se você estiver prestando o serviço para algum cliente ele é capaz de nem querer te pagar… 😉 Mas isso já é uma outra história.

Respondendo a algumas dúvidas freqüentes:

Concluindo o capítulo, aqui vão as respostas para algumas dúvidas freqüentes quando se fala em terminais leves:

– Aplicativos como o KDE e o OpenOffice consomem muita memória. Abrir o KDE 3 junto com o OpenOffice e o Mozilla já consome quase 100 MB de memória. Quer dizer que se for ter 10 clientes rodando os três vou precisar de 1 GB de RAM no servidor?

O mais interessante é que não 🙂 Se você abrir os três em 10 clientes o consumo de memória RAM no servidor não vai passar de uns 160 MB (já fiz este teste). O que acontece é que o sistema não carrega cada aplicativos 10 vezes, mas reaproveita os dados do primeiro carregamento para todos os subseqüentes, carregando apenas dados que forem diferentes, como configurações dos usuários, papéis de parede, temas, etc.

Como se não bastasse, os aplicativos em uso em outros clientes carregam muito mais rápido, pois na verdade já estão carregados no servidor. Se você manter o servidor ligado continuamente, vai notar que depois de algum tempo os aplicativos começarão a abrir quase que instantâneamente.

O que deve ser levado em consideração na hora de avaliar quanta memória RAM será necessária no servidor é principalmente o número de aplicativos diferentes que serão utilizados e não o número de clientes. Você pode ir acompanhando o uso de memória no servidor através do comando “free” e assim avaliar quando é necessário comprar mais memória.

– Qual é a diferença entre usar clientes XDMCP e usar o VNC? Não é quase a mesma coisa?

Usar terminais XDMCP é bem diferente de usar o VNC. A grande diferença é que o VNC se limita a capturar a imagem da tela e enviar como um bitmap através da rede. Ele oferece várias opções de compactação é verdade, mas você sempre notará alguma demora na atualização.

No caso dos terminais temos uma instância do X rodando em cada um. O servidor não manda bitmaps, mas sim instruções para montar as janelas. Se você abrir um menu o VNC mandará a imagem do menu, enquanto o X envia apenas uma instrução com as dimensões do menu, o texto que vai dentro, etc.

Se você colocar uma imagem de 64×64 pixels como papel de parede, ladrilhada para que ocupe a tela toda, o VNC simplesmente capturará a tela toda e enviará como se fosse uma única imagem. O X por sua vez será mais esperto e enviará a imagem de 64×64 apenas uma vez, junto com uma instrução dizendo que ela deve ser replicada na tela toda. Ou seja, a comunicação é muito mais rápida e o uso da rede brutalmente menor, a ponto de você ter terminais funcionais mesmo numa rede de 10 megabits.

O VNC também utiliza muito processamento, tanto no servidor quanto no cliente. Para ter algo mais ou menos transparente é preciso ter um processador de 600 MHz em cada ponta e uma rede de 100 megabits entre os dois. No caso dos terminais XDMCP o overhead é muito pequeno.

Enfim, o VNC é uma boa solução quando os PCs utilizam dois sistemas operacionais diferentes, mas caso ambos utilizem o Linux a idéia dos terminais é mais funcional.

– Mas e se os meus clientes utilizarem o Windows e não tiver como instalar o Linux em todos? Vou ter que usar o VNC de qualquer forma não é?

Pior que não 🙂 Você também pode utilizar máquinas Windows como terminais XDMCP utilizando o Cygwin, que tem um servidor X embutido. Você pode baixar o programa no http://www.cygwin.com, ao abrir você verá um terminal de texto, onde você pode dar o comando para obter a tela de login do servidor, “X -query 192.168.0.1”; “X – broadcast”, etc. A velocidade fica normal, a mesma que teria num cliente Linux.

– Como faço para compartilhar a impressora com os clientes?

A impressora é “compartilhada” automaticamente, já que os dados na verdade não saem do servidor. Basta instalar a impressora localmente e ela já funcionará nos clientes. Imagine um servidor com um monte de monitores e teclados, a idéia dos terminais é mais um menos isso. Vários usuários no mesmo micro, compartilhando seus recursos e aproveitando os recursos multiusuário do Linux.

– E no caso dos jogos? Dá para jogar por exemplo Quake III nos clientes, mesmo que um pouco lento?

Depende, se você tiver uma placa Nvidia ou ATI com os drivers 3D corretamente instalados tanto no servidor quanto nos clientes até vai funcionar, caso contrário ao tentar abrir o Quake III nos clientes você receberá um erro, dizendo que não foi possível encontrar um sub-sistema OpenGL.

De qualquer forma, é possível rodar jogos 2D sem maiores problemas, dá para fazer um campeonato de FreeCiv por exemplo 🙂 Uma vez tentei jogar o Diablo II num terminal e também funcionou, apesar da atualização de tela ficar lenta por causa da rede. Limitação mesmo só com relação aos jogos 3D.

– Você usa esta idéia dos terminais a muito tempo? Funciona mesmo? Fica estável?

Eu uso a mais de um ano em vários clientes, nunca tive problemas de estabilidade. A questão principal é a qualidade da rede, se você usar um hub de boa qualidade, com cabos de par trançado crimpados com um bom alicate e ninguém ficar chutando os fios não há problema algum.

Em casa eu uso apenas uma máquina para trabalho, ou meus outros micros são só para testes e pesquisa. Sempre quem alguém vem aqui em casa usar o micro eu crio uma conta de usuário para ela no meu micro e deixo que ela use num outro que esteja funcionando como terminal.

Caso o PC esteja sem sistema dá para bootar com um CD do Kurumin: é só dar um Ctrl+Alt+F2 para mudar para o terminal de texto e usar o comando “X :2 -query 192.168.0.1”.

Eu também costumo abrir várias instâncias do X no meu micro de trabalho, pegando as telas de logins dos micros que estou testando. Assim, pressionando Crtl+Alt+F8 estou no Red Hat, Ctrl+Alt+F9 vou para Slackware, Ctrl+Alt+F10 mudo para o Debian, Ctrl+Alt+F11 logo no Kurumin e pressionando Ctrl+Alt+F7 estou de volta no Mandrake 🙂

Sobre o Autor

Redes Sociais:

Deixe seu comentĂĄrio

X