Virtualisation · 5 min read · Jan 18, 2026

OpenVZ Sur Debian Etch Pour Serveurs Web

OpenVZ Sur Debian Etch Pour Serveurs Web

Introduction

La virtualisation est agréable ! Une bonne pratique pour les serveurs, car elle rend les choses plus sécurisées, évolutives, remplaçables et reproductibles. Tout cela au prix d’une complexité ajoutée minime.

Ce guide est rédigé lors de l’installation d’une machine Supermicro avec 2 opterons à double cœur (64 bits), 2 disques identiques (pour RAID) et une quantité de mémoire. Pourquoi OpenVZ et pas XEN ou le récent module de noyau KVM ? Eh bien, XEN n’est pas très stable pour les architectures 64 bits (pour l’instant), et il entraîne pas mal de surcharge (chaque VM exécute son propre noyau) en raison de sa complexité. KVM est très simple mais vous oblige à exécuter un noyau comme un seul processus, donc la VM ne peut pas bénéficier des systèmes multicœurs.

Avec OpenVZ, un seul noyau est exécuté pour l’environnement hôte et toutes les VM, ce qui rend la configuration légère et un bon candidat pour les serveurs web.

Installer le système d’hébergement

Tout d’abord, installez Etch (assurez-vous de configurer RAID avec l’installateur).

Vous voudrez peut-être vous débarrasser de certains répertoires et liens encombrants dans votre racine (et, comme le reste du guide, en tant que root) :

cd /
rm cdrom
unlink vmlinuz.old
unlink vmlinuz
rmdir selinux/
rmdir initrd
unlink initrd.img.old
rmdir opt
rmdir srv/

Maintenant, nous voulons compiler un noyau personnalisé activé OpenVZ, nous avons en quelque sorte suivi ce guide sur le site OpenVZ. Un aperçu rapide de ce que nous avons fait :

apt-get update
apt-get install linux-source-2.6.18 kernel-patch-openvz vzctl vzquota # cette commande peut nécessiter votre confirmation
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 # vous en avez besoin dans la ligne suivante
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-grub

Ensuite (après avoir peut-être modifié un peu le /boot/grub/menu.lst pour par défaut au bon noyau), vous pouvez redémarrer.

Après le redémarrage en utilisant le noyau activé OpenVZ, vérifiez si tout fonctionne :

ifconfig # devrait lister vos interfaces et une interface "venet" supplémentaire
cat /proc/vz/* # devrait montrer quelque chose (pas très important encore ce qu'il montre)
cat /proc/cpuinfo # voir que vos CPU sont actifs
cat /proc/mdstat # RAIDs fonctionnent
lsmod # devrait montrer certains modules commençant par les lettres "vz"

Créer des Serveurs Privés Virtuels (VPS)

Maintenant, nous configurons, démarrons un VPS à partir du modèle minimal par défaut (vous pouvez le trouver dans /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 # donnez-lui un peu de mémoire CHECKME
vzctl start 101
vzctl exec 101 passwd

Ensuite, vous pouvez vous connecter avec le VPS par

ssh 10.0.0.101

, et notez l’invite colorée…

Ce modèle est un modèle Sarge (3.1), et je veux qu’il soit Etch (4.0), donc lorsque vous êtes connecté au VPS en tant que root, faites :

nano /etc/apt/sources.list # éditez-le pour qu'il corresponde au sources.list de votre installation hôte (Etch)
aptitude update
aptitude dist-upgrade

Maintenant, essayez votre nouveau VPS, et rendez-le fonctionnel, installez les paquets que vous souhaitez avoir autour puisque ces systèmes serviront plus tard de base pour d’autres VPS.

Ensuite, nous créons un modèle à partir du VPS juste personnalisé, c’est une chose facile :

vzctl stop 101 # arrêtez-le
rm -f /var/lib/vz/private/101/etc/ssh/ssh_host_* # supprimez les clés (de nouvelles seront générées au premier démarrage)
cd /var/lib/vz/private/101/
tar czf /var/lib/vz/template/cache/debian-etch-20061218-amd64.tar.gz .

Comme dirait Borat : “Bien ! J’aime !”

Maintenant, nous pouvons configurer et exécuter quelques VPS supplémentaires, comme avant mais maintenant légèrement modifiés :

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 # donnez-lui un peu de mémoire CHECKME
vzctl start 102
vzctl exec 102 passwd

et (oui, je vois qu’il n’y a pas trop de changements intéressants)…

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 # donnez-lui un peu de mémoire CHECKME
vzctl start 103
vzctl exec 103 passwd

et démarrez le premier VPS (vzctl start 101) puisque nous l’avons mis hors ligne pour l’utiliser comme base de notre modèle, vous vous en souvenez ?

Maintenant, nous avons 3 VPS en cours d’exécution. Testez-le avec vzlist, sortie :

      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.org

Les VPS ont besoin de mémoire, par défaut, ils en reçoivent beaucoup trop peu, alors veuillez définir les vmguarpages, oomguarpages, privvmpages, etc., etc., etc., dans vos fichiers de configuration VPS (/etc/vz/conf/*.conf) à des valeurs raisonnables - une page équivaut à 4 Ko. Les erreurs qui se produisent parce que vous avez restreint votre VPS trop peuvent être lues en exécutant :

vzctl exec 101 cat /proc/user_beancounters

La dernière colonne des UBC (user_beancounter) ne devrait contenir que des zéros, sinon essayez d’augmenter certaines barrières et limites. Consultez la documentation OpenVZ pour plus d’informations sur les options individuelles.

Maintenant, nous pouvons continuer à configurer nos apaches, postfixes, etc. sur les VPS… Bonne chance !

Oh et ci-dessous mon fichier /etc/vz/conf/101.conf, ça pue, j’ai juste augmenté certaines valeurs à la va-vite parce que nous avions une erreur dans le user_beancounter.

cat /etc/vz/conf/101.conf
#  Copyright (C) 2000-2006 SWsoft. Tous droits réservés.
#
#  Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
#  selon les termes de la GNU General Public License telle que publiée par
#  la Free Software Foundation ; soit la version 2 de la Licence, ou
#  (à votre choix) toute version ultérieure.
#
#  Ce programme est distribué dans l'espoir qu'il sera utile,
#  mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de
#  COMMERCIALISATION ou d'ADAPTATION À UN OBJECTIF PARTICULIER. Voir la
#  GNU General Public License pour plus de détails.
#
#  Vous devriez avoir reçu une copie de la GNU General Public License
#  avec ce programme ; si ce n'est pas le cas, écrivez à la Free Software
#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
VERSION="2"
ONBOOT="yes"
# Paramètres UBC (sous forme de barrière:limite)
# Paramètres principaux
AVNUMPROC="40:40"
NUMPROC="255:255"
NUMTCPSOCK="80:80"
NUMOTHERSOCK="255:255"
VMGUARPAGES="500000:9223372036854775807"
# Paramètres secondaires
KMEMSIZE="33554432:36909875"
TCPSNDBUF="319488:524288"
TCPRCVBUF="524288:524288"
OTHERSOCKBUF="439296:439296"
DGRAMRCVBUF="132096:132096"
OOMGUARPAGES="500000:9223372036854775807"
# Paramètres auxiliaires
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"
# Paramètres de quota de disque (sous forme de softlimit:hardlimit)
DISKSPACE="1048576:1153434"
DISKINODES="200000:220000"
QUOTATIME="0"
# Paramètre de planification équitable 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"
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.