«

»

Avr 25 2014

[Tuto] Virtualisation: Installation et configuration d’OpenVZ sous Debian 7

Bonjour à tous, dans ce tuto nous allons voir comment installer et configurer OpenVZ sous Debian 7 et comment installer son interface Web de management.

Qu’est-ce que OpenVZ?

OpenVZ est une solution de virtualisation de niveau système d’exploitation basée sur le noyau Linux. OpenVZ permet à un serveur physique d’exécuter de multiples instances de systèmes d’exploitation isolés, qualifiées de serveurs privés virtuels (VPS) ou environnements virtuels (VE).

Par rapport aux solutions de virtualisations comme VMware et aux techniques de para-virtualisation telles que Xen, OpenVZ offre moins de flexibilité dans le choix du système d’exploitation : les systèmes d’exploitation invité et hôte doivent être de type Linux, bien que les distributions de Linux puissent être différentes dans des Environnements Virtuels différents. Cependant, la virtualisation au niveau du système d’exploitation choisie par OpenVZ offre une meilleure performance, une meilleure mise à l’échelle (i.e. capacité à monter en charge), une meilleure densité, une meilleure gestion dynamique des ressources, et une meilleure facilité d’administration que ses alternatives. Selon le site Web d’OpenVZ, cette méthode de virtualisation introduirait une très faible pénalité sur les performances : 1 à 3 % de pertes seulement par rapport à un ordinateur physique.

De plus l’installation est très simple et un panneau de contrôle permet de gérer l’ environnement virtuel.

Installation de OpenVZ

Nous allons procéder a l’installation d’OpenVZ dans une machine virtuelle sous Debian 7.

Donc sur une Debian 7 fraichement instalée nous allons commencer par rajouter le dépôt d’OpenVZ:

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 update
apt-get install linux-image-openvz-amd64

Puis éditez le fichier /etc/sysctl.conf

Et mettez les valeurs comme ceci:

# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.ip_forward = 1

# Enables source route verification
net.ipv4.conf.all.rp_filter = 1

# Enables the magic-sysrq key
kernel.sysrq = 1

# We do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0

Si les valeurs n’existent pas vous pouvez rajouter les lignes manquantes.

Enfin on installe les programmes niveau utilisateurs de OpenVZ:

apt-get install vzctl vzquota ploop vzstats

Enfin on configure grub pour démarrer automatiquement sur le kernel OpenVZ.

Éditez le fichier /boot/grub/grub.cfg et vérifier la position du kernel OpenVZ et ajustez la valeur set default=

Dans mon cas le kernel était en troisième position j’ai donc mis la valeur a 2 (le premier étant 0)

Une fois tout cela fait vous pouvez redémarrer votre machine et démarrer sur le kernel d’OpenVZ

Une fois le serveur redémarrer vous pouvez vérifier sur quel Kernel vous êtes avec la commande

uname -a

Utilisation de OpenVZ

Maintenant que OpenVZ est installé nous allons créer notre premier « VPS »

A l’instar des solutions de virtualisation classique l’installation d’un système d’exploitation ne se fait pas avec un CD d’installation ou un fichier ISO, la mise en place d’un VPS se fait par le biais de « template » d’OS disponible directement sur le site d’OpenVZ à l’adresse suivante:

http://openvz.org/Download/template/cache

Il suffit juste de télécharger les archives et de les placer dans le dossier:

/var/lib/vz/template/cache

Sans les décompresser.

Nous allons donc commencer par installer une Ubuntu 13.10

#Téléchargenment du template
cd /var/lib/vz/template/cache
wget http://download.openvz.org/template/precreated/ubuntu-13.10-x86_64.tar.gz

Une fois le téléchargement terminé il vous suffit d’utiliser la commande « vzctl » pour créer le VPS.

#Création du VPS
vzctl create 101 --ostemplate ubuntu-13.10-x86_64

Étant donnée que les ID de container compris entre 0 et 100 sont reservés par OpenVZ, on nomme le premier container 101.

Cela ne devrais pas prendre plus d’une minutes.

root@openvz:~# vzctl create 101 --ostemplate ubuntu-13.10-x86_64
Creating container private area (ubuntu-13.10-x86_64)
Performing postcreate actions
CT configuration saved to /etc/vz/conf/101.conf
Container private area was created

Le VPS est créer mais pas encore démarrer mais avant de le démarrer nous allons lui assigner une adresse IP, un hostname, taille de disque, swap etc

Il existe des templates de configuration pour la quantité de RAM, SWAP, taille du disque associé à un VPS il sont dans le dossier « /etc/vz/conf » par défaut celui utilisé est « ve-vswap-256m.conf-sample »

Pour changer les valeurs de notre VPS il suffit d’utiliser la commande vzctl:

#On associe une adresse IP:
vzctl set 101 --ipadd 192.168.2.40 --save
#On associe un server DNS
vzctl set 101 --nameserver 8.8.8.8 --save
#On change le hostname
vzctl set 101 --hostname Ubuntu13 --save
#On configure le mot de passe root
vzctl set 101 --userpasswd root:motdepassroot
#Taille du disque a 3G par exemple:
vzctl set 101 --diskspace 3G:3G --save

Etc.. il y a beaucoup d’options pour vzctl je vous recommande de lire le MAN de cette commande.

Maintenant que notre VPS est plus ou moins configuré nous allons pouvoir le démarrer:

vzctl start 101

Exemple:

root@openvz:/etc/vz/conf# vzctl start 101
Starting container...
Container is mounted
Adding IP address(es): 192.168.2.40
Setting CPU units: 1000
Container start in progress...

Une fois le container démarré vous pouvez entrer dedans avec la commande:

vzctl enter 101

Vous êtes maintenant dans votre VPS !

Vous pouvez maintenant utiliser cette machine comme un véritable OS.

Si comme moi votre serveur OpenVZ est configuré en bridge (j’utilise VirtualBox) vous pouvez directement accéder à votre VPS via SSH depuis votre reseau local:

9:54[denis@denis-laptop:~] ssh root@192.168.2.40
The authenticity of host '192.168.2.40 (192.168.2.40)' can't be established.
RSA key fingerprint is 3e:da:b4:ec:4c:bf:6b:00:ca:d9:7c:de:a6:58:34:bc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.40' (RSA) to the list of known hosts.
root@192.168.2.40's password:

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

root@Ubuntu13:~#

Retournons sur notre serveur OPenVZ et utilisons quelques commandes.

Quittez votre VPS en tapant exit et maintenant que vous êtes de retour dans votre serveur vous pouvez utiliser les commandes suivantes:

vzlist, pour lister les vps actifs.

root@openvz:~# vzlist
 CTID NPROC STATUS IP_ADDR HOSTNAME
 101 22 running 192.168.2.40 Ubuntu13

CTID est l’ID de votre VPS dans notre cas celui que nous avons créer est le « 1 »

Vous avez aussi les commandes:

vzctl stop CTID # pour éteidre le VPS
vzctl destroy CTID # Pour l'effacer

Maintenant que vous connaissez les bases de OpenVZ, nous allons installer une interface WEB pour gérer notre serveur OpenVZ plus simplement :)

Installation de OpenVZ Web Panel

L’installation est simple est automatique, il vous suffit simplement de lancer la commande suivante:

wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh

L’ors de l’installation il se peut que vous obtenez une erreur liée à Ruby.
Il suffit simplement de changer la version de Ruby de 1.9 à 1.8 avec les commandes suivantes:

apt-get install ruby-switch
ruby-switch --set ruby1.8

Et maintenant vous pouvez relancer l’installation de OpenVZ Web Panel:

wget -O - http://ovz-web-panel.googlecode.com/svn/installer/ai.sh | sh

Une fois l’installation d’OpenVZ Web Panel terminée vous pouvez y accéder via votre navigateur internet préféré via l’IP de votre serveur OpenVZ et en utilisant le port 3000.
Utilisez les logins admin/admin pour vous connecter à l’Interface web.
Vous accéder alors au dashboard de OpenVZ.

OpenVZDash

OpenVZDash

A partir de la vous pouvez manager vos VPS, en créer des nouveaux, télécharger les templates d’OS, modifier ou créer des templates de serveurs etc…

Dans un prochain tutoriel sur OpenVZ nous allons voir comment ajouter un serveur OPenVZ et migrer vos VPS d’un à l’autre.

Amusez-vous bien avec OpenVZ :)

(7 commentaires)

Passer au formulaire de commentaire

  1. bouthaina

    bonjour,
    comment crée un contener en mode graphique

    cordialement

  2. nargote

    Super Tutoriel !
    Très bien expliqué et fonctionnel
    Ça ouvre beaucoup de possibilité .
    Je vais déployer openvz dans ma boite.
    (d’ailleurs OVH l’utilise pour ses VPS )
    Merci pour ce Tuto
    dans les idée : maj pour jessie ?

  3. Malek Clairand

    Bonjour à tous,

    je souhaite une aide pour une config sous OpenVZ

    2 VM à créer, 1 maitre et 1 esclace

    Merci de l’aide et des réponses que vous pourrez m’apporter.

    Cordialement.

    1. Denis

      Salut Malek,

      Désolé mais sans plus de détail je ne peux pas t’aider.

      Cordialement,

      Denis

  4. dudulhp

    Bonjour
    Un petit ajout a votre tuto (si je peux) pour éviter :

    apt-get install linux-image-openvz-amd64

    E: Impossible de trouver le paquet linux-image-openvz-amd64

    Un petit : apt-cache search linux-image pour lister/connaitre le nom de votre paquet a installer.

    Merci pour trés bon tuto
    Cordialement

  5. noname98

    Bonjour,

    Encore une fois, merci beaucoup pour ce tutoriel très pédagogique.

    Juste une petite remarque, il ne faut jamais créer de machines virtuels avec de ID inférieur à 101 (les ID 0 à 100 sont réservés).

    Dans le cas contraire on rencontre des problèmes par exemple pour la sauvegarde ou la restauration des VM avec des ID de 0 à100.

    Cordialement

    1. Denis

      Effectivement, merci piur la précision, je vais mofifier mon tuto :)

      « The OpenVZ software reserves the IDs ranging from 0 to 100. Though OpenVZ uses only ID 0, future versions might use additional Container IDs for internal needs. To facilitate upgrading, please do not create Containers with IDs below 101. »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Lire les articles précédents :
tux-bonne-annee
Le site fête sa seconde année !

Le 1er décembre 2011 j’ai posté le premier article de ce blog.

Fermer