Your SlideShare is downloading. ×
0
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Avaliação das distribuições Linux
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Avaliação das distribuições Linux

792

Published on

Avaliação das Distribuições Linux para Servidores Itautec / Device Drivers, módulos do kernel e rede - Prof. Mauro Tapajós Santos durante o projeto de pesquisa Cesmic na Universidade Católica de …

Avaliação das Distribuições Linux para Servidores Itautec / Device Drivers, módulos do kernel e rede - Prof. Mauro Tapajós Santos durante o projeto de pesquisa Cesmic na Universidade Católica de Brasília

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
792
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Avaliação das Distribuições Linux para Servidores Itautec Prof. Mauro Tapajós Device Drivers , Módulos e Rede no Linux
  • 2. Como Avaliar as Características do Suporte à Hardware do Linux?
    • Levantamento do que existe em termos de hardware no sistema (excluindo dispositivos de I/O)
    • 3. O que é reconhecido por default pelo Linux e o grau de maturidade do driver (compilado no kernel ou em módulo)
    • 4. O que não é suportado por default na instalação básica”
    • 5. O que exige configurações ou software extra para funcionar e qual o nível de dificuldade
  • 6. Como Avaliar as Características do Suporte à Hardware do Linux?
    • Necessidade de algum conhecimento da arquitetura específica da máquina
    • 7. Necessidade de saber como reconhecer o hardware dentro do SO
    • 8. Saber como são criados os device drivers e como o SO acessa os dispositivos na máquina
    • 9. Saber com detalhes como funciona a carga de módulos para device drivers e seus comandos
    • 10. Analisar ferramentas de benchmarking para os itens de hardware em questão para testes com resultados numéricos (hardware de rede)
  • 11. Dispositivos no Linux
  • 12. Dispositivos e o Linux
  • 13. Reconhecimento de Dispositivos
    • Lista de major numbers para dispositivos
    /usr/src/linux/Documentation/devices.txt
    • Implementação das definições de major numbers no kernel
    /usr/src/linux/include/linux/major.h
    • Dispositivos (caracter e bloco) reconhecidos pelo SO
    /proc/devices
    • Dispositivos PCI reconhecidos na carga do kernel
    /proc/pci
  • 14. Módulos
    • Reconhecimento dos módulos carregados
    Lsmod ou /proc/modules
    • Informações sobre módulos existentes
    modinfo
    • Reconhecimento dos módulos existentes no sistema
    Análise da compilação do kernel e /usr/src/linux/Documentation
    • Módulos no sistema
    /lib/modules/kernel
    • Dependências de módulos no sistema
    /lib/modules/kernel/modules.dep
  • 15. Reconhecimento de Dispositivos
    • Major numbers e e Minor numbers
    • 16. Drivers para dispositivos
      • Analisar caso a caso cada dispositivo
      • 17. Verificar no fabricante
      • 18. Caso não haja suporte do fabricante, procurar driver na Internet para o equipamento (normalmente pelo chipset usado)
  • 19. Interrupções de Dispositivos No Linux se pode ter estatísticas de interrupções enviadas por CPU (/proc/interrupts) e por interrupção (/proc/stat)
  • 20. Foco: Dispositivos de Rede
    • Objetivo: avaliar o suporte de rede das distribuições
    • 21. Itens de hardware para avaliação na máquina:
      • Interface Fast Ethernet OnBoard Intel
      • 22. Interface Gigabit Ethernet OnBoard Intel
      • 23. Interface Wireless LAN PCI Intel
    • Entendimento de implementação de dispositivos de rede no Linux – não são tratados como os dispositivos de bloco ou caracter
    • 24. O suporte a networking está todo no kernel e device drivers normalmente estão em módulos
  • 25. Procedimento Para cada distribuição Linux:
    • Levantar a identificação dos itens de hardware relacionados no sistema (inventário completo do servidor)
    • 26. Coleta das informações relacionadas com módulos, device drivers e itens de hardware (especificamente interfaces de rede, mas o que for aprendido aqui servirá para praticamente qualquer hardware no sistema)
    • 27. Levantar os drivers para os itens de hardware de rede necessários no linux, suas versões e se estão ou não configurados. Encontrar os mesmos caso não estejam disponíveis na distribuição e proceder a instalação se for o caso.
    • 28. Rodar ferramentas de validação do ambiente ( ltp )
    • 29. Rodar testes de benchmarking relacionados com performance de rede (NetPIPE)
    • 30. Variar os contextos dos testes de rede tentando analisar a influência de outras variáveis (quantidade de memória, número de processadores, módulo ou parte do kernel)
    • 31. Realizar instalação de um dispositivo novo sem suporte (driver) linux do fabricante
    • 32. Rodar compilações de um kernel básico, registrando o tempo necessário
  • 33. Testes
    • Validação – LTP ( Linux Test Project )
      • Testes OK ou NOK
    • Benchmarking
      • Necessidade de pesquisa e entendimento de Ferramentas e o que fazem
      • 34. Geração de números para comparação
      • 35. A questão dos padrões
  • 36. Testes de Compilação de Kernel
    • Métrica: Tempo de compilação de um kernel
    • 37. Teste de aplicação básico
    • 38. Características
      • Não mascara itens como a L2 como nos testes com pouca carga
      • 39. Muito I/O
      • 40. Comportamento de aplicação pesada
    • Realizar em runlevel 1 e 3 para verificar influências dos serviços rodando na máquina
  • 41. Padrão de Testes no Linux
    • O sistema Linux sempre se apresenta em configurações particulares de hardware, versão, kernel, patches, e distribuição
    • 42. Para estes testes usamos ferramentas e metodologias comuns e reconhecidas no mundo do Linux
    • 43. Não existe padrão absoluto mas os valores relativos encontrados podem mostrar as diferenças entre distribuições, desde que submetidos aos mesmos procedimentos de teste
  • 44. Linux Standard Base
    • Projeto de compatibilização dos aspectos das distribuição Linux, de forma criar um padrão para aplicações que rodarão em qualquer distribuição
    • 45. Oferecem aplicações compatíveis LSB para avaliação de distribuições candidatas
    • 46. Baterias de testes do ambiente para suportar aplicações Linux comuns (Apache, etc)
  • 47. Linux Test Project Coleção de testes específicos de determinados aspectos
  • 51. Benchmarking - Roteiro
    • Trata-se de mensurar aspectos definidos de um sistema computacional para fins de comparação
    • 52. Não deve levar em conta parâmetros subjetivos ou como reputação do distribuidor ou marketing
    • 53. Identificar os objetivos dos testes
    • 54. Descrição completa do ambiente e procedimentos
    • 55. Isolar uma variável
    • 56. Verificar os resultados – embasá-los
    • 57. Se útil, compartilhar os resultados na comunidade Linux
    • 58. Não proceder posteriores comparações com outros OS’s
  • 59. Tipos de Benchmarking
    • Sintéticos
      • Avaliação de um componente específico do sistema computacional. Não dão, em conjunto, uma medida do desempenho real de um sistema
      • 60. Exemplo: Sequência de instruções FPU (não é o caso típico em aplicações reais)
    • De aplicação
      • Avaliação da plataforma apliçação+SO+Hardware
      • 61. Específicos para um tipo de aplicação
    • Low-level – testará diretamente algum item de hardware (sempre sintéticos)
    • 62. High-level – testará o conjunto hardware, drivers e SO (podem ser sintéticos ou de aplicação)
  • 63. Algumas Ferramentas de Teste no Linux
  • 73. Ferramenta NetPIPE
    • Avalia o conjunto hardware de rede + driver + implementação da pilha de protocolos de rede
    • 74. Permite o teste de vários tipos de protocolos em rede (MPI, PVM, TCP)
    • 75. Uso de procedimento de envio de mensagens de taanhos variáveis
    • 76. No nosso caso somente o teste com TCP será feito para avaliar a performance da pilha TCP/IP pura implementada no sistema Linux
    • 77. Trabalha realizando uma série de testes ping-pong entre dois servidores usando mensagens de tamanho variável para revelar particularidades e limitantes, além de envio de dados em streaming
  • 78. Alterações nos Dispositivos
    • Objetivo: avaliar a dificuldade em se inserir, retirar ou alterar o conjunto de dispositivos na distribuição
    • Ativação de hardware que não foi configurado por default na instalação (Interface Giga Ethernet)
    • 79. Instalação de novo hardware (Placa wireless)
    • 80. Retirada de um processador
    • 81. Retirada/inserção de memória RAM no sistema
  • 82. Servidores Sendo Testados 14 - Infoserver 3251 – 2 x Xeon 03 - Infoserver 3030 – 2 x PIII 07 - Infoserver 6480 – 2 x Itanium 08 - Infoserver 5451 – 2 x Xeon
  • 83. Hardware de Rede
    • Infoserver 3030:
      • Ethernet controller Intel Corp. 82557/8/9 [Ethernet Pro 100] - onboard
      • 84. Driver: eepro100
    • Infoserver 5451
      • Intel 82557/8/9 Ethernet PRO 100 - onboard
      • 85. Driver: e100
      • 86. Intel 82544GC Gigabit Ethernet Controller - onboard
      • 87. Driver: e1000
    • Infoserver 3251
      • Dual-channel Intel® 10/100/1000 82546EB Gigabit Ethernet Controller - onboard
      • 88. Driver: e1000
  • 89. Hardware de Rede Interface LAN Wireless - Intel PRO/Wireless 2011B LAN PCI Adapter
      • Chipset: Harris Semiconductor Prism 2.5 Wavelan chipset
      • 90. Não existe driver linux fornecido pelo fabricante
      • 91. Já presente suporte no kernel 2.4.18 em módulo ou parte do kernel
      • 92. Configuração média a difícil (depende de conhecimentos de redes wireless e leitura da documentação do driver)
  • 93. Instalações do Linux Perfil técnico
      • Grande conhecimento de hardware (motherboards, controladoras de disco IDE e SCSI, interfaces de rede, etc)
      • 94. Experiência média a alta em linux
      • 95. Tarefa não-trivial
  • 96. Testes de Rede
    • Resultados de rede para o servidor Infoserver 3030 (conjunto completo de dados das 4 distribuições)
    • 97. NetPIPE 3.5 realizando o teste tcp
    • 98. Variação do contexto de teste
      • Buffers de transmissão e recebimento
      • 99. Memória
      • 100. Número de processadores
      • 101. Módulo / parte do kernel
    • Não serão analisados itens como:
  • 105. InfoServer 3030 – Throughput (Mbps) / Tamanho de Mensagem (bytes) - Modo Bloco - Buffers de 4086, 16384 e 32768 Bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 106. InfoServer 3030 – Assinatura de Rede ( Throughput (Mbps) / Tempo (seg)) - Modo Bloco - Buffer de 4086 Bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 107. InfoServer 3030 – Assinatura de Rede ( Throughput (Mbps) / Tempo (seg)) - Modo Bloco - Buffer de 16384 Bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 108. InfoServer 3030 – Assinatura de Rede ( Throughput (Mbps) / Tempo (seg)) - Modo Bloco - Buffer de 32768 Bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 109. InfoServer 3030 – Tamanho de Mensagem (bytes) / Tempo (seg)) - Modo Bloco - Buffer de 4086 Bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 110. InfoServer 3030 – Tamanho de Mensagem (bytes) / Tempo (seg)) - Modo Bloco - Buffer de 16384 Bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 111. InfoServer 3030 – Tamanho de Mensagem (bytes) / Tempo (seg)) - Modo Bloco - Buffer de 32768 Bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 112. InfoServer 3030 – Throughput (Mbps) / Tamanho de Mensagem (bytes) - Modo Streaming – Buffers de 4086, 16384 e 65535 bytes Dispositivo de rede: Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100]
  • 113. Teste Compilação de Kernel
    • Dão idéia de forma superficial do comportamento de aplicações no sistema
    • 114. Tempo medido:
      • make bzImage – geração do kernel
      • 115. make modules – geração dos módulos do kernel (maior parte)
    • Ainda não concluídos
  • 116. Testes de Validação
    • É praticamente impossível avaliar todos os itens levando em conta a diversidade dos sistemas Linux
    • 117. Conjunto conhecido de ferramentas para averiguação de aspectos de sistemas Linux (Linux Test Project)
    • 118. Itens que não passarem são checados
  • 119. Análises Preliminares
    • Suporte de rede das distribuições (drivers)
    • 120. Efeito dos buffers
    • 121. Throughput máximo
    • 122. Efeito de mudança de memória e número de processadores – a ver
    • 123. Efeitos da operação dos drivers como módulos ou como parte do kernel – a ver
  • 124. Observações
    • Testes com configurações otimizadas?
    • Dificuldades
      • Laboratório (energia, espaço, rede, etc)
      • 125. Máquinas de rack (demora, fixas nos racks, etc)
  • 126. Sugestões para Trabalho Posterior
    • Testes com NFS e servidores de rede
    • 127. Averiguação do suporte Linux para gerenciamento do servidor
    • 128. Averiguação do suporte default de cada distribuição para segurança do sistema
    • 129. A máquina implementa hardware para gerenciamento próprio: temperaturas, velocidades de ventiladores e carga nos BUSes (Chip Sahalee Baseboard Management Controller - BMC)
    • 130. Testes com aplicação
      • Serviços Web, MAIL, Java, SSL, etc
      • 131. DB
      • 132. software para Telco

×