Xen Setup · 5 min read · Feb 09, 2026

A Configuração Perfeita do Xen 3.0.3 Para Debian Sarge - Página 7

5.2 Criar Uma Máquina Virtual (domU)

(Por favor, note: a criação da imagem depende de você ter instalado o Xen a partir das fontes ou dos binários. Se você instalou o Xen a partir das fontes, por favor, consulte o capítulo 4.4!)

Em seguida, criamos uma imagem de uma máquina virtual. Será um sistema Debian básico. Esta imagem será o modelo para todas as nossas máquinas virtuais. Sempre que quisermos criar uma nova máquina virtual, apenas copiamos esta imagem, criamos um novo arquivo de configuração do Xen e inicializamos a cópia, e então podemos continuar e configurar a cópia de acordo com nossas necessidades (por exemplo, instalar um servidor de e-mail, servidor web, servidor DNS, etc. nela). Todas as nossas imagens estarão na partição /vserver, que deve ser a maior que temos.

mkdir /vserver/vm_base  
mkdir /vserver/images

Agora criamos um arquivo de imagem de 1 GB e uma imagem de swap de 500 MB. No final, as máquinas virtuais terão 1 GB de espaço e 500 MB de swap. Esses são apenas valores de exemplo, no mundo real você pode querer ter mais espaço para suas máquinas virtuais (por exemplo, entre 5 e 30 GB), então basta aumentar o valor de count para criar imagens maiores.

dd if=/dev/zero of=/vserver/images/vm_base.img bs=1024k count=1000  
dd if=/dev/zero of=/vserver/images/vm_base-swap.img bs=1024k count=500

Em seguida, formatamos /vserver/images/vm_base.img com ext3 e vm_base-swap.img com swap:

mkfs.ext3 /vserver/images/vm_base.img

Quando você ver o seguinte, responda com y:

/vserver/images/mail.img não é um dispositivo especial de bloco.  
Prosseguir mesmo assim? (y,n) <-- y
mkswap /vserver/images/vm_base-swap.img

5.2.1 Instalar Um Debian Básico Na Imagem

Para instalar um sistema Debian básico em nossa imagem, montamos a imagem, executamos debootstrap e alguns outros comandos:

mount -o loop /vserver/images/vm_base.img /vserver/vm_base  
debootstrap --arch i386 sarge /vserver/vm_base/ http://ftp2.de.debian.org/debian
chroot /vserver/vm_base  
apt-setup

Você será perguntado a seguinte questão:

Método de acesso ao arquivo para apt: <– http

Em seguida, selecione um espelho próximo a você.

Depois, edite /etc/apt/sources.list e substitua testing por stable. Assim é como meu /etc/apt/sources.list se parece:

vi /etc/apt/sources.list

| deb http://ftp2.de.debian.org/debian/ stable main deb-src http://ftp2.de.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main |

Em seguida, execute

apt-get update

Agora configuramos nossos locais. Se não fizermos isso agora, veremos alguns avisos feios durante a configuração base, como estes:

| perl: aviso: Falha ao definir locale. perl: aviso: Por favor, verifique se suas configurações de locale: LANGUAGE = "en_DE:en_US:en_GB:en", LC_ALL = (unset), LANG = "en_US" são suportadas e instaladas em seu sistema. perl: aviso: Retornando ao locale padrão ("C"). locale: Não é possível definir LC_CTYPE para o locale padrão: Nenhum arquivo ou diretório desse tipo locale: Não é possível definir LC_MESSAGES para o locale padrão: Nenhum arquivo ou diretório desse tipo locale: Não é possível definir LC_ALL para o locale padrão: Nenhum arquivo ou diretório desse tipo |

Eles não são sérios, mas feios… Então executamos

apt-get install localeconf

Você será perguntado algumas questões:

Selecione os locais a serem gerados. <– en_US ISO-8859-1
Qual locale deve ser o padrão no ambiente do sistema? <– en_US
Gerenciar arquivos de configuração de locale com debconf? <– Sim
Configurações de ambiente que devem substituir o locale padrão: <– não selecione nada
Substituir arquivos de configuração de locale existentes? <– Sim
Locale padrão do sistema: <– por exemplo, en_US ISO-8859-1

Em seguida, execute

base-config

Você verá um menu com opções de instalação. Isso é o que fazemos:

  1. Configurar fuso horário
  2. Configurar usuários e senhas
  3. Selecionar e instalar pacotes (quando chegar a Escolher software para instalar:, você pode escolher o que quiser; eu, no entanto, escolho nada porque quero instalar um sistema básico.)
  4. Finalizar a configuração do sistema base

Não se preocupe com os outros itens do menu, você não precisa deles. Em seguida, removemos nfs-common e deletamos /etc/hostname:

apt-get remove nfs-common

Em seguida, edite /etc/fstab. Deve ficar assim:

vi /etc/fstab

| /dev/hda1 / ext3 defaults 1 2 /dev/hda2 none swap sw 0 0 /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 |

Em seguida, crie /etc/hosts:

vi /etc/hosts

| 127.0.0.1 localhost.localdomain localhost # As seguintes linhas são desejáveis para hosts compatíveis com IPv6 ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |

Então faça isso:

mkdir /lib/modules/2.6.16.29-xen  
depmod 2.6.16.29-xen

Em seguida, editamos os scripts /etc/init.d/hwclock.sh e /etc/init.d/hwclockfirst.sh e adicionamos a linha exit 0 logo no início, pois caso contrário, esses dois scripts realmente desacelerarão a inicialização de nossas máquinas virtuais:

vi /etc/init.d/hwclock.sh

| #!/bin/sh # hwclock.sh Define e ajusta o relógio CMOS, de acordo com o UTC # configuração em /etc/default/rcS (veja também rcS(5)). # # Versão: @(#)hwclock.sh 2.00 14-Dez-1998 [email protected] # # Correções: # 2000-01-30 Henrique M. Holschuh <[email protected]> # - Mudanças cosméticas menores na tentativa de ajudar novos # usuários a notar que algo ESTÁ mudando seus relógios # durante a inicialização/desligamento. # - Adicionadas comentários para alertar usuários sobre problemas # de hwclock e desencorajar manipulações sem a leitura da documentação adequada. # AVISO: Por favor, leia /usr/share/doc/util-linux/README.Debian.hwclock # antes de alterar este arquivo. Você arrisca sérios problemas # de comportamento do relógio. exit 0 [...] |

vi /etc/init.d/hwclockfirst.sh

| #!/bin/bash # hwclockfirst.sh Define o relógio do sistema para o relógio de hardware, de acordo com o UTC # configuração em /etc/default/rcS (veja também rcS(5)). # # # AVISO: Executa sem permissão de gravação em /etc, e antes # de montar todos os sistemas de arquivos! Se você precisar de permissão de gravação # para fazer algo, faça isso em hwclock.sh. # # AVISO: Se seu relógio de hardware não estiver em UTC/GMT, este script # deve conhecer o fuso horário local. Essa informação está # armazenada em /etc/localtime. Isso pode ser um problema se # seu /etc/localtime for um link simbólico para algo em # /usr/share/zoneinfo E /usr não estiver na partição raiz! # A solução alternativa é definir TZ ou # em /etc/default/rcS, ou no lugar apropriado abaixo. # # LEMBRE-SE DE EDITAR hwclock.sh TAMBÉM! # Defina isso para quaisquer opções que você possa precisar passar para hwclock, como tipo de relógio de hardware da máquina para Alphas. exit 0 HWCLOCKPARS= [...] |

Agora saímos do ambiente chroot:

exit

Em seguida, desmontamos a imagem:

mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled  
fuser -k /vserver/vm_base  
umount /vserver/vm_base

Agora nosso modelo de imagem de máquina virtual está pronto!

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.