FreeBSD jail

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

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

Comparações

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

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

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

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

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

  • «Implementando Jails(Artigo em português)» 
  • «Jails: Encarcerar Userlands em FreeBSD(pdf)» (PDF) 
  • Personalizando Jail com JailTools (em inglês). en.
  • «FreeBSD Handbook» (em inglês) 
  • v
  • d
  • e
Projeto FreeBSD
FreeBSD
  • FreeBSD Core Team
  • Documentação FreeBSD
  • FreeBSD Foundation
  • História
Subsistemas Notáveis
  • FreeBSD jail
  • Sysinstall
  • busdma
  • GEOM
  • ipfw
  • OpenPAM
  • pf
  • Soft updates
  • ULE scheduler
  • bhyve
  • Highly Available STorage
  • portsnap
  • kqueue
  • geom raid5
  • geli
  • moused
  • Vinum volume manager
Pessoas
  • Jordan Hubbard
  • Marshall Kirk McKusick
  • Poul-Henning Kamp
  • Ben Laurie
  • Sam Leffler
  • Diomidis Spinellis
  • Robert Watson
  • Dru Lavigne
Derivados
código aberto
proprietário
  • v
  • d
  • e
Software de virtualização
Virtualização de hardware
(hipervisores)
Nativo
  • Adeos
  • CP/CMS
  • Hyper-V
  • KVM
    • Red Hat Enterprise Virtualization
  • LDoms / Oracle VM Server for SPARC
  • Logical Partition (LPAR)
  • LynxSecure
  • PikeOS
  • Proxmox VE
  • SIMMON
  • VMware ESXi
    • VMware vSphere
    • vCloud
  • VMware Infrastructure
  • Xen
    • Oracle VM Server for x86
    • XenClient
  • XtratuM
  • z/VM
Hospedado
Especializado
  • Basilisk II
  • bhyve
  • Bochs
  • Cooperative Linux
  • DOSBox
  • DOSEMU
  • PCem
  • PikeOS
  • SheepShaver
  • SIMH
  • Windows on Windows
    • Virtual DOS machine
  • Win4Lin
Independente
Ferramentas
  • Ganeti
  • oVirt
  • System Center Virtual Machine Manager
  • Virtual Machine Manager
Virtualização em nível
de sistema operacional
Contêineres de SO
  • FreeBSD jail
  • iCore Virtual Accounts
  • Linux-VServer
  • lmctfy
  • LXC
  • OpenVZ
  • Solaris Containers
  • Workload Partitions
Contêineres de Aplicativo
  • Docker
  • rkt
Recursos do núcleo
  • cgroups
  • Namespaces
  • seccomp
Orquestração
Virtualização de desktops
Virtualização de aplicativos
Virtualização de rede
  • Distributed Overlay Virtual Ethernet (DOVE)
  • NVGRE
  • Open vSwitch
  • Virtual security switch
  • Virtual Extensible LAN (VXLAN)