Capítulo 17. Virtualização com o Xen

Sumário

17.1. Instalação do Xen
17.2. Instalação do domínio
17.3. Iniciando e controlando domínios do Xen com xm
17.4. Solução de problemas
17.5. Mais informações

Resumo

O Xen torna possível executar vários sistemas Linux em uma máquina física. O hardware para os sistemas diferentes é fornecido virtualmente. Este capítulo fornece uma visão geral das possibilidades e limitações desta tecnologia. As seções sobre instalação, configuração e execução do Xen completam essa introdução.

Máquinas virtuais comumente precisam emular o hardware que o sistema precisa. A desvantagem é que o hardware emulado é mais lento do que o silício real. O Xen tem uma abordagem diferente. Ele restringe a emulação para o mínimo de partes possível. Para obter isso, o Xen usa a paravirtualização. Esta é uma técnica que apresenta máquinas virtuais similarmente, mas não identicamente ao hardware subjacente. Portanto, os sistemas operacionais de host e convidados estão adaptados no nível do kernel. O espaço do usuário permanece inalterado. O Xen controla o hardware com um hypervisor e um convidado de controle, também chamado Domain-0. Eles fornecem todos os dispositivos de rede e blocos virtualizados necessários. Os sistemas convidados usam esses dispositivos de rede e blocos virtuais para executar o sistema e conectar-se a outros convidados ou à rede local. Quando várias máquinas físicas executando o Xen são configuradas de forma que os dispositivos e rede e os blocos virtuais estejam disponíveis, também é possível migrar um sistema convidado de um equipamento de hardware para outro enquanto ele está em execução. Originalmente o Xen foi desenvolvido para executar até 100 sistemas convidados em um computador, mas esse número depende bastante dos requisitos de sistema dos sistemas convidados em execução, especialmente o consumo de memória.

Para limitar o uso de CPU, o hypervisor do Xen oferece três programadores diferentes. O programador também pode ser mudado durante a execução do sistema convidado, tornando possível mudar a prioridade da execução do sistema convidado. Em um nível mais alto, migrar um convidado também pode ser usado para ajustar a energia do CPU disponível.

O sistema de virtualização do Xen também tem algumas desvantagens relativas ao hardware suportado. Vários drivers de código-fonte fechado, como os da Nvidia ou ATI, não funcionam como esperado. Nesses casos, você deve usar os drivers de código-fonte aberto se disponíveis, mesmo que eles não suportem as capacidades totais dos chips. Além disso, vários chips de WLAN e pontes Cardbus não são suportados durante o uso do Xen. Na versão 2, o Xen não suporta PAE (extensão de endereço físico), significando que ele não suporta mais do que 4 GB de memória. A ACPI não é suportada. O gerenciamento de energia e outros modos que dependem da ACPI não funcionam. Outra limitação do Xen é que atualmente não é possível somente inicializar um dispositivo de bloco. Para inicializar, é sempre necessário ter o kernel correto e o initrd disponível no Domain-0.

Figura 17.1. Visão geral do Xen

Visão geral do Xen

17.1. Instalação do Xen

O procedimento de instalação do Xen envolve a configuração de um domínio Domain-0 e a instalação de convidados do Xen. Primeiro, verifique se os pacotes necessários estão instalados. Esses são python, bridge-utils, xen, xen-tools, xen-tools-ioemu e um pacote kernel-xen. Ao selecionar o Xen durante a instalação, ele é adicionado à configuração do GRUB. Para outros casos, digite uma entrada em boot/grub/menu.lst. Essa entrada deve ser similar ao seguinte:

title Xen3
    kernel (hd0,0)/boot/xen.gz
    module (hd0,0)/boot/vmlinuz-xen <parameters>
    module (hd0,0)/boot/initrd-xen

Substitua (hd0,0) pela partição que mantém o seu diretório /boot. Consulte também o Capítulo 9, O Carregador de Boot. Substitua <parameters> pelos parâmetros normalmente usados para inicializar um kernel do Linux. Em seguida, reinicialize no modo Xen. Isso inicializa o hypervisor do Xen e um kernel do Linux levemente modificado como Domain-0 que executa a maioria do hardware. Além das exceções já mencionadas, tudo deve funcionar normalmente.