FUG-BR / Grupo Brasileiro de Usuarios de FreeBSD - Jail Resource Limits - Limitando uso de CPU e Memria
 
08.07  
Inicio arrow Artigos arrow Jail Resource Limits - Limitando uso de CPU e Memria
Principal
Inicio
Noticias
Artigos
Regras da Lista
Assinar a Lista
Histrico da Lista
Forum
Keyserver
PC-BSD: Artigos
PC-BSD: Notcias
Galeria de Imagens
Contador Usurios FUG
FUGs Estaduais
Downloads
Enquetes
FAQ
Resumo do Site
Links
Pesquisar
Contato
Sobre a FUG-BR
RSS / Twitter
-
DOC-BR (FUG BR)
Introduo
Projeto DOC-BR
Handbook
FAQ Oficial
-
+ Noticias
Alertas de Seguranca
Alertas em Ports
BSD em Geral
DaemonNews (Ingles)
MyFreeBSD
Todas Categorias
-
Login
Nome de Usurio

Senha

Lembrar login
Esqueceu sua senha?
Sem conta? Crie uma


Jail Resource Limits - Limitando uso de CPU e Memria PDF Imprimir E-mail
Por Marcos Francisco Alcntara Silva   
24/01/2007

    As jails foram introduzidas no FreeBSD na versão 4.X, a partir daí esse recurso que permite encarcerar userlands vem evoluindo constantemente e sendo assim o estudante da universidade de Berkeley, Chris Jones com o patrocínio do projetoGoogle Code of Summer, adicionou suporte a duas novas funcionalidades, a limitação de uso de CPU e de memória.

    Com isto podemos de forma racional definir quanto cada jail poderá consumir do sistema anfitrião. Este recurso também pode ser usado para prevenir que alguma jail com processos mau educados monopolize toda memória e CPU disponível, evitando assim que o sistema fique lento no momento em que outros usuários e ou jails estiverem rodando processos.

    O código em questão é um conjunto de patches que esta preparado para a RELENG_6 e esse recurso não esta disponível na arvore da atual versão que no presente momento é a 6.2-RELEASE, mas Crhis esta aplicando este recurso na arvore do CURRENT, esperamos ansiosos pela RELENG_7.]:-)


Conhecimentos:

- Criação e configuração de jails

- Atualização do sistema a partir dos fontes

- Compilação de Kernel e aplicação de patchs

- Ajustes em variavéis de Kernel (sysctl)


Para quem nunca implementou Jails, segue link para tanto:

 http://www.myfreebsd.com.br/modules.php?name=Sections&op=viewarticle&artid=29

  

1. Faça o download dos patches para implementer as Jails Resource Limits

usuario# cd ~

usuario# fetch http://www.ualberta.ca/~cdjones/cdjones_jail_soc2006.tgz

usuario# fetch http://www.ualberta.ca/~cdjones/cdjones_jail_soc2006.patch


2. Após o download do tarball e patch esteja seguro que /usr/src esteja na RELENG_6 e atualizado.

root# cvsup -g -L 2 /etc/stable-supfile


3. Descompacte o arquivo tarball em algum lugar seguro, pode ser um subdiretório no seu diretório home.

usuario# cd ~

usuario# tar -xvzf cdjones_jail_soc2006.tgz

 

4. Faça o backup do source do sistema antes de aplicar os patches.

root# cd /usr

root# tar -cvpzf src_release-6.2.tar.gz


5. Crie um link para compilação do binário jtune

root# ln -s /root/soc2006/src/usr.sbin/jtune /usr/src/usr.sbin/jtune


6. Atualizando as system calls:

root# cd /usr/src/sys/kern

root# sh makesyscalls.sh syscalls.master


7. Aplicando o patch no source do sistema para habilitar o JailResourceLimits

root# cd ~

root# cp cdjones_jail_soc2006.patch /usr/src

root# cd /usr/src

root# patch -p1 < cdjones_jail_soc2006.patch


8. Recompilando o mundo e instalando um novo kernel

root# cd /usr/src

root# make world -DHISTORICAL_MAKE_WORLD

root# cd sys/i386/conf

root# config GENERIC

root# cd ../compile/GENERIC

root# make cleandepend && make depend && make -j4 && make install

root# shutdown -r now


root# mergemaster -a


Fazer a fusão dos arquivos que estão no temproot para o diretório de configuração “/etc”

root# cd /var/tmp/temproot/etc


9. Compilando os novos binaries jail, jls, e jtune.

root# cd /usr/src/usr.sbin/jail

root# make obj

root# make

root# cd /usr/src/usr.sbin/jls

root# make obj

root# make

root# cd /usr/src/usr.sbin/jtune

root# make obj

root# make

 

10. Instale os binários criados sob /usr/obj para dentro de /usr/sbin.

root# cd /usr/obj/src/usr.sbin/jail

root# cp jail /usr/sbin

root# cp jail.8.tgz /usr/share/man/man8/

root# cd ../jls

root# cp jls /usb/sbin

root# cp jls.8.tgz /usr/share/man/man8/

root# cd ../jtune

root# cp jtune /usr/sbin

root# cp jtune.8.tgz /usr/share/man/man8/


11. Habilitando os recursos de limitação no Kernel

root# sysctl -w kern.sched.limit_jail_cpu=1

root# sysctl -w security.jail.limit_jail_memory=1

root# echo “kern.sched.limit_jail_cpu=1” >> /etc/sysctl.conf

root# echo “security.jail.limit_jail_memory=1” >> /etc/sysctl.conf


Pronto agora seu FreeBSD já esta com o recurso JailResourceLimits habilitado, agora é só se divertir.


12. Limitando recursos.

Para limitar os recursos das jails usamos o comando “jtune”

usuario# man jtune

 

Ex:

root# jtune -j <jail_id> -m <men_limit_MB>

root# jtune -j 1 -m 128

Para listar as configurações setadas

root# jtune -j <jail_id> -i

 

Autor: Marcos Francisco Alcântara Silva
Administrador de Sistema - *NIX
Email: Este endereo de e-mail est sendo protegido de spam, voc precisa de Javascript habilitado para v-lo
FUG-BR User    #248
Linux User #425822

Comentrios
Bom, mas foge do nivel do site.
Por Ari Cunha em 26/01/2007 13:49:12
A contribuicao eh quase boa. Quase, porque so serve pra usuarios avancados. Fora a introducao, o resto sao lista de comandos que podem ser obtidos no Wiki do Summer of Code do FreeBSD.org. Nao entenda isso como uma critica ruim, mas o usuario avancado ja encontraria isso sozinho - provelmente como voce o fez. Mas o grande tchan eh estar em portugues, entao mereceria mais detalhamento do que esta acontecendo. Por exemplo voce usa as variaveis sysctl sem sequer mencionar pra que elas servem. A contribuicao eh boa Marcos, mas pode melhorar, muito, se voce seguir o padrao do site, com introducoes, pequenos esclarecimentos e depois referencias para mais informacoes. 
 
Espero que voce contribua mais no futuro, eh a primeira vez que vejo um artigo seu. Eu pessoalmente gostei, mas minhas observacoes sao pensando no usuario mais leigo por exemplo.
Obrigado
Por Marcos Francisco Alcntara Sil em 26/01/2007 20:59:21
assim que posso aprender, vou trabalhar melhor os prximos artigos e tentar enquadrar eles conforme as orientaes do site e com certeza vou lembrar de sua crtica. 
 
Valeu.
Muito bom.
Por JP - 0v3rm1nd em 27/01/2007 01:26:06
Se melhorar, ainda melhor (!!!). Mas foi util, ja testei aqui. Isso estara no 7.0 neh?Sera que tem MFC antes?
IP JAIL
Por Alex em 15/03/2007 10:00:28
Ol, 
Fera o Artigo, no encontrava essas informaes :D. 
Aproveitando, alguem sabe como adicionar um segundo ip em um Jail, um alias?. 
 
Abraos, 
Alex
Conflito de patch's
Por neo em 24/04/2007 16:59:38
estou com um source/kernel patcheado com o Patch do PJD de multiplos IP's para Jail... e nem instalando um antes ou o outro antes ... ou mesmo usando os dois ao mesmo tempo... d erro... ser que derepente podemos trocar uma idia pra tentarmos arrumar... j tem um outro amigo meu trabalhando nisso tambm. 
 
abrao qq coisa entra em contato em PVT thiagojruiz at gmail dot com
Conflito de patch's
Por neo em 24/04/2007 17:00:19
estou com um source/kernel patcheado com o Patch do PJD de multiplos IP's para Jail... e nem instalando um antes ou o outro antes ... ou mesmo usando os dois ao mesmo tempo... d erro... ser que derepente podemos trocar uma idia pra tentarmos arrumar... j tem um outro amigo meu trabalhando nisso tambm. 
 
abrao qq coisa entra em contato em PVT thiagojruiz at gmail dot com
zMeISObQKpAOYuNxE
Por Kris em 17/09/2011 15:06:10
Just cause it's simple doesn't mean it's not super hepufll.


Comente!*
Nome:
E-mail
Homepage
Ttulo:
Comentrio:

Cdigo:* Code

ltima Atualizao ( 26/01/2007 )
 
< Anterior   Prximo >
FUG-BR - Espalhando BSD
Dicas Rpidas:
 






Wallpapers
Sua Opiniao
Online:
Ns temos 26 visitantes online


Devil Store - Sua loja BSD
FreeBSD Brasil LTDA

FUG-BR: Desde 1999, espalhando BSD pelo Brasil.