TCOS/Introduction/pt-br

From TcosProject

Jump to: navigation, search


Image:Vlc.png Estamos trabajando en esta página del wiki, ¡vuelve más tarde!

Contents

[edit] O que é TCOS?


TCOS (Thin Client Operating System) é um projeto de Software Livre licenciado pela GPL2 e formado por várias ferramentas utilizadas tanto para inicializar como para gerenciar os clientes magros.

Ele permite que computadores obsoletos sejam reaproveitados como clientes magros e conectados a um servidor, compartilhando o mesmo sistema operacional e outros recursos como: aplicativos gráficos, CD-ROM, pendrive, acesso a Internet, impressora, armazenamento centralizado dos arquivos dos usuários, entre outros.

O TCOS encontra-se na versão 0.89.33 disponível para ser instalado nas distribuições GNU/Linux Debian, Ubuntu, MaX 4.0, Guadalinex e Lliurex. Atualmente ele está totalmente traduzido para o espanhol, inglês e português.

O funcionamento do TCOS depende fortemente de uma rede constituída pelos seguintes componentes:

  • servidor, com alta performance de processamento;
  • clientes magros, podendo ser thin clients ou computadores obsoletos;
  • switch. Recomenda-se um switch que trabalhe com a taxa de transferência de, pelo menos, 100 Mbps.


Na figura abaixo é mostrada o esquema de uma rede TCOS.

Rede TCOS
Rede TCOS


Como pode ser visto na figura acima, o servidor TCOS Server possui uma interface de rede conectada a Internet e outra ao switch, no qual também estão conectados todos os clientes magros.

Em um cenário de rede como esse, a maior parte do processamento dos dados é centralizado no servidor e de forma transparente ao usuário. Ou seja, o usuário pensa que está usando os recursos do cliente magro, quando na verdade está usando os do servidor, que envia os resultados do processamento das atividades para serem visualizados na tela do cliente.

[edit] As Características


O TCOS apresenta, entre outras, as seguintes características:

  • pode ser utilizado em uma rede de computadores obsoletos com 32 a 64 MB de memória RAM;
  • suporte a múltiplos clientes conectados, simultaneamente, ao mesmo servidor;
  • uso de dispositivos removíveis nos clientes, como: CD-ROM, pendrive e etc;
  • controle remoto do volume de som emitido pelos clientes;
  • configuração automática da sessão gráfica do usuário;
  • detecção e configuração automática do hardware dos clientes;
  • gerenciamento e monitoramento centralizado dos clientes e usuários através das aplicações TcosMonitor e TcosPHPMonitor;
  • a configuração e compilação da imagem do sistema operacional dos clientes pode ser feita usando a aplicação gráfica TcosConfig. Esse processo é muito flexível, pois permite adaptar o sistema ao perfil de hardware de cada cliente;


[edit] As Vantagens


As principais vantagens ao utilizar TCOS são:

  • redução do custo de propriedade da rede e reaproveitamento dos recursos disponíveis no servidor. O custo de propriedade da rede envolve a aquisição e manutenção dos equipamentos, licença de uso dos softwares, consumo de energia elétrica, etc;
  • gerenciamento centralizado dos clientes magros e usuários;
  • flexibilidade. Se houver alguma falha no hardware de um cliente, basta pedir ao usuário para iniciar uma nova sessão gráfica a partir de outro. Assim não haverá perda das informações, pois elas estão centralizadas no servidor;
  • escalabilidade. Para aumentar o número de clientes na rede, basta aumentar a capacidade de processamento e a quantidade de memória RAM do servidor;
  • é possível personalizar uma sessão gráfica para cada usuário liberando ou restringindo o acesso a determinados recursos e aplicações;
  • permite reutilizar computadores obsoletos como clientes magros, reduzindo os custos da rede e o impacto ambiental.


[edit] As Desvantagens


Por outro lado, o uso do TCOS apresenta as seguintes desvantagens:

  • alto tráfego de dados na comunicação entre o cliente e servidor. Um estudo sobre o impacto do TCOS na rede foi realizado por membros da comunidade TCOS Brasil e está disponível nesta página
  • o servidor passa a ser o ponto crítico da rede, ou seja, se ele parar de funcionar todos os usuários ficarão impossibilitados de trabalharem. Pela mesma razão, a rede também torna-se um ponto crítico.
  • O servidor pode ser mais vunerável a ataques, desde que um invasor tenha acesso a rede e o servidor TCOS não esteja suficientemente protegido e atualizado.
  • O servidor é compartilhado com todos os usuários. Se algum processo de um determinado usuário consumir muito processamento ou memória RAM, isso causará problemas de desempenho aos demais. Para evitar esse problema acesse a página http://www.ss64.com/bash/ulimit.html e configure o arquivo /etc/security/limits.conf.


[edit] Os Cenários de Uso


Uma rede TCOS pode ser implantada em:

  • escolas, nos laboratórios de informática;
  • telecentros;
  • ambientes coorporativos, onde as tarefas ou aplicativos utilizados exigem pouco poder de processamento;
  • cibercafé;
  • Lan Houses;
  • bibliotecas, etc.


[edit] Os Métodos de Inicialização dos Clientes


Os clientes magros não necessitam de um disco rígido para serem inicializados, pois o protocolo PXE (Preboot Execution Environment) permite que eles obtenham a imagem do sistema operacional via rede.

A figura abaixo mostra os métodos disponíveis para iniciar um cliente

Métodos de inicialização dos terminais
Métodos de inicialização dos terminais


O método Download via TFTP é padrão e também o mais usado. O cliente tenta obter o sistema operacional ompartilhado pelo servidor via rede usando o protocolo TFTP (Trivial File Transfer Protocol). Para que ele funcione é necessário que os clientes tenham uma interface de rede com suporte ao protocolo PXE.

O método Etherboot utiliza um disquete [www.etherboot.org Etherboot ou gPXE9] contendo um pequeno software usado para substituir os PXE Roms proprietários. No entanto, esse método não é mais recomendado.

Também é possível inicializar o cliente usando um CD-ROM com a imagem do sistema operacional criada pelo script gentcos.

Caso o cliente possua um disco rígido, pode-se formatá-lo para conter a imagem do disquete Etherboot ou os três arquivos de inicialização do TCOS (vmlinuz, initramfs e squashfs).

No método NFS (Network File System) os clientes tentarão obter a imagem do sistema operacional usando NFS, de forma semelhante ao que acontece no projeto LTSP. Este método é recomendado quando os terminais tem menos de 38 MB de memória RAM.

[edit] Processo de Inicialização


Veja na figura abaixo o processo de inicialização de um cliente TCOS usando o protocolo TFTP.

Arranque do TCOS sem usar NFS
Arranque do TCOS sem usar NFS


Ao ser inicializado, o cliente passa instruções a interface de rede para fazer requisições ao servidor DHCP, usando o protocolo PXE ou Etherboot. Ele tentará ler o conteúdo das variáveis next­server e filename, configuradas no arquivo dhcpd.conf.

Uma vez que o servidor tenha respondido a requisição DHCP, o cliente se conecta a ele, usando o protocolo TFTP para obter em primeiro lugar os arquivos vmlinuz e initramfs. Após descompactá-los na memória RAM, o cliente envia a segunda requisição DHCP para obter as configurações da interface de rede (endereço IP, máscara de sub-rede, IP do gateway, do servidor DNS, etc).

Depois disso, o cliente escaneia o disco rígido em busca da partição SWAP e obtém o arquivo squashfs, que está no servidor, monta-o na memória e executa alguns serviços e deamons. Terminado esse processo o cliente se conecta ao servidor X e inicia a sessão gráfica.

Mais detalhes da inicialização do cliente são mostrados na figura a seguir.

Arranque do TCOS
Arranque do TCOS


[edit] Pré-requisitos Mínimos


[edit] Requisitos de Hardware


  • Servidor:
  • Processador: Dual ou Quad (Core2Duo, Xeon, Dual Xeon). Em redes menores com até 15 clientes pode-se usar Pentium IV, Intel Core 2 Duo ou AMD Dual
  • Memória RAM: 500 MB + 80 a 150 MB, por cliente magro.
  • Placa de rede: Pelo menos 2 interfaces de rede 100 Mbps (uma para acessar a Internet e a outra para os clientes locais)
  • discos rígidos rápidos, usando RAID 1 para obter uma maior segurança no armazenamento dos dados.



  • Cliente Magro:
  • Processador: Pentium II ou outro compatível com clock de, pelo menos, 300 a 350 Mhz;
  • Memória RAM: 64 MB
  • Placa de rede: 1 placa de rede 100 Mbps e com suporte ao protocolo PXE.



Os clientes também podem ser thin clients. Os que já foram testados com sucesso são:


Image:Messagebox info.png NOTE: Se você é um distribuidor de thin client, por favor contate a gente para que possamos testar o hardware e incluí-lo nesta lista.


  • Infra-estrutura de Rede:
* Ao menos um switch 100 Mbps, Se a rede tiver de 20 a 25 clientes é aconcelhável montar uma infra-estrutura com dois switchs para melhorar o rendimento, como mostra a figura a seguir:
Esquema com duas placas de rede
Esquema com duas placas de rede


[edit] Requisitos de Software


  • Distribuição GNU/Linux
  • Debian Etch 4.0;
  • Debian Lenny 5.0;
  • Debian Unstable.
  • Ubuntu Dapper (6.06), porém não há novos pacotes desde 25/05/2008;
  • Ubuntu Edgy (6.10), porém não há novos pacotes desde 25/05/2008;
  • Ubuntu Feisty (7.04);
  • Ubuntu Gutsy (7.10);
  • Ubuntu Hardy (8.04);
  • Ubuntu Intrepid (8.10);
  • Ubuntu Jaunty (9.04).



  • Outras:
  • MaX (v3.0) baseado em Ubuntu Dapper, porém não há novos pacotes desde 25/05/2008;
  • Guadalinex (v4) baseado em Ubuntu Edgy, porém não há novos pacotes desde 25/05/2008.



  • Ambiente Gráfico:
  • KDE
  • GNOME
  • XFCE4
  • Qualquer outro



  • Um kernel genérico para construir as imagens de inicialização dos clientes.
Tabela de versões do kernel suportados por padrão
Distribuição e versão Kernel por padrão
Debian Etch 4.0 2.6.18-5-486
Debian Unstable (sid) 2.6.22-2-486
Ubuntu Dapper (6.06) 2.6.15-29-386
Ubuntu Edgy (6.10) 2.6.17-12-generic
Ubuntu Feisty (7.04) 2.6.20-15-generic
Ubuntu Gutsy (7.10) 2.6.22-10-generic
Ubuntu Hardy (8.04) 2.6.24-16-generic
Ubuntu intrepid (8.10) 2.6.26-07-generic


Image:Button ok.png TIP: Pode usar qualquer outro kernel, mas estes são os mais recomendáveis.


Image:Messagebox info.png NOTE: Não há nenhuma razão para usar o servidor e os clientes terem o mesmo kernel, É recomendável usar um kernel do tipo *-686 o *-k7 para obter melhor rendimento e para que o sistema reconheça mais memória RAM