Xen Setup · 10 min read · Dec 07, 2025
Como Configurar Xen 4.3 No Debian Wheezy (7.0.2) E Depois Atualizar Para Jessie
Como Configurar Xen 4.3 No Debian Wheezy (7.0.2) E Depois Atualizar Para Jessie
Versão 1.0
Autor: Peter Okupski
Este será um setup rápido e fácil do XEN (dom0-hypervisor) e um sistema virtual (domU-guest). Eu queria testar o XEN como minha segunda experiência após o VMware e, como muitas páginas da web estão desatualizadas e têm muitos bugs e erros antigos corrigidos, decidi experimentar o XEN.
Nota importante:
Quem se beneficiará deste tutorial: Apenas iniciantes que gostariam de testar máquinas virtuais simples sem nenhum appliance de Cloud real como XenOrchestra, Cloudstack, Opencloud e qualquer coisa que use XAPI para Xen Cloud Platform (XCP). Espero que isso economize tempo para quem precisa de um appliance de cloud real com pelo menos uma interface web e algumas funções para alocação de armazenamento/memória/CPU, que no momento não podem ser aplicadas ao simples Xen Xypervisor. (ou é muito trabalho:)
Para quem não é: Para qualquer usuário/empresa que precise de Alta Disponibilidade e um appliance de Cloud real.
Eu encorajo todos vocês, novatos do Xen, a assistir a este vídeo para ter uma noção e compreensão do Xen.
O tutorial será dividido nas seguintes seções:
- Instalação simples do Debian com configuração LVM rápida e fácil
- Atualização para Jessie, para que fiquemos atualizados com as últimas correções do XEN
- Instalação do XEN 4.3
- Algumas dicas de ajuste do XEN
- Configuração simples de bridge do XEN
- Configuração do XEN para usar templates para criar hosts
- Criando o primeiro sistema domU Guest com uma linha;)
1. Instalação simples do Debian com configuração LVM
Sugiro usar ISOs não oficiais (mas do Debian) que já possuem firmware não livre necessário para placas de rede Broadcom e outras, que poderiam quebrar este processo bonito e fácil.
ISOs não oficiais do Debian
Após a configuração inicial do instalador do Debian, escolha a configuração de partição personalizada como abaixo: Eu criei as seguintes partições:
| Ponto de montagem | Tamanho | Comentário |
| /boot | 200 MB | (Primária) (Localização para a nova partição: Início) (ext3) (Flag de inicialização: on <– importante, caso contrário, seu sistema não inicializará!) |
| swap | 1GB | (Lógica) (Localização para a nova partição: Início) (memória dom0 será cortada para 512M) |
| / | 6GB | (Lógica) (Localização para a nova partição: Início) (ext3) |
Podemos configurar o restante do disco como LVM. Precisamos aceitar as alterações e gravá-las no disco.
Sua instalação deve terminar, e você precisa gravar o grub no seu disco. Após isso, a instalação será reiniciada.
Após a instalação, suas partições devem parecer com isso:
root@xen-dom0:~# df -h
Sistema de arquivos Tamanho Usado Disponível Uso% Montado em
/dev/sda6 6.0G 2.0G 2.4G 30% /
udev 10M 0 10M 0% /dev
tmpfs 38M 268K 38M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 266M 0 266M 0% /run/shm
/dev/sda1 180M 28M 140M 17% /bootAgora vamos instalar o lvm e criar o primeiro volume físico.
apt-get install lvm2pvcreate /dev/sda7| Volume físico "/dev/sda7" criado com sucesso root@xen-dom0:/etc/xen-tools# pvscan PV /dev/sda7 lvm2 [273.51 GiB] Total: 1 [273.51 GiB] / em uso: 0 [0 ] / em nenhum VG: 1 [273.51 GiB] root@xen-dom0:/etc/xen-tools# pvdisplay "/dev/sda7" é um novo volume físico de "273.51 GiB" --- NOVO Volume físico --- Nome do PV /dev/sda7 Nome do VG Tamanho do PV 273.51 GiB Alocável NÃO Tamanho do PE 0 Total de PE 0 PE Livre 0 PE Alocado 0 UUID do PV 1vKp2c-KbmM-w8Ql-noOe-U00J-hlr0-FsKwOM |
É hora de criar o grupo de volumes (vg0) (note a mudança das letras p/v! antes de criar)
vgcreate vg0 /dev/sda7| Grupo de volume "vg0" criado com sucesso |
Vamos verificar se tudo correu bem.
vgdisplay| --- Grupo de volume --- Nome do VG vg0 ID do Sistema Formato lvm2 Áreas de Metadados 1 Número da Sequência de Metadados 1 Acesso ao VG leitura/gravação Status do VG redimensionável MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 Tamanho do VG 273.51 GiB Tamanho do PE 4.00 MiB Total de PE 70018 PE Alocável / Tamanho 0 / 0 PE Livre / Tamanho 70018 / 273.51 GiB UUID do VG 2a3kn9-DvVA-3Qac-g4Wz-f2Xo-s5hk-Yh5fBc |
Após configurar o LVM, podemos limpar nosso dom0 com esses pacotes desnecessários:
apt-get remove bsd-mailx exim4 exim4-base exim4-daemon-light nfs-commonE então podemos instalar alguns que precisamos/podemos precisar:
apt-get install mc screen ssh debootstrap python iproute bridge-utils libcurl3-devApós a instalação, o Debian puro 7.0.2 ocupa cerca de 760MB.
| rootfs 4.6G 764M 3.7G 18% / |
2. Atualização para Debian Jessie
Agora podemos fazer uma atualização para testing (Jessie) já que precisamos que o XEN esteja o mais atualizado possível.
Use este gerador - ele economizará seu tempo:) e alguns erros. Ou apenas mude “wheezy” para “jessie”, e “stable” para “testing” em /etc/apt/sources.list.
/etc/apt/sources.list
| deb http://ftp.pl.debian.org/debian testing main contrib non-free deb-src http://ftp.pl.debian.org/debian testing main contrib non-free deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free |
Primeiro:
apt-get update; apt-get -y upgradeDurante a atualização, você será solicitado a reiniciar serviços - escolha Sim. Em seguida, baixaremos todos os .deb que precisamos (apenas por razões de segurança):
apt-get -y --download-only dist-upgradeEntão podemos prosseguir para a atualização real. É melhor reiniciar após isso, para que o kernel mude de 3.2 para 3.11.
apt-get -y dist-upgradeLimpeza:
apt-get clean; apt-get autoclean;apt-get autoremove3. Instalação do XEN 4.3
Primeiro devemos verificar se nosso CPU suporta virtualização de hardware
egrep '(vmx|svm)' --color=always /proc/cpuinfoA saída deve parecer com isso
root@xxxx:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriorityEntão podemos prosseguir para instalar o XEN: o hypervisor, o kernel ciente do xen e as ferramentas xen. Isso pode ser feito por um metapacote:
apt-get install xen-linux-system xen-toolsO Debian Wheezy usa Grub 2 e, por padrão, lista os kernels normais primeiro, e só depois lista o hypervisor Xen e seus kernels. Você pode mudar isso para fazer o Grub 2 preferir inicializar o Xen, alterando a prioridade do script de configuração do Xen do Grub (20_linux_xen) para ser maior que a configuração padrão do Linux (10_linux). Isso é feito mais facilmente usando dpkg-divert:
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xenApós qualquer atualização na configuração do Grub, você deve aplicar a configuração executando:
update-grub4. Ajuste do Xen
- Defina a memória do Dom0 para 512Mb e desative o Ballooning para que os DomUs nunca usem a memória do Dom0
- Impedir que máquinas virtuais em volumes lógicos apareçam no menu de inicialização
- Desativar o salvamento e restauração do Xendomains
- Defina apenas o 1º CPU para dom0
1. Defina a memória do Dom0 para 512Mb e desative o balonamento
/etc/xen/xend-config.sxp
| (dom0-min-mem 512) (enable-dom0-ballooning no) |
2. Impedir que máquinas virtuais em volumes lógicos apareçam no menu de inicialização
Modifique o grub:
/etc/default/grub
| #alocar memória para dom0 GRUB_CMDLINE_XEN="dom0_mem=512M" # Desativar OS prober GRUB_DISABLE_OS_PROBER=true |
update-grub;reboot3. Desativar o salvamento e restauração do Xendomains
/etc/default/xendomains
| #XENDOMAINS_SAVE=/var/lib/xen/save XENDOMAINS_SAVE= #XENDOMAINS_RESTORE=true XENDOMAINS_RESTORE=false |
4. Limitar dom0 ao 1º CPU apenas
Por padrão, todos os CPUs são compartilhados entre dom0 e todos os domU (convidados). Isso pode quebrar a responsabilidade do dom0 se os convidados consumirem muito tempo de CPU. Para evitar isso, é possível conceder um (ou mais) núcleo de processador ao dom0 e também fixá-lo ao dom0.
Adicione as seguintes opções ao /etc/default/grub para alocar um núcleo de CPU ao dom0:
/etc/default/grub
| # Parâmetros de inicialização do Xen para todas as inicializações do Xen GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin" # Desativar OS prober GRUB_DISABLE_OS_PROBER=true |
Lembre-se de executar update-grub após essas!
update-grubAlém disso, faça essas alterações em /etc/xen/xend-config.sxp:
/etc/xen/xend-config.sxp
| (dom0-cpus 1) |
!! Antes de reiniciar, verifique se você fez update-grub e então reinicie seu servidor !!
5. Configuração simples de bridge do XEN
A maioria das configurações usará uma configuração BRIDGEed, e isso é suficiente se você estiver planejando um ambiente simples, mas eu encorajo fortemente a usar OpenVSwitch se você precisar de VLANs ou qualquer ACL etc.
Aqui está a versão fácil para apenas uma bridge simples:
apt-get install bridge-utilsPrecisamos editar: /etc/network/interfaces
/etc/network/interfaces
| ##A interface de rede de loopback auto lo iface lo inet loopback iface eth0 inet manual auto xenbr0 iface xenbr0 inet static address 10.0.9.100 netmask 255.255.255.0 network 10.0.9.0 broadcast 10.0.9.255 gateway 10.0.9.1 # opções dns-* são implementadas pelo pacote resolvconf, se instalado dns-nameservers 10.0.9.2 dns-search yourdomain.net bridge_ports eth0 #outras opções possivelmente úteis em um ambiente virtualizado bridge_stp off # desativar o Protocolo de Árvore de Abrangência bridge_waitport 0 # sem atraso antes que uma porta se torne disponível bridge_fd 0 # sem atraso de encaminhamento |
Após isso, você deve reiniciar a rede com
/etc/init.d/networking restartE verificar se sua bridge subiu
brctl show| nome da bridge id da bridge STP habilitado interfaces xenbr0 8000.001a6479cd8c não eth0 |
6. Configuração do XEN-Tools para usar templates para suas máquinas virtuais (convidados-domU)
Agora vamos criar nossa primeira imagem do novo domU com um template. Precisamos editar o arquivo:
/etc/xen-tools/xen-tools.conf
| lvm = vg0 # seu grupo de volume que criamos antes install-method = debootstrap # Isso iniciará o instalador do debian tamanho = 10Gb # Tamanho da imagem do disco. memory = 512Mb # Tamanho da memória swap = 2Gb # Tamanho do swap noswap = 1 # Não usar swap de forma alguma para o novo sistema. fs = ext4 # usar o sistema de arquivos EXT3 para a imagem do disco. dist = `xt-guess-suite-and-mirror --suite` # Distribuição padrão a ser instalada. image = sparse # Especificar imagens de disco esparsas vs. completas. gateway = 10.0.9.1 # Seu gateway, que o dom0 também está usando com a bridge netmask = 255.255.255.0 # sem comentários necessários;) broadcast = 10.0.9.255 # Seu broadcast bridge = xenbr0 # Aqui devemos usar a bridge que criamos, o xen a transformará em eth0 no domU. cachedir = /var/cache/xen-tools/archives/ # Lugar para *.debs para uso futuro passwd = 1 #Isso pedirá uma senha root para criar na nova máquina kernel = /boot/vmlinuz-`uname -r` #Usará o mesmo kernel que o dom0 está usando (isso é crucial, para evitar problemas) initrd = /boot/initrd.img-`uname -r` #O mesmo aqui para initrd mirror = `xt-guess-suite-and-mirror --mirror` mirror = ftp://ftp.pl.debian.org/debian/ #Digite seu mirror do debian ext3_options = noatime,nodiratime,errors=remount-ro #Opções simples a serem aplicadas para a nova máquina ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults boot = 1 # Queremos inicializar nossa nova máquina após criá-la. Claro que sim! |
7. Criando o primeiro domU Guest
Agora podemos criar nosso primeiro host domU:
xen-create-image --hostname domU-test --dist=jessie --vcpus=4 --ip=10.0.9.101Isso levará cerca de 3-4 minutos, dependendo da velocidade da sua conexão, CPU e velocidade do disco. Uma vez concluído, podemos verificar se está funcionando.
xm list| Nome ID Mem VCPUs Estado Tempo(s) Domain-0 0 512 1 r----- 93.8 domU-test 1 512 4 -b---- 23.9 |
Recomendo ler xen-create-image –help pois isso lhe dará uma ideia do que você pode mudar fornecendo opções para criar qualquer distribuição. Exemplo: executar comandos após e todas as outras coisas que você possa precisar. Há também uma opção para gerar uma imagem e usá-la para um template de sistema pronto para iniciar, sem precisar executar o instalador por 3 minutos toda vez.
Agora você pode acessar seu novo host com ssh.
Abaixo você pode encontrar links que usei neste tutorial:
- Xen no Wiki do Debian
- OpenVSwitch
- Xen 4 no Debian Wheezy
- Ajustando o XEN - wiki do XEN
- Gerador de Fontes Apt
- Melhores Práticas do Xen
- Como usar LVM
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.