Linux Vserver · 7 min read · Feb 09, 2026

Linux-Vserver su Debian Sarge

Riepilogo

Puoi trovare una versione più leggibile di questo howto su 5dollarwhitebox.org.

Citato da 13thfloor.at/vserver/project:

Linux-VServer ti consente di creare server privati virtuali e contesti di sicurezza che operano come un normale server Linux, ma consentono di eseguire molti server indipendenti simultaneamente in un’unica macchina a piena velocità. Tutti i servizi, come ssh, mail, Web e database, possono essere avviati su un VPS, senza modifiche, proprio come su qualsiasi server reale. Ogni server virtuale ha il proprio database di account utente e password di root e non interferisce con altri server virtuali.

Puoi trovare una presentazione su Linux-vserver su http://www.linux-vserver.org.

I due termini principali da conoscere sono:

  • Sistema Host: Questo è il server fisico che “ospita” i sistemi operativi guest (server virtuali).
  • Sistema Guest: Questi sono i server virtuali che girano sopra il sistema operativo host.

Preparazione

Inizia con un’installazione fresca di Debian Sarge 3.1. Si consiglia di mantenere il sistema host il più minimale possibile (raramente vedo ragioni per eseguire più di SSH e iptables).

Pacchetti da installare

Aggiorna sempre il tuo database apt prima di installare software e aggiorna i pacchetti attuali:

# apt-get update && apt-get upgrade

Poi dobbiamo installare alcuni pacchetti di base:

  • util-vserver: Utilità userland per controllare i server virtuali
  • ssh: Questo dovrebbe probabilmente essere già installato
  • ncurses-base, e libncurses5-dev: Necessari per “make menuconfig” durante la compilazione del kernel.

# apt-get install util-vserver ssh ncurses-base libncurses5-dev

I File

/var/lib/vserversDirectory home per i file dei vservers
/etc/vservers.conffile di configurazione di base (non c’è molto da vedere lì)
/etc/vserversContiene le directory di configurazione per ogni server virtuale
/usr/sbin/vserverUtility per interagire, costruire, avviare, fermare, entrare, ecc. i vservers
/bin/vshelperUn’altra utility per controllare come funzionano i vservers
/usr/lib/util-vserverScript principali / funzioni / ecc

Il Kernel

Si prega di notare che non ho fatto questa sezione “The Debian Way”. Tutto è stato fatto utilizzando un kernel Vanilla da kernel.org. Puoi trovare buoni link nei commenti degli utenti qui sotto per altre risorse. Ottieni l’ultimo Kernel, attualmente l’ultima versione stabile di linux-vserver è per il kernel 2.6.12.4.. che è quello che otteniamo:

# cd /usr/src

Ottieni l’ultima patch del kernel da linux-vserver.org o 13thfloor.at/vserver:

# wget http://www.13thfloor.at/vserver/s_rel26/v2.0/patch-2.6.12.4-vs2.0.diff.gz

Se stai già eseguendo un kernel 2.6.x simile, puoi copiare la tua configurazione attuale prima di costruire. Dovrebbe trovarsi da qualche parte come “/boot/config-2.6.x”

# cp /boot/config-2.6.X /usr/src/linux-2.6.12.4/.config

L’ultimo comando è solo se vuoi utilizzare una configurazione esistente… per favore non tentare di utilizzare un file di configurazione 2.4.X… per favore.

Ok, facciamo in modo che questo accada. Ci sono alcune cose che vuoi includere quando compiliamo. Prima di tutto, devi avere una compilazione funzionante per il tuo sistema… e su questo non posso aiutarti. Si prega di fare riferimento al link se hai bisogno di aiuto per compilare un kernel.

# make menuconfig

Per uso futuro, dovresti probabilmente includere LVM (e supporto dev-mapper)… poiché questo è utile per i server virtuali.

Vedi una categoria per “Linux Vserver”. Le selezioni predefinite dovrebbero essere ottime, tuttavia dovresti avere qualcosa di simile a quanto segue selezionato:

Abilita l’API del kernel legacy
Abilita la sicurezza del proc
Abilita i limiti rigidi della CPU

Cool… ora abbiamo la nostra configurazione…. facciamo il kernel:

# make

Poi vorremo aggiornare la nostra configurazione grub:

Utilizzando il comando ‘vi’ modifica /boot/grub/menu.lst e aggiungi le seguenti righe PRIMA delle altre voci già presenti… e assicurati che la riga “default” sia impostata su “0”: title 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

Ecco fatto. Ora, dovremmo essere in grado di riavviare e avere il nostro nuovo kernel pronto per alcuni server virtuali.

# reboot

Controlla quel kernel dopo che ci siamo riavviati per assicurarci di eseguire quello nuovo:

# uname -r
2.6.12.4-vs2.0

Bene!

Configurazione dei Server Virtuali

Creare server Debian virtuali su un host Debian è praticamente ridicolmente semplice. Quanto segue lo espone per te:

# vserver build \
-n \
–hostname \
–interface :/ \
-m debootstrap – -d

Quindi, il nostro primo server virtuale avrà le seguenti informazioni:

NOME_VSERVERvserver1
FQDNvserver1.mydomain.com
DISPOSITIVO_NETeth0
IP192.168.1.10
CIDR24 (255.255.255.0)
DISTRIBUZIONE_DEBIANsarge

Pertanto, il seguente comando lo creerà:

# vserver vserver1 build \
-n vserver1 \
–hostname vserver1.mydomain.com \
–interface eth0:192.168.1.10/24 \
-m debootstrap – -d sarge

I backslash ‘\’ indicano una nuova riga… tuttavia puoi eseguire tutto come un unico comando senza l’uso di backslash.

Ecco fatto… l’installazione inizia un’installazione net di debian della distribuzione selezionata. Questo non dovrebbe richiedere più di pochi minuti. Sul mio sistema, l’installazione di base occupa solo 144MB. Ora vediamo cosa abbiamo:

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*

Ora che abbiamo il nostro vserver installato, avviamolo. La sintassi per il comando ‘vserver’ è:

# vserver [ start | stop | restart | enter ]

E per il nostro vserver1:

# vserver vserver1 start Avviando il demone di log di sistema: syslogd.
Avviando il demone di log del kernel: klogd.
Avviando MTA: exim4.
Avviando il superserver internet: inetd.
Avviando il pianificatore di esecuzione differita: atd.
Avviando il pianificatore di comandi periodici: cron.
# vserver-stat
CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME
0 35 73.4M 5.4K 0m05s21 0m02s33 1m13s00 root server
49152 5 11M 967 0m00s00 0m00s00 0m30s52 vserver1

vserver1:/#

E ora sei nel contesto del server virtuale. Per uscire e tornare al sistema host, digita semplicemente “exit”.

Note sulla Configurazione

Dovrai prima eseguire “apt-setup” e configurare apt come qualsiasi altro sistema debian. L’installazione bootstrap di debian è un’installazione di base molto minimale. Dovrai installare tutto ciò che desideri.

Va detto che ogni server virtuale ha il proprio indirizzo IP. Tuttavia, poiché questi IP sono configurati come alias per il tuo effettivo dispositivo di rete (cioè eth0) stanno tutti ascoltando sullo stesso dispositivo fisico. Questo può rappresentare un problema quando le configurazioni predefinite specificano di “Ascoltare” su tutte le interfacce. Ogni servizio all’interno del vserver deve specificare un indirizzo di ascolto.

Ad esempio:

SSH:

# apt-get install sshd

Cambia la riga:

#ListenAddress 0.0.0.0

In

ListenAddress 192.168.1.10

E…

# /etc/init.d/ssh restart

Il resto dipende davvero dalla tua immaginazione e dalla scoperta delle meraviglie dell’open source non documentato… divertiti!

BJ Dierkes, RHCE-LPIC1
wdierkes [at] 5dollarwhitebox [dot] org
Texas, USA

Risorse

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.