#TODO
Vous souhaitez en savoir plus ?
Dans cet article nous allons voir comment créer un serveur virtualisé avec OpenVZ. Mais tout d’abord, essayons de comprendre en quoi un serveur virtualisé peut être utile.
Qu’est ce qu’OpenVZ
OpenVZ est un virtualiseur grâce auquel vous pourrez créer des conteneurs isolés les uns des autres sur le même serveur physique. Cela vous permettra ainsi d’assurer la compatibilité et le bon fonctionnement de vos diverses applications web ayant chacune des besoins et des configurations différentes.
En effet les différents conteneurs sont exécutés de la même manière qu’un serveur autonome, ils peuvent donc être configurés/redémarrés/sécurisés de manière indépendante les uns des autres.
Il faut également savoir qu’à la différence d’autres virtualiseurs tels que Quemu, Xen, etc., OpenVZ utilise le noyau Linux du serveur Hôte. C’est pour cette raison qu’il vous sera malheureusement impossible d’y installer une machine virtualisée sous Windows, BSD ou toutes autres distributions ; Linux utilisant un kernel différent du serveur hôte.
OpenVZ dispose de nombreux outils en lignes de commande qui vous permettront de gérer vos conteneurs virtualisés. Cependant, je vous conseille pour des raisons pratiques et sécuritaires d’installer sur vos différentes VM des serveurs SSH dans le but de paramétrer avec plus de finesse les droits d’accès de chaque utilisateur amené à s’y connecter.
Commençons avec l’installation d’OpenVZ
Nous nous baserons ici sur une installation fraîche de Debian, l’installation de celle-ci sur votre serveur hôte ne sera cependant pas traitée ici.
Le choix ici a été de préférer une Débian ayant le strict minimum (gestion réseaux + serveur SSH, mais évidemment sans serveur X). En effet il est inutile de surcharger le serveur hôte d’une couche graphique inutile.
Connectez-vous au serveur hôte puis entrez les commandes suivantes :
echo "deb http://download.openvz.org/debian wheezy main" >> /etc/apt/sources.list wget http://ftp.openvz.org/debian/archive.key apt-key add archive.key apt-get updatepuis sudo apt-get install linux-image-openvz-amd64
…ou dans le cas où vous utilisez une architecture i686, remplacez la dernière ligne par :
sudo apt-get install linux-image-openvz-686
Redémarrez votre serveur et vérifiez que l’installation s’est correctement déroulée en entrant la commande suivante :
uname -r
Cette commande devrait afficher à l’écran une ligne de ce type : 2.6.32-5-openvz-amd64linux-image-openvz-amd64
Installer Vim
Pour configurer un certain nombre d’outils, nous allons installer l’éditeur de texte Vim (vous pouvez tout autant installer Nano ou Emacs en fonction de vos affinités)
sudo apt-get install vim
Le fichier de configuration
sudo vim /etc/sysctl.conf
Ajoutez-y ou modifiez les paramètres suivants, puis sauvegarder ([echap] :wq sous Vim) :
net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp=0 net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=1 kernel.sysrq=1 net.ipv4.conf.default.send_redirects=1 net.ipv4.conf.all.send_redirects=0
Nous allons également installer quelques paquets supplémentaires qui permettront de gérer vos conteneurs OpenVZ :
sudo apt-get install vzctl vzquota ploop vzstats
Suite à quoi, il vous faudra recharger votre configuration. Utilisez la commande suivante pour cela :
sudo sysctl -p
Nous allons également effectuer un routage des ports à l’aide de la commande suivante :
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
Puis enfin, créez une symbolique vers vos différents conteneurs :
sudo ln -s /var/lib/vz /vz
Simplifiez vous la gestion d’OpenVZ
Pour nous simplifier la gestion de vos conteneurs au quotidien, je vous propose d’installer l’interface web de gestion d’OpenVZ.
Cette interface de gestion vous permettra d’ajouter ou modifier vos conteneurs directement via votre navigateur web.
Pour cela, ouvrez un terminal sur votre serveur hôte puis entrez la commande suivante :
wget http://ovz-web-panel.googlecode.com/svn/installer/ai.sh
Cette commande récupérera le script d’installation de l’interface web, afin de le lancer. Vous devrez modifier les droits d’exécution de ce fichier à l’aide de la commande suivante :
chmod +x ai.sh
Enfin, exécutez le script avec la commande :
./ai.sh
Il ne vous reste plus qu’a redémarrer votre serveur pour accéder à l’aide du navigateur présent sur votre poste client à l’adresse suivante : http://IP_DU_SERVEUR_HOTE:3000