Linux Terminal Server Project (ou somente LTSP) é um projecto baseado em Linux que agrupa várias ferramentas e protocolos, com a finalidade de proporcionar um ambiente de trabalho remoto. Todo o software é corrido no servidor, e os terminais servem apenas de interface entre o utilizador e as aplicações – os poucos ciclos de processamento gastos são para enviar os dados da placa de rede à placa gráfica. Com efeito, é possível ter vários clientes com hardware antigo (eg. Pentium a 90Mhz, com 16MB de RAM e placa gráfica de 2MB) a ter um desempenho equivalente ao do servidor (que poderia ser um Pentium 4 a 3GHZ com 1GB RAM e placa gráfica de 2MB).
A primeira das tecnologias envolvidas é o standard PXE, que permite efectuar o arranque de um sistema pela rede. Esta especificação requer suporte na placa de rede (NIC). Aquando do arranque da máquina, a BIOS, devidamente configurada para o efeito, notifica a NIC para arrancar por PXE e esta, por sua vez, envia um pacote broadcast e espera obter configurações da rede. Em caso de timeout, o arranque é delegado para a BIOS novamente, e processado normalmente (com os dispositivos de armazenamento locais).
Para os casos em que as NIC's não suportam PXE é possível criar uma imagem de arranque com Etherboot, que pode ser armazenada no NIC, se este disponibilizar um encaixe (slot) para EPROM, ou ser utilizado através de uma disquete. Activando o arranque pela disquete, a BIOS lê a imagem, que será responsável pelo arranque da rede. Como com PXE, será enviado um pacote broadcast, desta vez assinado como sendo gerado por Etherboot.
Para ambos casos, o servidor de DHCP deverá estar devidamente configurado para suportar uma ou ambas tecnologias. Sob um ponto de vista de uniformização das configurações, é possível gerar imagens Etherboot para PXE, de tal forma que o arranque PXE é delegado para o Etherboot, e este, por sua vez, irá arrancar a máquina como ilustra o diagrama da figura.
Nas configurações do DHCP, além do endereço da rede, gateway, e hostname, deverá constar a localização de uma imagem do sistema operativo, que será descarregada pelo Etherboot, utilizando o protocolo TFTP, pela sua simplicidade de utilização. Este protocolo não requer autenticação, e o conjunto de operações como cliente é bastante limitado, resultando em clientes bastante pequenos.
Assim que o núcleo tiver sido descarregado, o PXE/Etherboot delega o arranque para o núcleo, criado especificamente para o efeito (com a ferramenta MKNBI), que será responsável por criar uma raiz de sistema de ficheiros virtual, por NFS. Esta característica do núcleo é a que permite correr uma instalação remota de Linux sem qualquer dispositivo de armazenamento local – este tipo de terminais envolvidos designam-se também por thin clients.
Finalmente, após o núcleo montar a raiz do sistema de ficheiros, irá lançar os scripts de arranque do sistema, que serão responsáveis por colocar o terminal no modo configurado, neste caso, o modo gráfico, utilizando XFree86. Este servidor de ambientes de trabalho em modo gráfico permite autenticar e executar uma sessão num servidor remoto, utilizando o protocolo XDMCP. Caso o utilizador consiga autenticar, será lançado o seu ambiente de trabalho, como se o utilizador estivesse a trabalhar localmente no servidor.
A partir deste momento, todas as operações que o utilizador do terminal efectuar, serão transparentemente realizadas no servidor e o output enviado para o terminal.
Fonte wikipedia http://pt.wikipedia.org/wiki/LTSP
Chega de conversa. Hands On Now.
Para o funcionamento do LTSP, é preciso alguns programas.
# apt-get install dhcp3-server debconf-utils debootstrap ldm-server ltsp-server ltspfs nbd-server openbsd-inetd squashfs-tools tftpd-hpa xbase-clients
Depois da Instalação começamos a realizar as configurações nos arquivos do servidor. A primeira alteração será realizada na interface de rede. O servidor deve ter duas placas de rede, no Linux elas podemos ver suas configurações com o comando "ifconfg", vamos usar aqui no exemplo a eth1 com ip 192.168.3.1 para o LTSP servindo as janelas do Terminal Service. A interface eth0 sesrá dhcp. Para isso abrimos o terminal e digitamos o comando:
==============================
#nano /etc/network/interfaces
E colocar a seguinte configuração na eth1 deste jeito.
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.3.1
netmask 255.255.255.0
network 192.168.3.0
broadcast 192.168.3.255
depois executar:
#/etc/init.d/networking restart
==============================
Como praxe de boas práticas vamos renomear o arquivo original para que este possa ser consultado mais tarde.
Para isso use o comando
# /etc/dhcp3/dhcpd.conf /etc/dhcp3/dhcpd.conf.original
O próximo comando criará os arquivo dhcpd.conf vazio para que possamos criá-lo de acordo com nossas necessidades:
#nano /etc/dhcp3/dhcpd.conf
authoritative;
subnet 192.168.3.0 netmask 255.255.255.0 {
range 192.168.3.20 192.168.3.250;
option domain-name "ltsp";
option domain-name-servers 208.67.222.222, 192.168.3.1;
option broadcast-address 192.168.3.255;
option routers 192.168.3.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";
}
}
==============================
O DHCP está pronto. Agora vamos informar ao servidor qual interface de rede responderá as requisições DHCP. Este arquivo pode ser editado com o seguinte comando:
#nano /etc/default/dhcp3-server
Deixe a linha Interfaces como esta abaixo:
INTERFACES="eth1"
==============================
Configuração do tftpd-hpa Abra o:
#nano /etc/default/tftpd-hpa
Veja se está com esta configuração, caso não esteja, deixe o arquivo tftpd-hpa deste jeito...
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
==============================
Configuração do NBD-Server
O nbd-server vai ser configurando colando uma linhas com valores no /etc/inetd.conf
No meu caso só foi preciso criar a última linha. Vamos editar o arquivo:
# nano /etc/inetd.conf
9571 stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/ldminfod
9572 stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/nbdswapd
2000 stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/nbdrootd /opt/ltsp/images/i386.img
==============================
# nano /etc/hosts.allow
Agora vamos alterar o arquivo hosts.allow para NBD-Server poder atuar na rede vamos editar o arquivo e acrescentar no fim do arquivo:
nbdrootd: ALL: keepalive
nbdswapd: ALL: keepalive
O arquivo hosts.allow deve ter linhas acimas, para assim permitir/allow a todos micros/hospedeiros/hosts (por isso hosts.allow) conseguir negociar com o NBD-Server.
==============================
O servidor está quase pronto, reinicie o computador.
Vamos agora testar o DHCP com o comando #dhcpd3
Aqui tive uma mensagem de erro dizendo que o arquivo dhcpd.pid não pôde ser criado. Resolvi o problema com o comando
ln -s /var/run/dhcp3-server/dhcpd.pid /var/run/dhcpd.pid
reinicie o serviço dhcp com o comando /etc/init.d/dhcp3-server
Teste novamente o serviço de dhcp. No meu caso estava tudo correto.
==============================
Agora vem a parte mais demorada. Instalar o client-builder. Sem ele nada funciona. A velocidade da instalação depende muito da sua velocidade de conexão, no meu caso levei 40 minutos com internet de 5 mega.
rode o comando
# ltsp-build-client
e espere a conlcusão da instalação.
Reinicie o servir e pronto.
==============================
Com o servidor terminado precisamos baixar a iso que será responsável pelo boot no lado cliente. Lembre-se o cliente não precisa ter disco rígido, apenas placa de rede e leitora de cd/dvd. Entre no site http://www.rom-o-matic.net/ e baixe a iso mais recente para para o boot. No meu caso a escolha ficou assim:
1. Choose an output format: ISO bootable image (.iso)
2. Choose a NIC type: all-drivers
3. não marquei nada.
4. Clique em get image.
Pronto. aguarde o download e grave num cd/dvd. Mude a ordem de boot para iniciar primeiro pelo cd/dvd. Ok. tudo terminado. No meu caso funcionou perfeitamente.
Usei duas máquinas virtuais uma com ubuntu 10.04 onde instalei todos os programas descritos acima. A outra máquina criei e não instalei nenhum Sistema Operacional, apenas adicionei a iso no drive de cd e liguei a máquina.
Para mim funcionou perfeitamente.
O texto original que me orientou na construção do meu LTS eu obtive no endereço-eletrônico http://idsorocaba.batemacumba.net/index.php?n=Main.InstalacaoLTSP5NoUbuntu1004Lucid e fiz as alterações que precisei para funcionar perfeitamente.
Nenhum comentário:
Postar um comentário