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/vservers | Directory home per i file dei vservers |
| /etc/vservers.conf | file di configurazione di base (non c’è molto da vedere lì) |
| /etc/vservers | Contiene le directory di configurazione per ogni server virtuale |
| /usr/sbin/vserver | Utility per interagire, costruire, avviare, fermare, entrare, ecc. i vservers |
| /bin/vshelper | Un’altra utility per controllare come funzionano i vservers |
| /usr/lib/util-vserver | Script 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
-n
–hostname
–interface
-m debootstrap – -d
Quindi, il nostro primo server virtuale avrà le seguenti informazioni:
| NOME_VSERVER | vserver1 |
| FQDN | vserver1.mydomain.com |
| DISPOSITIVO_NET | eth0 |
| IP | 192.168.1.10 |
| CIDR | 24 (255.255.255.0) |
| DISTRIBUZIONE_DEBIAN | sarge |
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
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
- Il Progetto Linux-vserver
- http://www.13thfloor.at/vserver/project
- Debian GNU Linux
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.