Virtualização · 5 min read · Jan 18, 2026
OpenVZ No Debian Etch Para Servidores Web
OpenVZ No Debian Etch Para Servidores Web
Introdução
A virtualização é ótima! Uma boa prática para servidores, pois torna as coisas mais seguras, escaláveis, substituíveis e replicáveis. Tudo isso com um custo de complexidade adicional mínima.
Este guia foi escrito durante a instalação de uma máquina Supermicro com 2 opterons de núcleo duplo (64 bits), 2 discos idênticos (para RAID) e uma quantidade de memória. Por que OpenVZ e não XEN ou o recente módulo de kernel KVM? Bem, o XEN não é muito estável para arquiteturas de 64 bits (ainda), e vem com uma quantidade considerável de sobrecarga (cada VM executa seu próprio kernel) devido à sua complexidade. O KVM é muito simples, mas restringe você a executar um kernel como um único processo, então a VM não pode se beneficiar de sistemas de múltiplos núcleos.
Com o OpenVZ, apenas um kernel é executado para o ambiente host e todas as VMs, isso torna a configuração enxuta e um bom candidato para servidores web.
Instalar o sistema de hospedagem
Primeiro, instale o Etch (certifique-se de configurar o RAID com o instalador).
Você pode querer se livrar de alguns diretórios e links desnecessários na sua raiz (e, como o resto do guia, como root):
cd /
rm cdrom
unlink vmlinuz.old
unlink vmlinuz
rmdir selinux/
rmdir initrd
unlink initrd.img.old
rmdir opt
rmdir srv/Agora queremos compilar um kernel personalizado habilitado para OpenVZ, seguimos meio que este guia no site do OpenVZ. Uma visão geral do que fizemos:
apt-get update
apt-get install linux-source-2.6.18 kernel-patch-openvz vzctl vzquota # este comando pode precisar que você reconheça
cd /usr/src
tar xjvf linux-source-2.6.18.tar.bz2
cd linux-source-2.6.18
cp /boot/config-2.6.18-3-amd64 .config
aptitude install kernel-package # você precisa disso na próxima linha
make-kpkg --append_to_version=-1-openvz --added_patches=openvz --revision=1 kernel_image
cd ..
dpkg -i linux-image-2.6.18-1-openvz_1_amd64.deb
update-initramfs -c -k 2.6.18-1-openvz
update-grubEntão (depois que você pode ter modificado um pouco o /boot/grub/menu.lst para definir o kernel correto como padrão) você pode reiniciar.
Após a reinicialização, usando o kernel habilitado para OpenVZ, verifique se tudo funciona:
ifconfig # deve listar suas interfaces e uma interface "venet" adicional
cat /proc/vz/* # deve mostrar algumas coisas (não é muito importante o que mostra ainda)
cat /proc/cpuinfo # veja se seus CPUs estão ativos
cat /proc/mdstat # RAIDs funcionando
lsmod # deve mostrar alguns módulos começando com as letras "vz"Criar Servidores Privados Virtuais (VPSs)
Agora configuramos, iniciamos um VPS a partir do template mínimo padrão (você pode encontrá-lo em /var/lib/vz/template/cache):
vzctl create 101 --ostemplate debian-3.1-amd64-minimal --config vps.basic
vzctl set 101 --onboot yes --save
vzctl set 101 --hostname test101.mytest.org --save
vzctl set 101 --ipadd 10.0.0.101 --save
vzctl set 101 --numothersock 120 --save
vzctl set 101 --nameserver 10.0.0.2 --save
vzctl set 101 --privvmpages 500000:750000 --save # dê-lhe um pouco de memória CHECKME
vzctl start 101
vzctl exec 101 passwdEntão você pode se conectar ao VPS por
ssh 10.0.0.101, e note o prompt colorido…
Este template é um template Sarge (3.1), e eu quero que seja Etch (4.0), então quando estiver logado no VPS como root, faça:
nano /etc/apt/sources.list # edite para corresponder ao sources.list na sua instalação host (Etch)
aptitude update
aptitude dist-upgradeAgora experimente seu novo VPS e torne-o utilizável, instale os pacotes que você gostaria de ter por perto, já que esses sistemas servirão mais tarde como base para outros VPSs.
Em seguida, estamos criando um template a partir do VPS recém-customizado, isso é uma coisa fácil:
vzctl stop 101 # pare-o
rm -f /var/lib/vz/private/101/etc/ssh/ssh_host_* # remova as chaves (novas serão geradas na primeira inicialização)
cd /var/lib/vz/private/101/
tar czf /var/lib/vz/template/cache/debian-etch-20061218-amd64.tar.gz .Como Borat diria: “Legal! Eu gosto!”
Agora podemos configurar e executar alguns VPSs adicionais, como antes, mas agora ligeiramente modificados:
vzctl create 102 --ostemplate debian-etch-20061218-amd64 --config vps.basic
vzctl set 102 --onboot yes --save
vzctl set 102 --hostname test102.mytest.org --save
vzctl set 102 --ipadd 10.0.0.102 --save
vzctl set 102 --numothersock 120 --save
vzctl set 102 --nameserver 10.0.0.2 --save
vzctl set 102 --privvmpages 500000:750000 --save # dê-lhe um pouco de memória CHECKME
vzctl start 102
vzctl exec 102 passwdE (sim, eu vejo que não há muitas mudanças interessantes)…
vzctl create 103 --ostemplate debian-etch-20061218-amd64 --config vps.basic
vzctl set 103 --onboot yes --save
vzctl set 103 --hostname test103.mytest.org --save
vzctl set 103 --ipadd 10.0.0.103 --save
vzctl set 103 --numothersock 120 --save
vzctl set 103 --nameserver 10.0.0.2 --save
vzctl set 103 --privvmpages 500000:750000 --save # dê-lhe um pouco de memória CHECKME
vzctl start 103
vzctl exec 103 passwdE inicie o primeiro VPS (vzctl start 101) já que o tiramos do ar para usá-lo como base para nosso template, lembre-se?
Agora temos 3 VPSs em execução. Teste com vzlist, saída:
VEID NPROC STATUS IP_ADDR HOSTNAME
101 5 running 10.0.0.101 test101.mytest.org
102 5 running 10.0.0.102 test102.mytest.org
103 5 running 10.0.0.103 test103.mytest.orgOs VPSs precisam de memória, por padrão eles recebem muito pouco, então, por favor, defina vmguarpages, oomguarpages, privvmpages, etc, etc, etc, nos arquivos de configuração do seu VPS (/etc/vz/conf/*.conf) para alguns valores razoáveis – uma página equivale a 4Kb. Os erros que ocorrem porque você restringiu seu VPS demais podem ser lidos executando:
vzctl exec 101 cat /proc/user_beancountersA última coluna do UBC (user_beancounter) deve conter apenas zeros, se não, tente aumentar algumas barreiras e limites. Consulte a documentação do OpenVZ para mais informações sobre as opções individuais.
Agora podemos continuar configurando nossos apaches, postfixes, etc, etc, etc, nos VPSs… Boa sorte!
Ohh e abaixo meu arquivo /etc/vz/conf/101.conf, está péssimo, eu apenas aumentei alguns valores de forma bruta porque tivemos erro no user_beancounter.
cat /etc/vz/conf/101.conf# Copyright (C) 2000-2006 SWsoft. Todos os direitos reservados.
#
# Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo
# sob os termos da Licença Pública Geral GNU conforme publicada pela
# Free Software Foundation; seja a versão 2 da Licença, ou
# (a seu critério) qualquer versão posterior.
#
# Este programa é distribuído na esperança de que seja útil,
# mas SEM NENHUMA GARANTIA; sem mesmo a garantia implícita de
# COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO. Veja a
# Licença Pública Geral GNU para mais detalhes.
#
# Você deve ter recebido uma cópia da Licença Pública Geral GNU
# junto com este programa; se não, escreva para a Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 EUA
#
VERSION="2"
ONBOOT="yes"
# Parâmetros UBC (na forma de barreira:limite)
# Parâmetros primários
AVNUMPROC="40:40"
NUMPROC="255:255"
NUMTCPSOCK="80:80"
NUMOTHERSOCK="255:255"
VMGUARPAGES="500000:9223372036854775807"
# Parâmetros secundários
KMEMSIZE="33554432:36909875"
TCPSNDBUF="319488:524288"
TCPRCVBUF="524288:524288"
OTHERSOCKBUF="439296:439296"
DGRAMRCVBUF="132096:132096"
OOMGUARPAGES="500000:9223372036854775807"
# Parâmetros auxiliares
LOCKEDPAGES="32:32"
SHMPAGES="8192:8192"
PRIVVMPAGES="500000:750000"
NUMFILE="10240:10240"
NUMFLOCK="100:110"
NUMPTY="16:16"
NUMSIGINFO="256:256"
DCACHESIZE="1048576:1097728"
PHYSPAGES="0:9223372036854775807"
NUMIPTENT="128:128"
# Parâmetros de cota de disco (na forma de limite suave:limite rígido)
DISKSPACE="1048576:1153434"
DISKINODES="200000:220000"
QUOTATIME="0"
# Parâmetro do escalonador justo de CPU
CPUUNITS="1000"
OFFLINE_MANAGEMENT="yes"
VE_ROOT="/var/lib/vz/root/$VEID"
VE_PRIVATE="/var/lib/vz/private/$VEID"
OSTEMPLATE="debian-3.1-amd64-minimal"
ORIGIN_SAMPLE="vps.basic"
HOSTNAME="101.mytest.org"
IP_ADDRESS="10.0.0.101"
NAMESERVER="10.0.0.2"Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.