Gerenciamento de sistemas GNU/Linux: do
computador pessoal à rede corporativa
Daniel Weingaertner
Departamento de Informática – UFPR
Centro de Computação Cientı́fica e Software Livre – C3SL
Programa de Extensão “Conhecendo Padrões Abertos de
Interoperabilidade”
02.03.2009
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
1 / 37
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
2 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
3 / 37
Apresentação
Centro de Computação Cientı́fica e Software Livre – C3SL
Departamento de Informática – UFPR
Laboratórios de Ensino e Pesquisa:
I
I
I
I
I
I
Debian GNU/Linux (stable)
2000 usuários,
300 terminais, 10 servidores de processamento.
Hardware heterogêneo
5 TB de disco, quota de 2 GB
Rede Gigabit, uplink 2 Gb
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
4 / 37
Apresentação
Centro de Computação Cientı́fica e Software Livre – C3SL
Departamento de Informática – UFPR
Laboratórios de Ensino e Pesquisa:
I
I
I
I
I
I
Debian GNU/Linux (stable)
2000 usuários,
300 terminais, 10 servidores de processamento.
Hardware heterogêneo
5 TB de disco, quota de 2 GB
Rede Gigabit, uplink 2 Gb
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
4 / 37
Apresentação
Servidores do C3SL:
Mirror (Sourceforge, Debian, Ubuntu, KDE, OOffice, Mozilla, Kernel)
Computação cientı́fica
Sistemas Web (revistas da UFPR, biblioteca digital)
Wiki, GIT, Jabber
Servidor de Xadrez
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
5 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
6 / 37
Breve histórico do GNU/Linux
Década de 80: software vinha de “brinde”
Criação do projeto GNU (www.gnu.org)
Free Software Foundation (www.fsf.org)
Linus Torwalds cria o Linux (www.kernel.org)
Surge o GNU/Linux
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
7 / 37
Qual o “melhor” Linux?
Distribuições: diferentes empacotadores
Principais distribuições:
I
I
I
I
I
I
Slackware
Debian
SUSE (OpenSUSE)
RedHat (Fedora)
Ubuntu (KUbuntu, XUbuntu)
Kurumim
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
8 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
9 / 37
GNU/Linux no Computador Pessoal
Escolher uma distribuição
Utilizar Live-CD
Múltiplos sistemas operacionais (particionamento)
Gerenciador de janelas
Quais programas existem para GNU/Linux?
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
10 / 37
Vantagens e Desvantagens do GNU/Linux
É gratuito
Atualizações automáticas e freqüentes
Sistema estável e “resistente” a vı́rus (kernel mode/user mode)
Permite adaptações e configurações
Dificuldades com drivers
Softwares desenvolvidos para Windows
“Ninguém” usa
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
11 / 37
Vantagens e Desvantagens do GNU/Linux
É gratuito
Atualizações automáticas e freqüentes
Sistema estável e “resistente” a vı́rus (kernel mode/user mode)
Permite adaptações e configurações
Dificuldades com drivers
Softwares desenvolvidos para Windows
“Ninguém” usa
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
11 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
12 / 37
O Sistema Multiseat
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
13 / 37
O Sistema Multiseat
Um computador atendendo a diversos usuários simultâneamente
Um conjunto de dispositivos de E/S para cada usuário
Utilizado em mais de 2000 escolas no Paraná
Live-CD do Ubuntu
Como instalar: wiki.c3sl.ufpr.br/multiseat
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
14 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
15 / 37
O que é um Sistema Terminal-Servidor?
Volta às origens da computação (mainframe)
Poucas máquinas com disco, de grande porte
Servidores de processamento compartilhados
Terminais de usuário bootam pela REDE, sem disco
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
16 / 37
Sistema Terminal-Servidor Básico
Servidor possui instalação GNU/Linux
Terminais montam uma raiz própria exportada pelo servidor (ro)
Utilizam memória RAM como disco local (rw)
Requisitos:
I
I
I
I
Rede confiável e rápida
DHCP, PXE
NFS
xdmcp
Exemplo: LTSP
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
17 / 37
Sistema Terminal-Servidor Básico
Servidor possui instalação GNU/Linux
Terminais montam uma raiz própria exportada pelo servidor (ro)
Utilizam memória RAM como disco local (rw)
Requisitos:
I
I
I
I
Rede confiável e rápida
DHCP, PXE
NFS
xdmcp
Exemplo: LTSP
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
17 / 37
Sistema Terminal-Servidor Básico
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
18 / 37
Sistema Terminal-Servidor Básico
Vantagens:
I
I
I
I
Redução nos custos de gerenciamento
Menos máquinas para instalar e administrar
Reaproveitamento de configurações comuns
Maior segurança para os dados
Desvantagens:
I
I
I
I
I
E se a rede falhar?
E se o servidor falhar?
Baixo desempenho do protocolo X
Dispositivos de I/O
Subutilização da capacidade de processamento local
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
19 / 37
Sistema Terminal-Servidor Básico
Vantagens:
I
I
I
I
Redução nos custos de gerenciamento
Menos máquinas para instalar e administrar
Reaproveitamento de configurações comuns
Maior segurança para os dados
Desvantagens:
I
I
I
I
I
E se a rede falhar?
E se o servidor falhar?
Baixo desempenho do protocolo X
Dispositivos de I/O
Subutilização da capacidade de processamento local
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
19 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
20 / 37
E quando um servidor não é suficiente?
Separar servidor de disco (/home), email
Acrescentar servidores de processamento
Problemas:
I
I
I
Vários servidores para instalar, atualizar, . . .
Sincronia entre os servidores (software, configs, . . . )
Aumento dos custos de gerenciamento
Solução: aumentar em um nı́vel o modelo terminal-servidor
I
I
Transformar servidores em ”super-terminais”
Compartilhar a mesma raiz para todos os servidores
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
21 / 37
E quando um servidor não é suficiente?
Separar servidor de disco (/home), email
Acrescentar servidores de processamento
Problemas:
I
I
I
Vários servidores para instalar, atualizar, . . .
Sincronia entre os servidores (software, configs, . . . )
Aumento dos custos de gerenciamento
Solução: aumentar em um nı́vel o modelo terminal-servidor
I
I
Transformar servidores em ”super-terminais”
Compartilhar a mesma raiz para todos os servidores
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
21 / 37
E quando um servidor não é suficiente?
Separar servidor de disco (/home), email
Acrescentar servidores de processamento
Problemas:
I
I
I
Vários servidores para instalar, atualizar, . . .
Sincronia entre os servidores (software, configs, . . . )
Aumento dos custos de gerenciamento
Solução: aumentar em um nı́vel o modelo terminal-servidor
I
I
Transformar servidores em ”super-terminais”
Compartilhar a mesma raiz para todos os servidores
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
21 / 37
Servidores de Processamento sem Disco
Principais Dificuldades:
Espaço em disco para escrita (/var, /tmp, . . . )
Diferenças em configurações (/etc)
Alternativas:
Utilizar diversos pontos de montagem
I
I
I
montar alguns diretórios como RW
manter diretórios de configurações para cada servidor
alterações frequentes
Utilizar um Sistema de arquivos em camadas: AUFS
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
22 / 37
Servidores de Processamento sem Disco
Principais Dificuldades:
Espaço em disco para escrita (/var, /tmp, . . . )
Diferenças em configurações (/etc)
Alternativas:
Utilizar diversos pontos de montagem
I
I
I
montar alguns diretórios como RW
manter diretórios de configurações para cada servidor
alterações frequentes
Utilizar um Sistema de arquivos em camadas: AUFS
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
22 / 37
Servidores de Processamento sem Disco
Principais Dificuldades:
Espaço em disco para escrita (/var, /tmp, . . . )
Diferenças em configurações (/etc)
Alternativas:
Utilizar diversos pontos de montagem
I
I
I
montar alguns diretórios como RW
manter diretórios de configurações para cada servidor
alterações frequentes
Utilizar um Sistema de arquivos em camadas: AUFS
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
22 / 37
AUFS: Another UnionFS
Sistema de arquivos em camadas
Instalado a partir de um patch no kernel
Só é necessário na máquina que vai montar o sistema de arquivos
Permite a formação de uma pilha de sistemas de arquivos
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
23 / 37
Servidores de Processamento sem Disco + AUFS
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
24 / 37
Sistema Terminal-Servidor em Cascata
Vantagens:
Novos servidores são facilmente acrescentados
Em caso de invasão, basta remover diretório RW
Terminais podem utilizar mesmo modelo (mini-servidores)
Nem tudo são flores:
Atualizações nos diretórios inferiores causa problemas
Ainda é instável. Não recomendável para alta disponibilidade
crontab dos usuários fica no diretório RW
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
25 / 37
Sistema Terminal-Servidor em Cascata
Vantagens:
Novos servidores são facilmente acrescentados
Em caso de invasão, basta remover diretório RW
Terminais podem utilizar mesmo modelo (mini-servidores)
Nem tudo são flores:
Atualizações nos diretórios inferiores causa problemas
Ainda é instável. Não recomendável para alta disponibilidade
crontab dos usuários fica no diretório RW
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
25 / 37
Sistema Terminal-Servidor em Cascata
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
26 / 37
E sempre surgem novas demandas . . .
Servidores 64 bits e 32 bits
Diferentes versões de um mesmo software
Usuários necessitam de privilégios de root
Máquinas para testes
Muitos serviços dependendo dos mesmos recursos
Cada usuário quer uma distribuição
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
27 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
28 / 37
Virtualização de Servidores: VServer
Cria servidores virtuais
Instalado a partir de um patch no kernel e de aplicativos
Kernel roda na máquina base, e um só, mas isola vservers
O servidor virtual:
I
I
I
I
Atua em contexto de processos e memória independentes
Possui uma raiz própria
Usuário root isolado em cada vserver
Não possui /proc ou /dev
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
29 / 37
Virtualização de Servidores: VServer
Cria servidores virtuais
Instalado a partir de um patch no kernel e de aplicativos
Kernel roda na máquina base, e um só, mas isola vservers
O servidor virtual:
I
I
I
I
Atua em contexto de processos e memória independentes
Possui uma raiz própria
Usuário root isolado em cada vserver
Não possui /proc ou /dev
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
29 / 37
Virtualização de Servidores: VServer
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
30 / 37
Exemplos de uso da virtualização
Servidor WEB:
I
I
9TB de disco, 32GB RAM, 2 processadores Dual-core
Mirror, Biblioteca Digital, Revistas Eletrônicas
Servidor de Desenvolvimento:
I
I
2TB de disco, 32GB RAM, 2 processadores Dual-core
GIT, Servidor de xadrez, Wiki, Jabber
Cluster para Computação Cientı́fica
Laboratórios de ensino
Servidor de boot: virtualizando . . .
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
31 / 37
Exemplos de uso da virtualização
Servidor WEB:
I
I
9TB de disco, 32GB RAM, 2 processadores Dual-core
Mirror, Biblioteca Digital, Revistas Eletrônicas
Servidor de Desenvolvimento:
I
I
2TB de disco, 32GB RAM, 2 processadores Dual-core
GIT, Servidor de xadrez, Wiki, Jabber
Cluster para Computação Cientı́fica
Laboratórios de ensino
Servidor de boot: virtualizando . . .
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
31 / 37
Um vserver por computador
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
32 / 37
Múltiplos vserver por computador
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
33 / 37
Sumário
1
Apresentação
2
Breve Histórico do GNU/Linux
3
GNU/Linux no Computador Pessoal
4
Compartilhamento do Computador
5
O Sistema Terminal-Servidor
6
Aumentando a Escala
7
Servidores Virtuais
8
Conclusão
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
34 / 37
Conclusão
Investir no conhecimento do sistema operacional GNU/Linux
Ajustar a estrutura do sistema às necessidades
Reduzir a quantidade de máquinas com disco
Maximizar compartilhamento de configurações
Construir particularidades sobre generalidades
Isolar serviços independentes
Virtualização de processamento
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
35 / 37
Algumas Referências
http://www.c3sl.ufpr.br
http://www.kernel.org
http://aufs.sourceforge.net
http://linux-vserver.org
http://fuse.sourceforge.net/sshfs.html
http://www.ltsp.org/
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
36 / 37
Contato
Daniel Weingaertner
[email protected]
www.inf.ufpr.br/danielw
Daniel Weingaertner (C3SL-UFPR)
Gerenciamento de sistemas GNU/Linux
DCC/Udesc
37 / 37
Download

Gerenciamento de sistemas GNU/Linux: do computador pessoal à