
Em 2003 um hipervisor saiu do Computer Laboratory de Cambridge e mudou o jeito de fatiar um servidor. Xen — tipo 1, GPLv2, paravirtualização — virou o chão do Amazon EC2, do Rackspace e, depois, do Qubes OS. Em 2026 o Xen Project 4.21 ainda é o núcleo do XenServer, do XCP-ng e de uma fatia do ARM embarcado. A história é a de um paper da SOSP que virou nuvem.
XenoServers, 1999
Ian Pratt, lecturer no Computer Laboratory, liderou o projeto XenoServers: “computação pública de área ampla” — qualquer um rodando qualquer código em qualquer máquina, com cobrança por recurso. O nome vem do grego xenos, hóspede. Anil Madhavapeddy, então doutorando, conta o mito de origem: uma aposta de fim de semana se Keir Fraser conseguiria bootar vários kernels Linux no mesmo hardware. Conseguiu. O relatório técnico UCAM-CL-TR-553 (janeiro de 2003) descreve o desenho: vários sistemas convidados, isolamento, QoS, overhead de poucos por cento.
Em 2–3 de outubro de 2003 saiu o primeiro release estável, com Linux 2.4.22 como convidado. A SOSP’03 publicou Xen and the Art of Virtualization (Barham, Dragovic, Fraser, Hand, Harris, Ho, Kotsovinos, Madhavapeddy, Neugebauer, Pratt, Warfield). Microsoft Research chegou a portar Windows XP para Xen sob licença acadêmica — o código não podia ser publicado, mas o paper cita a experiência.
Paravirtualização, dom0 e o cloud
Xen não finge um PC inteiro. O convidado sabe que está virtualizado e fala com o hipervisor por hypercall. Isso é paravirtualização (PV): rápido, mas exige patch no kernel. O domínio privilegiado, dom0, segura os drivers e acorda os outros (domU). Quando a Intel soltou VT-x (final de 2005), o Xen 3.0 foi o primeiro hipervisor com suporte — HVM para Windows sem patch. Mais tarde veio o PVH, o meio-termo.
Amazon EC2 entrou em produção em 2006 em cima de Xen. Ficou assim até novembro de 2017, quando a AWS migrou para Nitro (KVM). Rackspace, Linode, SoftLayer: a primeira geração de nuvem pública foi Xen. Em 2014 um bug no emulador x2APIC forçou reboot em massa na EC2 — o preço de ser o hipervisor da internet.
XenSource e a Citrix
Em 2005 Pratt, Fraser, Hand e o CEO Nick Gault fundaram a XenSource para empacotar o hipervisor como produto. O resultado comercial é o que viraria XenServer. Em 22 de outubro de 2007 a Citrix comprou a XenSource por US$ 500 milhões. O código do hipervisor continuou GPLv2; o produto ganhou console, pool, HA e o toolstack XAPI.
Linux Foundation, 2013
Em 15 de abril de 2013, nos dez anos do primeiro release, o Xen Project foi para a Linux Foundation como Collaborative Project. Membros na época: Amazon, AMD, Cisco, Citrix, Google, Intel, Oracle, Samsung, Verizon. A marca “Xen Project” separa o hipervisor livre do “Xen” que a Citrix usava em XenApp e XenDesktop. O site passou a xenproject.org. Licença: GPLv2. Governança: meritocracia.
O que o Xen é hoje
O 4.21 saiu em 19 de novembro de 2025. Arquiteturas: x86, ARM, RISC-V, PowerPC. Qubes OS usa Xen para isolar cada aplicativo num domínio. O XAPI — toolstack enterprise — alimenta Citrix/XenServer, XCP-ng e Magrana. Drivers PV de Windows o próprio projeto mantém.
No Linux o KVM ganhou o kernel e o desktop. Xen ficou no tipo 1 de verdade: pequeno, auditável, o chão de quem precisa de isolamento forte. A linhagem Cambridge → XenSource → Citrix → Foundation está em A história do XenServer e A história do XCP. O cubo do desktop, outro ramo, é o VirtualBox. O kernel em volta: Linux faz 35 anos.
Colocando a mão: Xen no seu Linux
A história é boa, mas o Xen tem fama de difícil — e boa parte dessa fama vem de gente que nunca passou do primeiro parágrafo. Instalar é mais simples do que parece.
O caminho manual, em Debian ou Ubuntu
sudo apt update
sudo apt install -y xen-system-amd64 xen-tools
# o GRUB precisa passar a bootar o hipervisor ANTES do kernel
sudo sed -i 's/^GRUB_DEFAULT=.*/GRUB_DEFAULT="Xen 4.21-amd64"/' /etc/default/grub
sudo update-grub
sudo reboot
Depois do boot, confira se você está de fato dentro do dom0 — o domínio privilegiado, e não no Linux normal:
sudo xl info | head -20
sudo xl list
Se o xl list mostrar Domain-0, o hipervisor está no comando e o seu Linux virou o domínio de controle. É a inversão mental que confunde quem vem do KVM: aqui o Linux não hospeda as VMs — ele é uma VM privilegiada, como as outras, só que com os drivers.
Um detalhe que evita dor de cabeça em máquina pequena: por padrão o dom0 pega toda a memória e vai devolvendo conforme os convidados sobem. Fixe a memória dele:
# /etc/default/grub.d/xen.cfg
GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=4096M,max:4096M dom0_max_vcpus=4 dom0_vcpus_pin"
Criando o primeiro convidado
O xen-tools monta uma VM Debian inteira num comando:
sudo xen-create-image
--hostname=teste
--memory=2gb --vcpus=2 --size=20gb
--dist=trixie --dhcp
--dir=/var/lib/xen/images
--pygrub
sudo xl create /etc/xen/teste.cfg
sudo xl console teste # Ctrl+] sai do console
Os comandos do dia a dia:
xl list # o que está rodando
xl top # o htop do hipervisor
xl shutdown teste # desligar com educação
xl destroy teste # puxar o cabo
xl mem-set teste 4096 # mudar memória com a VM ligada
xl vcpu-set teste 4 # mudar CPU com a VM ligada
xl save teste /tmp/t.save # congelar em disco
xl restore /tmp/t.save # descongelar
Ajustar memória e CPU com a máquina ligada é um dos truques que o Xen faz melhor que a concorrência — herança direta do desenho de paravirtualização.
O caminho pronto: XCP-ng
Se o objetivo é um servidor de virtualização de verdade, e não estudo, ninguém monta o Xen na mão. Instala-se o XCP-ng — uma distribuição inteira construída em volta do Xen com o toolstack XAPI, que dá interface web, pool de hosts, migração ao vivo e backup. É o equivalente livre ao que a Citrix vende, e a instalação é um ISO com next, next, finish.
Xen ou KVM: quando cada um faz sentido
| Xen | KVM | |
|---|---|---|
| Tipo | 1 — roda direto no metal | 2 — é um módulo do kernel Linux |
| Superfície de ataque | Hipervisor pequeno e auditável | O kernel Linux inteiro |
| Instalación | Exige boot pelo hipervisor | Já está no seu kernel |
| Ecossistema | XCP-ng, XenServer, Qubes | Proxmox, oVirt, libvirt, todo o resto |
| Onde brilha | Isolamento forte, ARM embarcado, segurança | Uso geral, desktop, a maioria dos casos |
A resposta honesta para 2026: para a maioria, KVM — está no kernel, o ferramental é maior e o Proxmox resolve tudo. O Xen ganha quando o requisito é isolamento sério: por isso o Qubes OS o escolheu para separar cada aplicativo em um domínio próprio, e por isso ele sobrevive no ARM embarcado, onde um hipervisor de poucos megabytes vale mais que um kernel inteiro.
Linha do tempo
- 1999 — Projeto XenoServers no Computer Laboratory de Cambridge (Ian Pratt)
- jan/2003 — Relatório técnico UCAM-CL-TR-553 descreve o desenho
- out/2003 — Primeiro release estável; paper Xen and the Art of Virtualization na SOSP’03
- 2005 — Fundação da XenSource; Xen 3.0, primeiro hipervisor com VT-x (HVM)
- 2006 — Amazon EC2 entra em produção sobre Xen
- 22/out/2007 — Citrix compra a XenSource (US$ 500 milhões)
- 15/abr/2013 — Xen Project migra para a Linux Foundation
- 2017 — AWS migra do Xen para o Nitro (KVM)
- 19/nov/2025 — Xen Project 4.21 (x86, ARM, RISC-V, PowerPC)
De uma aposta de fim de semana em Cambridge ao 4.21: o Xen ainda é o hipervisor que cabe entre o metal e o sistema — e recusa ser só mais um módulo do kernel.