Monte seu próprio LTSP

 

Este artigo foi publicado no “Blog Seja Livre!”, como resultado da minha experiência no Departamento de Tecnologia da Informação na Prefeitura de Sobradinho, e descreve um passo-a-passo para a montagem do seu próprio LTSP. Segue o artigo:
Olá amigo leitor do Blog Seja Livre!

Recentemente, nós do Departamento de Tecnologia da Informação e Comunicação (DTIC) da Prefeitura de Sobradinho/BA, implantamos um Linux Terminal Server (LTSP) na nossa Secretaria de Agricultura e Meio Ambiente (SEAMA). Ao enviar o artigo que postei no meu Blog laudivan.info ao Vinícius, ele logo percebeu que seria bem melhor compartilhar a experiência com um tutorial a apenas postar a notícia da nossa realização: Boa Vinícius! Aqui vai o tutorial, espero que apreciem!

A iniciativa de usar o LTSP mostra-se interessante pela redução do custo de aquisição de computadores novos, mas além da economia há outras vantagens em se montar um LTSP Server:
  1. redução do impacto da TI sobre o meio ambiente com o aproveitamento maquinas velhas evitando o aumento do lixo tecnológico;
  2. redução do consumo de energia, pois os terminais não precisam de disco rígido e exigem muito pouco do hardware;
  3. simplicidade de administração já que todas as tarefas administrativas são feitas em uma máquina local, o LTSP Server;
  4. uso de software livre garantindo a independência de fornecedores, a redução de custos com licenciamento de software, dentre outros motivos.
  5. Eu ainda posso adicionar a essa lista, no caso do DTIC, o componente “motivação” da equipe que ficou animada por ir além dos serviços de suporte e manutenção de computadores.

Preparação do Ambiente

Deixando a conversa de lado, vamos ao trabalho!

Para a instalação do LTSP utilizaremos a topologia proposta pela imagem abaixo onde uma placa de rede do servidor será utilizada para acesso à sua rede ou Internet e outra para os terminais leves.

O LTSP Server deve ter, além das duas placas de rede, um bom processador e a quantidade de memória mínima conforme a quantidade de terminais leves obedecendo à seguinte fórmula da documentação oficial do projeto Ltsp.org:

RAM do Servidor = 256Mb + (192Mb x Nº de Terminais)

Particularmente, recomendo configurações bem menos modestas. Como este documento tem algum tempo e os software atuais requerem mais do hardware, sugiro ao menos algo do tipo:

RAM do Servidor = 1Gb + (256Mb x Nº de Terminais)

Para o projeto do DTIC/SEAMA nós usamos um Core i7, com 16Gb de RAM e uma placa aceleradora bem animadora.

Quanto aos terminais leves, quase não há exigência de hardware, basicamente você precisa de pouca memória (32Mb é suficiente), nenhum disco, uma placa de rede e, preferencialmente, suporte a boot pela rede com PXE.

Instale o Ubuntu

Primeiramente, vamos instalar o Ubuntu no LTSP Server. Se o computador for usado apenas para este fim você não terá dificuldades com esta etapa e, por não ser o objetivo deste artigo, deixarei esta etapa contigo. 😉

Aqui vamos instalar o Ubuntu 12.10 mas no projeto do DTIC/SEAMA preferimos a última versão Long Term Suport (LTS), a 12.04.

Configuração Inicial do Servidor

Configure as placas de rede conforme o seu ambiente. Para este tutorial usaremos a placa eth0 para acesso à Internet por meio de um servidor dhcp pré-configurado e a eth1 receberá o ip 172.16.0.1 que será rede utilizada pelos terminais leves.

Configure as placas de rede conforme o seu ambiente. Para este tutorial usaremos a placa eth0 para acesso à Internet por meio de um servidor dhcp pré-configurado e a eth1 receberá o ip 172.16.0.1 que será rede utilizada pelos terminais leves.

Abra o arquivo com o comando:

sudo gedit /etc/network/interfaces

E altere seu conteúdo do arquivo para que fique assim:
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address 172.16.0.1
netmask 255.255.255.0

Instale e configure os pacotes necessários

Após instalar o Ubuntu e iniciá-lo pela primeira abra o terminal para instalar os pacotes necessários. Nesse ponto é importante você ter acesso a uma conta de usuário com permissões administrativas – que possa rodar o sudo.

Comece atualizando a lista de pacotes com:

sudo apt-get update

Instale o pacote ltsp-server-standalone e pode deixar as depedências que o apt-get resolve para você:

sudo apt-get install ltsp-server-standalone

Há outros pacotes com ltsp no nome, inclusive ltsp-server, mas não serão necessários, e todos eles requerem uma dose extra de complexidade.

Agora realize as configurações necessárias: no nosso caso basta ajustar os arquivos /etc/ltsp/dhcpd.conf e /etc/default/isc-dhcp-server. Para isso abra o arquivo /etc/ltsp/dhcpd.conf com o seguinte comando:

sudo gedit /etc/ltsp/dhcpd.conf

E altere seu conteúdo para que fique assim:

authoritative;
subnet 172.16.0.0 netmask 255.255.255.0 { 
    range 172.16.0.20 172.16.0.250; 
    option domain-name “ltsp”; 
    option domain-name-servers 172.16.0.1; 
    option broadcast-address 172.16.0.255; 
    option routers 172.16.0.1; 
    option subnet-mask 255.255.255.0; 
    option root-path “/opt/ltsp/i386”; 
    if substring( option vendor-class-identifier, 0, 9 ) = “PXEClient” { 
        filename “/ltsp/i386/pxelinux.0”; 
    } else { 
        filename “/ltsp/i386/nbi.img”; 
    } 
}

Agora abra o arquivo /etc/default/isc-dhcp-server:

sudo gedit /etc/default/isc-dhcp-server

E altere para que fique assim:

INTERFACES="eth1"

Crie a Raiz e as Imagens para os clientes

Pronto, agora é so criar a raiz para os arquivos dos terminais leves com o seguinte comando:

sudo ltsp-build-client –arch i386

Aproveite para ir fazer alguma outra coisa pois essa etapa deve demorar um pouco.

Vocẽ pode alterar pacotes nesta raiz usando o comando ltsp-chroot, mas só faça isso se souber bem o que está fazendo. Sempre que fizer isso deve lembrar-se de atualizar a imagem com o comando:

sudo ltsp-update-image –arch i386

Neste ponto é interessante reiniciar o LTSP Server para que todos os serviços sejam iniciados e as alterações devidamente aplicadas.

Configure os Boots dos Terminais Leves

Estamos quase lá!

Já está na hora de dar o boot nos terminais leves: Acesse a BIOS de cada um deles (geralmente usando a tecla DEL ou F2) e vá nas opções de BOOT.

A imagem abaixo mostra como ficou a sequência de inicialização de uma das máquinas:

Agora é só iniciar os terminais!

Últimas Considerações

Não esqueça de criar os usuários e evite usar um usuário ao mesmo tempo em diferentes terminais. Você também pode encontrar dificuldades ao executar a interface padrão do Ubuntu nos terminais leves em virtude da falta de aceleração 3D. Uma solução é, na hora do login, selecionar a opção Ubuntu 2D ou outro desktop que não necessite deste recurso.

Bom, é isto! Espero que tenha dado certo contigo, mas se não, envie seu comentário e dúvidas aqui no artigo!

Comentários