Linux dans Hyper-V avec Windows Server 2012 R2 et System Center 2012 R2

En 2007 j’écrivais mes premiers articles concernant l’installation d’Ubuntu dans Virtual PC (ici et ici) et ce n’était pas très glorieux. Avec Hyper-V les Linux Integration Services ont commencé à être développés par Microsoft pour quelques distributions de Linux pour apporter aux systèmes supportés (RHEL et CentOS aujourd’hui) des fonctionnalités comme les drivers synthétiques, la synchronisation de l’horloge, l’arrêt du système, etc.

En juillet 2009, Microsoft a commencé à soumettre directement à la communauté Linux le code source de ses composants Linux, sous licence GPLv2, pour intégration au sein du noyau Linux. Depuis la version 2.6.32, le noyau Linux contient donc les drivers synthétiques permettant aux systèmes Linux de tirer parti de l’environnement Hyper-V. Mes premières expérimentations en mai 2010 sur ce noyau furent prometteuses, mais pas encore optimales.

Au passage, pour les sceptiques : https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/drivers/hv?id=refs/tags/v3.10.4

Aujourd’hui les choses sont nettement plus abouties et ont atteint un niveau de fiabilité largement digne d’une production. Mieux : Microsoft fait en sorte que Hyper-V (de même que Windows Azure) soit la meilleure infrastructure pour exécuter Linux.

Pour me convaincre que la réalité était conforme à notre discours, j’ai testé rapidement l’installation de RHEL, Debian 7 et Ubuntu 13.04 (serveur et desktop). J’étais prêt à décrire ici l’installation d’Ubuntu 13.04 Desktop, mais que dire, sinon qu’il n’y a rien de particulier à raconter. En effet l’installation, le mode graphique, la carte réseau synthétique, la synchronisation horaire, le shutdown, tout fonctionne comme attendu, sans aucune manipulation compliquée. Pourquoi ? Parce que les Linux Integration Services (LIS) sont aujourd’hui inclus dans :

  • Red Hat Enterprise Linux 5.9 et 6.4
  • SUSE Linux Enterprise Server 11 SP2 et SP3
  • Ubuntu Server 12.04 LTS, 12.10 et 13.04
  • CentOS 5.9 et 6.4
  • Oracle Linux 6.4
  • Debian 7.0

Par exemple, sur Ubuntu Desktop, la commande lsmod montre les drivers (hv_*) des LIS chargés :

image

(Installation faite sur Hyper-V de Windows 8.1 Preview)

Dans Hyper-V de Windows Server 2012 R2, parmi les améliorations maintenant disponibles, on peut citer :

  • Un driver synthétique Frame Buffer pour l’affichage graphique des Linux de type desktop.
  • Le support de la mémoire dynamique (Non ? Si !).
  • Le support des sauvegardes à chaud (sans arrêt ni suspension de la VM !).
  • L’extension dynamique des VHDX de taille fixe (idem, sans arrêt de la VM !).

Et ce n’est pas tout : jouer avec un Linux graphique sur son PC est une chose. Déployer et gérer une infrastructure d’entreprise incluant des serveurs Linux en est une autre. Avec Windows Server 2012 R2 et System Center 2012 R2, gérer des machines virtuelles Windows et Linux dans le datacenter devient équivalent, grâce à Virtual Machine Manager, Configuration Manager, Operations Manager, Data Protection Manager. Par exemple :

Virtual Machine Manager :

  • Personnaliser les instances d’OS lors du déploiement
  • Utiliser des modèles de services pour des déploiement multi-niveaux (multi-tiers)
  • Scale out avec des modèles de services
  • Effectuer des Live migrations entre serveurs Hyper-V

Configuration Manager :

  • Inventaire matériel
  • Inventaire des applications
  • Collections basées sur l’inventaire
  • Distribuer et installer des applications
  • Rapports sur l’inventaire et la distribution d’applications
  • Protection anti-virus

Operations Manager

  • Surveiller la santé et les performances de l’OS
  • Surveiller les fichiers journaux
  • Surveiller les serveurs applicatifs JEE
  • Surveiller les applications métiers
  • Surveiller les bases de données et serveurs web
  • Auditer les événements de sécurité

Quant aux sauvegardes avec DPM, il est possible avec 2012 R2 d’effectuer des sauvegardes de VM Linux en ligne, cohérentes (équivalent de VSS pour les VM Windows), sans arrêter ni suspendre les VM en production.

Il y aurait beaucoup à dire sur le sujet, et je vous conseille de jeter un œil sur cette présentation du dernier TechEd US (ce n’est pas de la science fiction, ce peut être dans votre datacenter dès demain !) :

et sur cet article du blog In the Cloud :

Pour vos tests, vous pouvez télécharger les previews suivantes :