Cgroups - Latinoware 2012

611 visualizações

Publicada em

Apresentacao de cgroups realziada no Latinoware 2012

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
611
No SlideShare
0
A partir de incorporações
0
Número de incorporações
152
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Cgroups - Latinoware 2012

  1. 1. cGroups – Particionamento de CPUs Raul da Silva Leite – [rleite@redhat.com] Arquiteto de Soluções Outubro 20121 RED HAT “cGroups” | LatinoWare 2012
  2. 2. $whoami[rleite@redhat.com]#Raul da Silva Leite “sp4wnr0ot”sp4wn.root@gmail.com@sp4wnr0ot2 RED HAT “cGroups” | LatinoWare 2012
  3. 3. Definições ● O nome "CGroups" vem de "control groups", ou em “pt-br” grupos de controle. ● Este recurso permite definir grupos de processos, tarefas e atribuir a cada grupo uma fatia dos recursos do sistema. ● Inicialmente desenvolvido por Rohit Seth em 2006 com o nome "Process Containers". ● Recurso presente desde a versão do kernel 2.6.24.3 RED HAT “cGroups” | LatinoWare 2012
  4. 4. Definições ● Um grupo de controle é uma coleção de processos que estão ligados pelo mesmo critério. Estes grupos podem ser hierárquicos, onde cada grupo herda limites de seus parentes. ● O kernel fornece acesso a múltiplos controladores (subsistemas) através da interface do “cGroups”.4 RED HAT “cGroups” | LatinoWare 2012
  5. 5. Por que cGroups ? ● Como gerenciar a evolução dos “hardwares(cpu, memória, disco)” atuais que crescem em grande escala ? ● CPUs com múltiplos núcleos -> “core++” ● Mais e mais memória5 RED HAT “cGroups” | LatinoWare 2012
  6. 6. Por que cGroups ? ● Gerenciamento de SLA ● Conhecendo os SLAs de aplicação, será possível reduzir a contenção de recursos, aumentando a previsibilidade no desempenho.6 RED HAT “cGroups” | LatinoWare 2012
  7. 7. cGroups7 RED HAT “cGroups” | LatinoWare 2012
  8. 8. cGroups: Estrutura ● Tipos de controladores ● CPU - Controle ● Memória - Controle ● Disco I/O – Controle ● Rede - Controle ● Configuração ● Utilitários e bibliotecas8 RED HAT “cGroups” | LatinoWare 2012
  9. 9. cGroups: Virtual FileSystem ● Acesso a “userspace” ● /cgroup é um diretório, que possui o mapeamento das listas de tarefas subdivididas por "cGroup" ● Modifição em "Kernel Syscalls" exit() fork() ++9 RED HAT “cGroups” | LatinoWare 2012
  10. 10. Controlador de CPU “CPUSet”10 RED HAT “cGroups” | LatinoWare 2012
  11. 11. cGroups: Gerenciamento dos Recursos 50% memória Finanças 50% cpu 25% memória Rede Vendas 25% cpu 25% memória RH 25% cpu11 RED HAT “cGroups” | LatinoWare 2012
  12. 12. cGroups: Funcionamento ● Os cGroups registra cada processo com um identificador que permite ou nega a ele acesso aos recursos definidos. ● Desta forma todo processo antes de acessar cada recurso, será avaliado pelo kernel quanto ao que pode acessar.12 RED HAT “cGroups” | LatinoWare 2012
  13. 13. cGroups: CPUSet Controle13 RED HAT “cGroups” | LatinoWare 2012
  14. 14. cGroups: CPUSet Controle14 RED HAT “cGroups” | LatinoWare 2012
  15. 15. cGroups: CPUSet Controle15 RED HAT “cGroups” | LatinoWare 2012
  16. 16. cGroups: CPUSet Controle16 RED HAT “cGroups” | LatinoWare 2012
  17. 17. Controlador de Memória “Memory Controller”17 RED HAT “cGroups” | LatinoWare 2012
  18. 18. cGroups: Controlador de Memória18 RED HAT “cGroups” | LatinoWare 2012
  19. 19. Apache exemplo de regra - “Memory Controller” ● Editar o arquivo "/etc/cgconfig.conf"group http {memory { memory.limit_in_bytes = 1024M; }} ● E por fim a configuração do Apache "/etc/sysconfig/httpd.conf" CGROUP_DAEMON="memory:/http"19 RED HAT “cGroups” | LatinoWare 2012
  20. 20. Configuração20 RED HAT “cGroups” | LatinoWare 2012
  21. 21. cGroups: Configuração ● Configuração sem persistência ● Utiliza interação direta do kernel com o filesystem virtual devido a estrutura do cGroups ● CLIs: cgexec, lscgroup, cgcreate e etc ● /cgroups/ ● Configuração persistente ● Preserva a configuração do sistema entre as reinicializações : ● cgconfig.conf & cgrules.conf21 RED HAT “cGroups” | LatinoWare 2012
  22. 22. Utilitários e Bibliotecas ● libcGroup ● Contém o conjunto de ferramentas responsável pela configuração e administração das funcionalidades do cGroups.22 RED HAT “cGroups” | LatinoWare 2012
  23. 23. Utilitários e Bibliotecas ● libcGroup ● Contém o conjunto de ferramentas responsável pela configuração e administração das funcionalidades do cGroups.23 RED HAT “cGroups” | LatinoWare 2012
  24. 24. Preparação da DEMOInstalação dos pacotes :# yum -y install libcgroup# chkconfig cgconfig on# service cgconfig restartConfiguração inicial :# cgcreate -a uid:gid -t uid:gid -g cpu,cpuset:/group1# cgcreate -a uid:gid -t uid:gid -g cpu,cpuset:/group224 RED HAT “cGroups” | LatinoWare 2012
  25. 25. 25 RED HAT “cGroups” | LatinoWare 2012
  26. 26. Referências ● RHEL6 Resource Management Guide ● kernel-doc*.rpm ● http://fedoraproject.org/wiki/Features/ControlGroups ● libcgroup*.src.rpm26 RED HAT “cGroups” | LatinoWare 2012
  27. 27. Obrigado / Dúvidas ? Raul Leite “sp4wnr0ot” [rleite@redhat.com] [sp4wn.root@gmail.com] [@sp4wnr0ot]27 RED HAT “cGroups” | LatinoWare 2012

×