Virtualizzazione · 5 min read · Jan 18, 2026
OpenVZ Su Debian Etch Per Webserver
OpenVZ Su Debian Etch Per Webserver
Introduzione
La virtualizzazione è fantastica! È una buona pratica per i server, poiché rende le cose più sicure, scalabili, sostituibili e replicabili. Tutto questo a costo di una complessità aggiuntiva minima.
Questa guida è scritta durante l’installazione di una macchina Supermicro con 2 opteron dual-core (64-bit), 2 dischi identici (per RAID) e una grande quantità di memoria. Perché OpenVZ e non XEN o il recente modulo del kernel KVM? Beh, XEN non è molto stabile per le architetture a 64 bit (ancora), e comporta un certo overhead (ogni VM esegue il proprio kernel) a causa della sua complessità. KVM è molto semplice ma ti costringe a eseguire un kernel come un processo, quindi la VM non può beneficiare di sistemi multi-core.
Con OpenVZ viene eseguito solo un kernel per l’ambiente host e tutte le VM, questo rende l’installazione snella e un buon candidato per i webserver.
Installa il sistema di hosting
Prima installa Etch (assicurati di configurare RAID con l’installer).
Potresti voler liberarti di alcune directory e collegamenti ingombranti nella tua root (e, come il resto della guida, come root):
cd /
rm cdrom
unlink vmlinuz.old
unlink vmlinuz
rmdir selinux/
rmdir initrd
unlink initrd.img.old
rmdir opt
rmdir srv/Ora vogliamo compilare un kernel personalizzato abilitato per OpenVZ, abbiamo seguito in parte questa guida sul sito di OpenVZ. Una breve panoramica di cosa abbiamo fatto:
apt-get update
apt-get install linux-source-2.6.18 kernel-patch-openvz vzctl vzquota # questo comando potrebbe richiedere di confermare
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 # ne hai bisogno nella riga successiva
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-grubPoi (dopo che potresti aver modificato un po’ il /boot/grub/menu.lst per impostare il kernel corretto come predefinito) puoi riavviare.
Dopo il riavvio, utilizzando il kernel abilitato per OpenVZ, controlla se tutto funziona:
ifconfig # dovrebbe elencare le tue interfacce e un'interfaccia "venet" aggiuntiva
cat /proc/vz/* # dovrebbe mostrare qualcosa (non è molto importante cosa mostra)
cat /proc/cpuinfo # verifica che le tue CPU siano attive
cat /proc/mdstat # RAID funzionante
lsmod # dovrebbe mostrare alcuni moduli che iniziano con le lettere "vz"Crea Server Privati Virtuali (VPS)
Ora configuriamo, avviamo un VPS dal template minimale predefinito (puoi trovarlo in /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 # dagli un po' di memoria CONTROLLAMI
vzctl start 101
vzctl exec 101 passwdPoi puoi connetterti con il VPS tramite
ssh 10.0.0.101, e nota il prompt colorato…
Questo template è un template Sarge (3.1), e voglio che sia Etch (4.0), quindi quando sei connesso al VPS come root fai:
nano /etc/apt/sources.list # modificalo per corrispondere al sources.list della tua installazione host (Etch)
aptitude update
aptitude dist-upgradeOra prova il tuo nuovo VPS e rendilo funzionante, installa i pacchetti che desideri avere a disposizione poiché questi sistemi serviranno in seguito come base per ulteriori VPS.
Successivamente creiamo un template dal VPS appena personalizzato, è una cosa semplice:
vzctl stop 101 # fermalo
rm -f /var/lib/vz/private/101/etc/ssh/ssh_host_* # rimuovi le chiavi (ne verranno generate di nuove al primo avvio)
cd /var/lib/vz/private/101/
tar czf /var/lib/vz/template/cache/debian-etch-20061218-amd64.tar.gz .Come direbbe Borat: “Bello! Mi piace!”
Ora possiamo configurare e avviare alcuni VPS aggiuntivi, come prima ma ora leggermente modificati:
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 # dagli un po' di memoria CONTROLLAMI
vzctl start 102
vzctl exec 102 passwde (sì, vedo che non ci sono molte modifiche interessanti)…
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 # dagli un po' di memoria CONTROLLAMI
vzctl start 103
vzctl exec 103 passwde avvia il primo VPS (vzctl start 101) poiché l’abbiamo messo offline per usarlo come base del nostro template, ricordi?
Ora abbiamo 3 VPS in esecuzione. Testalo con vzlist, output:
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.orgI VPS necessitano di memoria, per impostazione predefinita ne vengono dati troppo pochi, quindi imposta vmguarpages, oomguarpages, privvmpages, ecc., ecc., ecc., nei file di configurazione del tuo VPS (/etc/vz/conf/*.conf) su valori ragionevoli – una pagina equivale a 4Kb. Gli errori che si verificano perché hai limitato troppo il tuo VPS possono essere letti eseguendo:
vzctl exec 101 cat /proc/user_beancountersL’ultima colonna dell’UBC (user_beancounter) dovrebbe contenere solo zeri, se altrimenti prova ad aumentare alcune barriere e limiti. Consulta la documentazione di OpenVZ per ulteriori informazioni sulle singole opzioni.
Ora possiamo continuare a configurare i nostri apache, postfix, eccetera sui VPS… Buona fortuna!
Ohh e qui sotto il mio file /etc/vz/conf/101.conf, puzza, ho appena aumentato alcuni valori in modo grossolano perché avevamo errori nel user_beancounter.
cat /etc/vz/conf/101.conf# Copyright (C) 2000-2006 SWsoft. Tutti i diritti riservati.
#
# Questo programma è software libero; puoi ridistribuirlo e/o modificarlo
# secondo i termini della GNU General Public License come pubblicato dalla
# Free Software Foundation; sia la versione 2 della Licenza, o
# (a tua scelta) qualsiasi versione successiva.
#
# Questo programma è distribuito nella speranza che possa essere utile,
# ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di
# COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la
# GNU General Public License per ulteriori dettagli.
#
# Dovresti aver ricevuto una copia della GNU General Public License
# insieme a questo programma; se non, scrivi alla Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
VERSION="2"
ONBOOT="yes"
# Parametri UBC (sotto forma di barriera:limite)
# Parametri primari
AVNUMPROC="40:40"
NUMPROC="255:255"
NUMTCPSOCK="80:80"
NUMOTHERSOCK="255:255"
VMGUARPAGES="500000:9223372036854775807"
# Parametri secondari
KMEMSIZE="33554432:36909875"
TCPSNDBUF="319488:524288"
TCPRCVBUF="524288:524288"
OTHERSOCKBUF="439296:439296"
DGRAMRCVBUF="132096:132096"
OOMGUARPAGES="500000:9223372036854775807"
# Parametri ausiliari
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"
# Parametri di quota disco (sotto forma di softlimit:hardlimit)
DISKSPACE="1048576:1153434"
DISKINODES="200000:220000"
QUOTATIME="0"
# Parametro del fair scheduler 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"Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.