OpenVZ

Fiche logiciel validé
  • Création ou MAJ importante : 18/01/11
  • Correction mineure : 04/01/13
Mots-clés

OpenVZ : virtualisation de systèmes Linux

  • Site web
  • Système : UNIX-like
  • Téléchargement
  • Version évaluée :
  • Langue(s) de l'interface :
  • Licence : GPL

    OpenVZ est un système openSource, disponible sous licence GNU GPL.

Description
Fonctionnalités générales

OpenVZ permet de virtualiser des systèmes Linux. Dans cette technologie, c'est le noyau Linux qui permet d'isoler des machines logiques entre elles, tout comme il isole déjà les processus entre eux.

OpenVZ met en place un partitionnement logique au niveau des ressources du système : les processus, le système de fichiers et les interfaces réseaux de chaque machine virtuelle sont isolés entre eux, et donc chaque machine virtuelle possède ses propres processus, son propre espace de fichiers et ses propres interfaces réseaux avec des adresses MAC et des adresses IP différentes.

On parle de virtualisation par "isolation de contexte". Les "machines virtuelles" Linux, sont plus précisément appelées "environnement virtuels (VE) ", ou "systèmes virtuels privés (VPS)" ou encore "containers (CT)".

Cette technique de virtualisation par isolation de contexte est extrêmement légère car il n'y a pas d'hyperviseur (comme c'est le cas avec Xen , cf fiche PLUME), elle consomme peu de ressources et permet d'apporter une grande souplesse dans l'administration des serveurs Linux, et indirectement une meilleure sécurité.

L'installation est très simple. Il suffit d'installer un noyau Linux spécial modifié ("patché") par OpenVZ (apt-get install ou yum install) et de démarrer sur ce nouveau noyau.

L'utilisation est également très simple : les outils de openVZ apportent un ensemble de commandes qui permettent de :

  • créer une machine virtuelle à partir d'un "template" de n'importe quelle distribution Linux (Debian, CentOS, Ubuntu etc..), ou la détruire,
  • entrer et sortir d'une machine virtuelle,
  • sauvegarder les machines virtuelles dans une partition de sauvegarde quelconque,
  • migrer une machine virtuelle d'un hôte physique à un autre,
  • vérifier la consommation des ressources (disques, mémoires...) sur la machine hôte.
Autres fonctionnalités
  • OpenVZ permet de migrer des machines virtuelles "à chaud" d'un hôte physique à un autre sans interruption de service

  • OpenVZ permet de sauvegarder des machines virtuelles en cours d'exécution soit dans un fichier .tar.gz soit par "snapshot" sur un système de fichier LVM

On peut par la suite réinstaller de manière immédiate les machines virtuelle à partir des sauvegardes. On a ainsi un niveau de redondance et un bon niveau de disponibilité.

  • OpenVZ permet de modifier "à chaud" les ressources affectées aux machines virtuelles : CPU, RAM, quotas disque à deux niveaux (machines et utilisateurs).
Interopérabilité

OpenVZ fonctionne de manière autonome (noyau modifié + commandes), mais la convivialité et la puissance d'administration est augmentée en utilisant Proxmox qui permet de créer des "clusters" de machines virtuelles openVZ et de les administrer au travers d'une interface Web.

Contexte d'utilisation dans mon laboratoire/service

Tous les services du système d'information de mon laboratoire (samba, ldap, cups, ssh, ftp, dhcp, dns, www, mysql ....) ont été "virtualisés" par OpenVZ pour arriver au paradigme "un service = une machine virtuelle".
Ainsi les services ne sont plus dépendants et tributaires d'un hôte physique... En cas de probleme on peut déplacer une machine d'un hôte physique à un autre, ou la redémarrer immédiatement à partir d'une sauvegarde.

Limitations, difficultés, fonctionnalités importantes non couvertes

OpenVZ ne permet pas de virtualiser les systèmes Windows.

OpenVZ apporte 2 types d'interface réseau :

  • une point à point avec l'hôte physique (venet)
  • une interface bridgée (veth)

Pour virtualiser certains services fonctionnant avec "broadcast" ethernet (dhcp, samba cifs) il faut faire attention à utiliser une interface réseau en mode "bridgée" (veth).

Environnement du logiciel
Distributions dans lesquelles ce logiciel est intégré

Quasiment toutes les distributions Linux (à minima Debian, CentOS, Ubuntu...).

Autres logiciels aux fonctionnalités équivalentes
  • Linux-Vserver
  • LXC
  • chroot
Environnement de développement
Type de structure associée au développement

OpenVZ est la base des containers "Virtuozzo" de la société Parallels... une solution commerciale de virtualisation de la société "Parallels". Le projet OpenVZ est supporté par la société "Parallels".

Eléments de pérennité

Une qualité et une diffusion croissante, cependant le projet concurrent LXC (Linux Containers) bien que moins mûr, a lui été intégré dans le noyau Linux depuis la version 2.6.29 et pourrait à terme s'imposer comme la solution de choix pour la virtualisation par isolation de contexte.

Environnement utilisateur
Liste de diffusion ou de discussion, support et forums

Une liste de support pour les utilisateurs http://wiki.openvz.org/Mailing_list

Documentation utilisateur
Divers (astuces, actualités, sécurité)

OpenVZ offre un certain nombre de commandes pour gérer les VPS (vzctl, vzlist, vzmigrate, vzdump, vzrestore,...).
Prenez le temps en débutant sur OpenVZ de lire le manuel de "vzctl", c'est certainement la commande que vous serez appelé à utiliser le plus souvent (création/démarrage/arrêt des VPS, exécution de commande, lancement de shell...).