Xen Management · 4 min read · Oct 23, 2025

Gerenciando Xen Com Xen-Tools, Xen-Shell E Argo

Gerenciando Xen Com Xen-Tools, Xen-Shell E Argo

Versão 1.0
Autor: Falko Timme

Este guia descreve como instalar e usar xen-tools, xen-shell e Argo em um sistema Debian. Todos os três pacotes fornecem ferramentas úteis para a administração de máquinas virtuais Xen. Xen-tools é uma coleção de scripts Perl que permitem criar, atualizar e excluir facilmente domínios convidados Xen. O xen-shell fornece uma interface de linha de comando para proprietários de domínios Xen, para que possam gerenciar seus domínios Xen sem a ajuda do administrador do servidor. E com o Argo, você pode controlar domínios Xen através de uma interface web ou através de um menu na linha de comando. Todos os três pacotes foram desenvolvidos para sistemas Debian, mas podem funcionar em outras distribuições também.

Quero dizer primeiro que esta não é a única maneira de configurar um sistema assim. Existem muitas maneiras de alcançar esse objetivo, mas este é o caminho que eu sigo. Não dou nenhuma garantia de que isso funcionará para você!

1 Nota Preliminar

Assumo que você já instalou o Xen 3 em seu sistema Debian (não funciona com Xen 2!), por exemplo a partir das fontes como mostrado no capítulo 4 deste tutorial: https://www.howtoforge.com/debian_sarge_xen_3.0.3. Não consegui fazer o xen-tools funcionar com a instalação binária do Xen (mostrada no capítulo 5), mas pode funcionar para você. Mas o xen-tools funciona perfeitamente para mim em uma instalação do Xen a partir das fontes.

O nome do host do meu domínio Xen dom0 é server1.example.com neste tutorial, seu endereço IP é 192.168.0.100, e o gateway é 192.168.0.1. Quero armazenar meus domínios convidados no diretório /vserver/images. Esses valores podem ser diferentes para você.

Por favor, certifique-se de que você tem uma linha como esta em /etc/hosts:

vi /etc/hosts

| [...] 192.168.0.100 server1.example.com server1 [...] |

2 Xen-Tools

Embora existam pacotes Debian para xen-tools e xen-shell disponíveis em http://www.steve.org.uk/apt/, decidi instalar o xen-tools e o xen-shell a partir das fontes porque o pacote Debian do xen-tools escreveu arquivos de configuração do Xen inválidos para mim, o que não aconteceu quando usei as fontes.

Primeiro, instalamos alguns pré-requisitos para o xen-tools:

apt-get install libtext-template-perl perl-doc

Então instalamos o xen-tools assim:

cd /tmp  
wget http://xen-tools.org/software/xen-tools/xen-tools-2.7.tar.gz  
tar xvfz xen-tools-2.7.tar.gz  
cd xen-tools-2.7  
make install

Em seguida, editamos /etc/xen-tools/xen-tools.conf. Este arquivo contém os valores padrão que são usados pelo script xen-create-image, a menos que você especifique outros valores na linha de comando. Eu mudei os seguintes valores e deixei o resto inalterado:

vi /etc/xen-tools/xen-tools.conf

| [...] gateway = 192.168.0.1 netmask = 255.255.255.0 passwd = 1 kernel = /boot/vmlinuz-2.6-xenU #initrd = /boot/initrd.img-2.6.16-2-xen-686 mirror = http://ftp2.de.debian.org/debian/ [...] |

A linha passwd = 1 faz com que você possa especificar uma senha de root ao criar um novo domínio convidado. Na linha do kernel, você deve especificar o kernel domU que deseja usar para seus domínios convidados. Se seus domínios convidados não precisarem de um ramdisk para inicializar, comente a linha initrd (eu tive que fazer isso na minha instalação), caso contrário, especifique o ramdisk correto. Na linha do espelho, especifique um espelho Debian próximo a você.

Certifique-se de especificar um gateway e uma máscara de rede. Se você não fizer isso, e não especificar um gateway e uma máscara de rede na linha de comando ao usar xen-create-image, seus domínios convidados não terão rede, mesmo que você tenha especificado um endereço IP!

Agora vamos criar nosso primeiro domínio convidado, vm03.example.com, com o endereço IP 192.168.0.103:

xen-create-image --hostname=vm03.example.com --ip=192.168.0.103 \  
--netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \  
--dist=sarge --debootstrap

Os switches –netmask e –gateway são desnecessários aqui porque especificamos os mesmos detalhes em /etc/xen-tools/xen-tools.conf, mas isso mostra que você pode especificar as configurações desejadas tanto na linha de comando quanto em /etc/xen-tools/xen-tools.conf.

Este comando agora criará o domínio convidado vm03.example.com com Debian Sarge nele, usando a ferramenta de debootstrap do Debian. Isso levará alguns minutos, então seja paciente. Enquanto isso, você pode abrir outra janela de shell e executar

tail -f /var/log/xen-tools/vm03.example.com.log

para ver o que está acontecendo nos bastidores.

Após o novo domínio convidado ter sido criado, verifique /etc/xen/vm03.example.com.cfg. Ele deve agora parecer com isso (eu removi os comentários aqui):

vi /etc/xen/vm03.example.com.cfg

| kernel = '/boot/vmlinuz-2.6-xenU' memory = '128' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm03.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm03.example.com/swap.img,sda2,w' ] name = 'vm03.example.com' vif = [ 'ip=192.168.0.103' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |

Podemos iniciar nossa nova máquina virtual assim:

xm create -c /etc/xen/vm03.example.com.cfg

Com o comando xen-create-image, você pode especificar quase todas as configurações na linha de comando. Dê uma olhada em

man xen-create-image

para saber mais. Aqui está outro exemplo:

xen-create-image --size=2Gb --swap=128Mb --hostname=vm04.example.com \  
--ip=192.168.0.104 --netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \  
--dist=sarge --debootstrap --fs=ext3 --kernel=/boot/vmlinuz-2.6-xenU --memory=32Mb \  
--image=sparse --mirror=http://ftp2.de.debian.org/debian/ --passwd

Isso criará o domínio virtual vm04.example.com. /etc/xen/vm04.example.com.cfg deve parecer com isso depois (novamente, eu removi os comentários):

vi /etc/xen/vm04.example.com.cfg

| kernel = '/boot/vmlinuz-2.6-xenU' memory = '32' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm04.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm04.example.com/swap.img,sda2,w' ] name = 'vm04.example.com' vif = [ 'ip=192.168.0.104' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |

Você pode iniciar a nova máquina virtual assim:

xm create -c /etc/xen/vm04.example.com.cfg

Existem também três outros scripts que acompanham o xen-tools:

xen-update-image permite que você atualize os pacotes em domínios convidados, por exemplo, assim:

xen-update-image --dir=/vserver/images vm03.example.com

xen-list-images mostra todos os domínios convidados que foram criados com xen-create-image:

xen-list-images

A saída se parece com isto:

server1:~# xen-list-images  
Name: vm03.example.com  
Memory: 128   
IP: 192.168.0.103
Name: vm04.example.com  
Memory: 32  
IP: 192.168.0.104

Com xen-delete-image você pode remover domínios convidados que foram criados com xen-create-image:

xen-delete-image --dir=/vserver/images vm03.example.com
Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.