OpenVZ
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.
-
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).
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 :
- 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).