![]() |
Licence Creative Commons by-nc-nd
(Paternité, pas d'utilisation commerciale, pas de modification) |
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 :
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 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.
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.
OpenVZ ne permet pas de virtualiser les systèmes Windows.
OpenVZ apporte 2 types d'interface réseau :
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).
Quasiment toutes les distributions Linux (à minima Debian, CentOS, Ubuntu...).
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".
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.
Une liste de support pour les utilisateurs http://wiki.openvz.org/Mailing_list
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...).