Linux Vserver · 7 min read · Feb 09, 2026
Linux-Vserver no Debian Sarge
Resumo
Você pode encontrar uma versão mais fácil de ler deste howto em 5dollarwhitebox.org.
Citado de 13thfloor.at/vserver/project:
Linux-VServer permite que você crie servidores privados virtuais e contextos de segurança que operam como um servidor Linux normal, mas permitem que muitos servidores independentes sejam executados simultaneamente em uma única máquina em plena velocidade. Todos os serviços, como ssh, e-mail, Web e bancos de dados, podem ser iniciados em tal VPS, sem modificação, assim como em qualquer servidor real. Cada servidor virtual tem seu próprio banco de dados de contas de usuário e senha root e não interfere com outros servidores virtuais.
Você pode encontrar uma apresentação sobre Linux-vserver em http://www.linux-vserver.org.
Os dois principais termos a conhecer são:
- Sistema Host: Este é o servidor físico que “hospeda” os sistemas operacionais convidados (servidores virtuais).
- Sistema Convidado: Estes são os servidores virtuais que rodam em cima do sistema operacional host.
Preparação
Comece com uma instalação limpa do Debian Sarge 3.1. É recomendado manter o sistema host o mais minimalista possível (raramente vejo razão para executar mais do que SSH e iptables).
Pacotes a instalar
Sempre atualize seu banco de dados apt antes de instalar software e atualize os pacotes atuais:
# apt-get update && apt-get upgrade
Então precisamos instalar alguns pacotes básicos:
- util-vserver: Utilitários de espaço do usuário para controlar servidores virtuais
- ssh: Isso provavelmente já deveria ter sido instalado
- ncurses-base e libncurses5-dev: Necessários para “make menuconfig” ao compilar o kernel.
# apt-get install util-vserver ssh ncurses-base libncurses5-dev
Os Arquivos
| /var/lib/vservers | Diretório home para os arquivos dos vservers |
| /etc/vservers.conf | arquivo de configuração básico (não há muito o que ver lá) |
| /etc/vservers | Mantém os diretórios de configuração para cada servidor virtual |
| /usr/sbin/vserver | Utilitário para interagir, construir, iniciar, parar, entrar, etc. os vservers |
| /bin/vshelper | Outro utilitário para controlar como os vservers funcionam |
| /usr/lib/util-vserver | Scripts/funções/etc principais |
O Kernel
Por favor, note que eu não fiz esta seção “do jeito Debian”. Tudo foi feito usando um kernel Vanilla do kernel.org. Você pode encontrar bons links nos comentários dos usuários abaixo para outros recursos. Obtenha o Kernel mais recente, atualmente a última versão estável do linux-vserver é para o kernel 2.6.12.4.. que é o que temos:
# cd /usr/src
Obtenha o patch mais recente do kernel em linux-vserver.org ou 13thfloor.at/vserver:
# wget http://www.13thfloor.at/vserver/s_rel26/v2.0/patch-2.6.12.4-vs2.0.diff.gz
Se você já estiver executando um kernel 2.6.x semelhante, pode copiar sua configuração atual antes de compilar. Deve estar em algum lugar como “/boot/config-2.6.x”
# cp /boot/config-2.6.X /usr/src/linux-2.6.12.4/.config
Esse último comando é apenas se você quiser usar uma configuração existente… por favor, não tente usar um arquivo de configuração 2.4.X… por favor.
Ok, vamos fazer isso acontecer. Há algumas coisas que você quer incluir quando compilamos. Primeiro, você precisa ter uma compilação funcional para o seu sistema… e isso eu não posso ajudar. Por favor, consulte o link se precisar de ajuda para compilar um kernel.
# make menuconfig
Para uso futuro, você provavelmente deve incluir LVM (e suporte ao dev-mapper)… pois isso é útil para servidores virtuais.
Você verá uma categoria para “Linux Vserver”. As seleções padrão devem ser boas, no entanto, você deve ter algo como o seguinte selecionado:
Habilitar API de kernel legado
Habilitar segurança Proc
Habilitar limites de CPU rígidos
Legal… agora temos nossa configuração…. vamos fazer o kernel:
# make
Então queremos atualizar nossa configuração do grub:
Usando o comando ‘vi’, edite /boot/grub/menu.lst e adicione as seguintes linhas ANTES das outras entradas já existentes… e certifique-se de que a linha “default” esteja definida como “0”: título Vanilla 2.6.12.4-vs2.0
root (hd0,0)
kernel /vmlinuz-2.6.12.4-vs2.0 root=/dev/hda2 ro
initrd /initrd.img-2.6.12.4-vs2.0
savedefault
boot
E aí está. Agora, devemos ser capazes de reiniciar e ter nosso novo kernel pronto para alguns servidores virtuais.
# reboot
Verifique esse kernel depois que inicializarmos para ter certeza de que estamos rodando no novo:
# uname -r
2.6.12.4-vs2.0
Legal!
Configurando os Servidores Virtuais
Criar servidores Debian virtuais em um host Debian é quase ridiculamente simples. O seguinte explica para você:
# vserver
-n
–hostname
–interface
-m debootstrap – -d
Portanto, nosso primeiro servidor virtual terá as seguintes informações:
| NOME_VSERVER | vserver1 |
| FQDN | vserver1.mydomain.com |
| DISPOSITIVO_REDE | eth0 |
| IP | 192.168.1.10 |
| CIDR | 24 (255.255.255.0) |
| DISTRIBUICAO_DEBIAN | sarge |
Portanto, o seguinte comando irá criá-lo:
# vserver vserver1 build \
-n vserver1 \
–hostname vserver1.mydomain.com \
–interface eth0:192.168.1.10/24 \
-m debootstrap – -d sarge
As barras invertidas ‘\’ significam uma nova linha… no entanto, você pode executar tudo isso como um único comando sem o uso de barras invertidas.
E aí está… a instalação começa uma instalação de rede Debian da distribuição selecionada. Isso não deve levar mais do que alguns minutos. No meu sistema, a instalação base ocupa apenas 144MB. Agora vamos ver o que temos:
total 80K
drwxr-xr-x 20 root root 4.0K Nov 10 08:17 .
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 bin
drwxr-xr-x 2 root root 4.0K Dec 15 2004 boot
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 dev
drwxr-xr-x 37 root root 4.0K Nov 10 08:17 etc
drwxrwsr-x 2 root staff 4.0K Dec 15 2004 home
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 initrd
drwxr-xr-x 7 root root 4.0K Nov 10 08:17 lib
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 media
drwxr-xr-x 2 root root 4.0K Dec 15 2004 mnt
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 opt
drwxr-xr-x 2 root root 4.0K Dec 15 2004 proc
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 root
drwxr-xr-x 2 root root 4.0K Nov 10 08:17 sbin
drwxr-xr-x 2 root root 4.0K Nov 10 08:16 srv
drwxr-xr-x 2 root root 4.0K May 10 2005 sys
drwxrwxrwt 2 root root 4.0K Nov 10 08:17 tmp
drwxr-xr-x 11 root root 4.0K Nov 10 08:16 usr
drwxr-xr-x 13 root root 4.0K Nov 10 08:16 var # ls -lah /etc/vservers/vserver1
total 28K
drwxr-xr-x 5 root root 4.0K Nov 10 08:13 .
drwxr-xr-x 6 root root 4.0K Nov 10 08:13 ..
drwxr-xr-x 4 root root 4.0K Nov 10 08:13 apps
-rw-r–r– 1 root root 112 Nov 10 08:13 fstab
drwxr-xr-x 3 root root 4.0K Nov 10 08:13 interfaces
-rw-r–r– 1 root root 5 Nov 10 08:13 name
lrwxrwxrwx 1 root root 22 Nov 10 08:13 run -> /var/run/vservers/vserver1
drwxr-xr-x 2 root root 4.0K Nov 10 08:13 uts
lrwxrwxrwx 1 root root 37 Nov 10 08:13 vdir -> /etc/vservers/.defaults/vdirbase/vserver1
Agora que temos nosso vserver instalado, vamos iniciá-lo. A sintaxe para o comando ‘vserver’ é:
# vserver
E para nosso vserver1:
# vserver vserver1 start Iniciando o daemon de log do sistema: syslogd.
Iniciando o daemon de log do kernel: klogd.
Iniciando MTA: exim4.
Iniciando superserver da internet: inetd.
Iniciando agendador de execução diferida: atd.
Iniciando agendador de comandos periódicos: cron.
… # vserver-stat
CTX PROC VSZ RSS userTIME sysTIME UPTIME NOME
0 35 73.4M 5.4K 0m05s21 0m02s33 1m13s00 root server
49152 5 11M 967 0m00s00 0m00s00 0m30s52 vserver1
vserver1:/#
E você agora está no contexto do servidor virtual. Para sair e voltar ao sistema host, basta digitar “exit”.
Notas sobre Configuração
Você primeiro precisará executar “apt-setup” e configurar o apt da mesma forma que qualquer outro sistema debian. A instalação bootstrap do debian é uma instalação base muito minimalista. Você precisará instalar tudo o que deseja.
Deve ser mencionado que cada servidor virtual tem seu próprio endereço IP. No entanto, uma vez que esses IPs são configurados como aliases para o seu dispositivo de rede real (ou seja, eth0), todos estão ouvindo no mesmo dispositivo físico. Isso pode representar um problema quando as configurações padrão especificam “Ouvir” em todas as interfaces. Cada serviço dentro do vserver deve especificar um Endereço de Escuta.
Por exemplo:
SSH:
# apt-get install sshd
Altere a linha:
#ListenAddress 0.0.0.0
Para
ListenAddress 192.168.1.10
E…
# /etc/init.d/ssh restart
O resto realmente depende da sua imaginação e de descobrir as maravilhas do código aberto não documentado… divirta-se!
BJ Dierkes, RHCE-LPIC1
wdierkes [at] 5dollarwhitebox [dot] org
Texas, EUA
Recursos
- O Projeto Linux-vserver
- http://www.13thfloor.at/vserver/project
- Debian GNU Linux
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.