FreeBSD jail

Origem: Wikipédia, a enciclopédia livre.

O FreeBSD jail é um recurso de criação de múltiplos ambientes virtuais nativo do FreeBSD. Ele consiste basicamente na criação de um diretório, um endereço de rede e um hostname para essa máquina virtual, que pode ser acessada pela console o servidor onde está instalada ou por SSH.

Créditos[editar | editar código-fonte]

Jail foi desenvolvida por Poul-Henning Kamp para R&D Associates que concedeu os direitos para o FreeBSD.

Comparações[editar | editar código-fonte]

Diferentemente de outras soluções de ambientes virtuais como chroot ou Linux de modo usuário, porque apenas arquivos e processos estão dentro da Jail, mas o núcleo que está em funcionamento é um só, economizando processamento gerando apenas um uso maior de memória física (RAM) de acordo com os processos iniciados nas jails.

Recursos[editar | editar código-fonte]

As jails podem compartilhar espaço em disco ou ter espaço em disco limitado usando virtual nodes. O tráfego de rede entre jails e o sistema raiz pode ser controlado através de firewall interno (IPFW ou Packet Filter nativamente). Através do sysctl é possível desabilitar alguns recursos como o uso de sockets para conexão e acesso a informações do sistema.

Implementação[editar | editar código-fonte]

O processo de criação de uma jail é simples. Compilando o código-fonte com um "make buildworld" (processo demorado na primeira vez) todo o sistema é compilado e depois em poucos passos é possível criar uma nova jail. Isso pode ser feito em modo texto de modo bem fácil com o kit JailTools, do The Labs compatível até as versões 5.X e com o Ez-Jail para as versóes 6.X em diante. Além desses kits existe um módulo gráfico para ser usado juntamente ao Webmin que facilita o gerenciamento das jails, bastante útil quando se trata de muitas máquinas virtuais.

Por que usar[editar | editar código-fonte]

Existem diversos benefícios da virtualização, como fácil manipulação dos ambientes virtuais, melhor aproveitamento de capacidade de hardware, centralização de serviços em um número menor de máquinas para melhor gerenciamento sem que um serviço interfira no outro. Outras facilidades da jail é que ela possui sua própria base de usuários e senha, tendo seu próprio root e cada usuário de uma jail não consegue acesso em outras jails. É excelente para ambientes onde pessoas de outros setores ou organizações precisam do acesso de root. Também serve para criação de ambientes de teste já que uma jail não afeta outra, podendo ter ambientes de teste, homologação e produção em uma mesma máquina(hardware) porém em diferentes ambientes virtuais.

Melhoramentos[editar | editar código-fonte]

Existe um projeto, o Jail Resource Limits, desenvolvendo controle de uso de processamento e de memória para o Jail, que tornará ainda mais atraente uma jail por fornecer praticamente todas as facilidades de um ambiente em hardware dedicado.

Ligações externas[editar | editar código-fonte]