Virtualisation des postes de travail : Soin et mise en service des environnements virtuels

Wes Miller

La virtualisation a évolué ces dernières années, passant d'une anomalie exigeant une explication à une technologie viable dont peu d'entre nous peuvent se passer. Peut-être l'utilisez-vous à des fins de développement, de conception Web, de formation ou de test d'assurance qualité. Peut-être faites-vous partie de l'avant-garde et avez-vous déployé une infrastructure virtuelle, ou peut-être même êtes-vous l'une des très nombreuses personnes à tirer parti de la virtualisation en « nuage » proposée par Amazon.com, Rackspace Inc. ou un autre fournisseur de nuage.

Quelle que soit la façon dont vous utilisez la virtualisation, si vous y avez recours depuis un certain temps vous vous êtes sans nul doute rendu compte qu'elle présentait son lot particulier de défis, tout comme la maintenance du matériel physique présentait ses propres dilemmes. De nombreux problèmes sont différents ; d'autres sont similaires.

Gestion des hyperviseurs

Vous avez probablement entendu parler du terme « hyperviseur ». C'est le terme à la mode dans le monde de la virtualisation. Mais les hyperviseurs ne sont pas nouveaux. Nous les utilisons depuis aussi longtemps que nous utilisons des ordinateurs virtuels. En fait, IBM a inventé le terme « hyperviseur » dans les années 1970.

L'hyperviseur est le logiciel qui présente aux invités exécutés « virtuellement » sur un système un ensemble de matériel virtualisé. Il fournit une abstraction du matériel physique pour les systèmes d'exploitation invités. La confusion est apparue avec le passage aux « hyperviseurs de type 1 » exécutés sur la plateforme x86 ces dernières années, notamment Microsoft Hyper-V et VMware ESX Server. L'hyperviseur utilisé par la plupart des gens (en particulier pour les systèmes clients) porte le nom d'« hyperviseur de type 2 ». Quelle est donc la différence ?

  1. Un hyperviseur de type 1 s'exécute directement sur le matériel hôte et ne nécessite pas de « système d'exploitation hôte ». Microsoft Hyper-V et VMware ESX Server sont des exemples courants d'hyperviseurs de type 1.
  2. Le fonctionnement d'un hyperviseur de type 2 requiert un système d'exploitation hôte. En règle générale, un hyperviseur de type 2 s'exécute principalement en tant qu'application en mode utilisateur sur son système d'exploitation hôte. Microsoft Virtual PC et VMware Workstation sont des exemples courants d'hyperviseurs de type 2.

Le plus souvent, il est préférable de recourir à un hyperviseur de type 1 pour toute charge de travail « toujours active », par exemple dans le cas d'un serveur de fichiers ou SQL virtualisé. Au minimum, il utilisera moins de ressources qu'un hyperviseur de type 2. Selon l'hôte, son démarrage peut toutefois nécessiter une ouverture de session utilisateur, ce qui ne constitue pas une bonne option pour un système stratégique. Le recours à un hyperviseur de type 2, en revanche, est plus logique pour les ordinateurs virtuels « à la demande ». Ce type de rôle comprend les ordinateurs virtuels destinés aux tests, à la compatibilité des applications ou à l'accès sécurisé.

Quels sont les avantages offerts par la virtualisation ?

La réponse la plus évidente est que la virtualisation permet de réaliser des économies sur le coût du matériel, mais cela n'est pas si simple. Évidemment, si vous avez deux systèmes serveurs dans des facteurs de forme 1U montables en rack et que vous prenez ces deux charges de travail pour les charger sur un système 1U, vous économisez sur les coûts matériels initiaux ; mais il y a un piège. Lorsque vous prenez ces deux systèmes serveurs, tous deux opèrent sans problème sur deux serveurs 1U distincts équipés de processeurs double cœur, de 2 Go de RAM et d'un disque dur SATA de 160 Go.

Maintenant, lorsque vous placerez ces deux systèmes sur un même serveur, avec la même configuration matérielle, vous devrez fractionner les ressources en deux parts égales, n'est-ce pas ? Quoique… Il vous faudra en général davantage de ressources pour un hyperviseur de type 2.

Ensuite, prenez en compte les coûts liés aux processeurs, à la RAM et aux disques durs lorsque vous évaluez comment consolider les charges de travail de physique à virtuel. Pour faire référence à la consolidation virtualisée, on emploie souvent la phrase « empilage de systèmes verticalement plutôt qu'horizontalement » car on supprime la dépendance envers n systèmes physiques d'un OEM. En outre, on demande bien plus à un système qu'on ne l'aurait fait avant la virtualisation. Cela crée une sorte de ricochet de gestion de systèmes que de nombreuses organisations ne prennent pas en compte lorsqu'elles foncent tête baissée vers la virtualisation.

Quels sont les coûts de la virtualisation ?

Autrefois, les bons logiciels de virtualisation coûtaient assez cher. Au fil du temps, le marché s'est développé et on peut aujourd'hui obtenir de nombreux types de logiciels de virtualisation pour un coût relativement modique. La plupart des fonctionnalités clés des entreprises sont toutefois encore assez onéreuses, notamment le système d'exploitation hôte ou l'hyperviseur.

Selon la charge de travail que vous prévoyez d'exécuter sur un ordinateur virtuel, vous devrez peut-être prendre en considération le basculement. Les invités peuvent parfois être endommagés et le matériel hôte peut subir des défaillances. La virtualisation ne rend pas le matériel plus fiable. Elle ne fait que modifier le taux de risque. Pour les systèmes stratégiques, vous devez tout de même établir une stratégie de sauvegarde du système d'exploitation invité, que vous sauvegardiez le conteneur d'ordinateurs virtuels proprement dit (ce qui est absolument recommandé) ou le système de fichiers qui s'y trouve.

Même si vous ne faites que virtualiser quelques systèmes d'exploitation invités à des fins de test et de développement sur un hyperviseur de type 2, vous devez quand même allouer suffisamment de RAM pour exécuter un ou plusieurs de ces invités à la fois (par-dessus le système d'exploitation hôte). Le facteur le plus ignoré en matière de gestion de virtualisation est la consommation en espace disque.

J'utilise depuis quelques temps la virtualisation en guise d'assise pour test de sécurité. Il n'y a rien de plus utile que d'exécuter du code malveillant exploitant une faille de sécurité potentielle, de constater son mode opérationnel et de revenir à une version antérieure à l'aide de la fonctionnalité d'annulation ou d'instantané de votre hyperviseur, puis de retester le tout de nouveau. Le plus merveilleux avec toutes ces annulations les unes par-dessus les autres est que l'espace disque peut rapidement être hors de contrôle. Il peut finir par dépasser largement la taille réelle du disque dur sur le système d'exploitation invité.

L'un des ordinateurs virtuels que j'utilise régulièrement possède une image de disque dur de 50 Go. Je ne me suis rendu compte de l'étendue des dégâts que lorsque j'ai tenté de le déplacer (il possédait six instantanés Vmware) ; le disque faisait plus de 125 Go.

 Voici quelques méthodes conseillées pour limiter l'impact/coût de la virtualisation :

  • Si vous utilisez un système d'exploitation client Windows sur un hyperviseur de type 2 avec une fonctionnalité « annulation », désactivez la Restauration du système Windows. Autrement, la taille du disque augmentera chaque fois que vous modifierez le système.
  • Si vous effectuez l'étape 1, soyeux rigoureux lors de la démarcation lorsque vous souhaitez créer un point d'annulation.
  • Si vous effectuez des tests de sécurité/attaque, ne comptez pas sur Windows pour revenir à un point antérieur dans le temps. Utilisez la fonctionnalité d'annulation de votre hyperviseur, car en général elle ne peut pas être contaminée comme peuvent l'être les points de restauration.
  • Exécutez les systèmes d'exploitation invités avec la quantité minimale de ressources nécessaire.
  • Assurez-vous d'avoir alloué suffisamment de RAM pour que les systèmes d'exploitation clients n'échangent pas de RAM sur disque tout le temps. Cela risque de ralentir votre hôte et tous vos invités.
  • Défragmentez vos invités en interne, puis en externe (voir la section sur la défragmentation plus loin dans cet article). Effectuez ces deux opérations régulièrement.

Prolifération des ordinateurs virtuels

Comme vous pouvez le constater, la gestion d'ordinateurs virtuels peut rapidement devenir problématique. La facilité à dupliquer un ordinateur virtuel peut être un réel atout, mais peut également créer d'énormes problèmes au niveau de la gestion et de la sécurisation des invités, du suivi des licences de systèmes d'exploitation avec Windows (antérieures à Windows Vista, où la nouvelle gestion de clés peut constituer un réel avantage) et de la non-divulgation des secrets professionnels. Il est beaucoup plus facile à un employé malintentionné de dérober un ordinateur virtuel par le biais d'un disque mémoire flash USB ou d'un disque dur USB que de tenter de subtiliser un système de poste de travail entier.

La prolifération des ordinateurs virtuels est un problème bien plus important parmi le personnel technique hautement qualifié (qui comprend les subtilités de la virtualisation). En règle générale, les problèmes sont plus répandus parmi les invités clients que parmi les invités serveurs virtualisés.

Gestion des systèmes

Les entreprises ont aujourd'hui commencé à tenter de réassumer le contrôle des systèmes virtualisés. Microsoft et VMware axent délibérément leur travail moins sur la valeur de la virtualisation proprement dite et plus sur la gestion des systèmes. Ceci est important car vous ne vous débarrassez pas des systèmes ; vous ne faites que les virtualiser.

De nombreux produits de gestion de systèmes fonctionnent parfaitement bien sur les ordinateurs virtuels, mais certaines nouvelles fonctionnalités autorisent une gestion plus intelligente des systèmes virtualisés, notamment la mise en éveil et la mise à jour des invités dont la mise à jour échouerait normalement. Dans un monde où la lutte contre les attaques est primordiale, ceci assume une importance essentielle. La dernière chose dont vous avez besoin, c'est qu'un ordinateur virtuel rarement utilisé devienne le représentant botnet local sur votre réseau d'entreprise.

Votre approche envers la gestion des systèmes doit prendre en considération le fait que vous avez des hôtes et des invités, qu'ils doivent être mis à jour en conséquence et que le rôle de chacun doit être connu. Vous ne voudriez pas qu'une solution de gestion des correctifs à la conception incorrecte mette à jour votre hyperviseur et le mette hors service au milieu de la journée pour un redémarrage, avec comme conséquence l'indisponibilité de quatre serveurs invités stratégiques.

Il convient également d'aborder la récupération de ces systèmes comme vous l'auriez fait dans le passé. Ce n'est pas parce qu'un système est virtualisé que vous ne risquez pas de le perdre suite à un endommagement du Registre ou de l'ordinateur virtuel entier. Sauvegardez avec la même ferveur que celle que vous consacrez aujourd'hui à vos systèmes physiques.

Vous devez également déterminer si votre hyperviseur prend en charge la fonctionnalité d'annulation. Ce facteur est important dans le cadre de la gestion des correctifs. Il est très facile de mettre à jour un invité le mercredi suivant la Journée Correctif (mardi), de le restaurer au point d'annulation du lundi, et de subir ensuite une attaque « zéro jour » contre laquelle il était théoriquement « protégé ». Ceci est un gros problème, étant donné que le principe de fonctionnement des technologies d'annulation implique la restauration à un point antérieur de la présentation du disque entier par rapport à l'hyperviseur, ce qui signifie que vous perdrez tous les correctifs d'applications et Windows, ainsi que toutes les signatures antivirus.

Logiciels de sécurité

Fonctionnalité d'annulation mise à part, vous devez procurer aux invités virtualisés la même protection de sécurité que celle accordée aux ordinateurs physiques, plus une sécurité supplémentaire. En ce qui concerne les menaces entrantes, les ordinateurs virtuels sont aussi vulnérables que les ordinateurs virtuels.

Mais la grande différence est que les ordinateurs virtuels non stratégiques (ceux qui ne sont pas toujours en service) ont souvent une latence pour les mises à jour antivirus et l'application de correctifs. En conséquence, ils peuvent devenir une cible beaucoup plus grande et difficile à suivre pour les attaques de type « zéro jour ». Raison de plus pour veiller à utiliser une solution de gestion de systèmes mature capable de prendre en compte ce facteur et d'appliquer des correctifs également aux systèmes virtuels.

Quant aux menaces sortantes, c'est une autre affaire. Les ordinateurs virtuels peuvent constituer une porte ouverte au vol de propriété intellectuelle. Il s'agit d'un facteur à ne pas oublier, car les ordinateurs virtuels exécutés sur des hôtes incontrôlables peuvent créer une faille de sécurité pour vos données. Tout d'abord, si l'environnement virtuel peut être copié facilement, ceci est problématique, en particulier si vous avez affaire à des exigences de conformité qui contrôlent l'accès aux données (j'ai discuté de cela dans un article en 2008, (https://technet.microsoft.com/magazine/2008.06.desktopfiles).

Ensuite, comme vous l'avez peut-être lu dans mon article sur RMS et IRM (https://technet.microsoft.com/magazine/2008.11.desktopfiles), ces contrôles reposent sur le système d'exploitation pour empêcher la capture d'écran, l'impression, et ainsi de suite. Cependant, ils ne s'étendent pas aux hyperviseurs, ce qui signifie que si du contenu protégé par RMS est affiché sur un système d'exploitation invité, le système d'exploitation hôte peut tout de même imprimer des captures d'écran ou créer une capture vidéo de l'écran.

Bien que cela ne soit pas techniquement analogue, ce n'est pas entièrement différent du « trou analogique ». Il n'y a à ma connaissance aucun moyen d'empêcher du contenu contrôlé par DRM d'être attaqué de cette manière. En réalité, même si c'était possible, on en reviendrait au problème lié à la protection contre les utilisateurs munis d'appareils photo ou de caméras, qui peuvent effectuer la même « attaque ».

Défragmentation de disque

La défragmentation de disque est un défi unique sur les ordinateurs virtuels, pour plusieurs raisons :

  1. Il existe en général deux niveaux de fragmentation : la fragmentation dans le conteneur de disques proprement dit (fragmentation vue par chaque invité pour son propre compte), ce que je nomme « fragmentation principale », et la fragmentation du fichier contenant le disque virtualisé sur les disques du système d'exploitation hôte, ou « fragmentation secondaire ».
  2. Les produits de virtualisation dont les disques font la taille minimale requise et augmentent « sur demande » peuvent donner lieu à une fragmentation secondaire.
  3. La fonctionnalité d'annulation peut rapidement entraîner non seulement un encombrement du disque, mais également une fragmentation secondaire énorme, car à mesure qu'elle consomme de l'espace disque supplémentaire sur le système d'exploitation hôte, chaque invité commence à entrer en concurrence pour les secteurs disponibles.
  4. La plupart des disques dont la taille croît sur demande n'ont pas la capacité à décroître lorsque la demande faiblit. Si vous allouez 40 Go, que vous utilisez seulement 10 Go initialement, mais qu'après un certain temps 35 Go sont requis, le disque ne récupèrera pas tout seul, ce qui veut dire que vous aurez un gros fichier présentant probablement une fragmentation secondaire.

La simple taille des disques virtuels, la rapidité avec laquelle ils peuvent changer, diminuer ou croître en taille, et le fait qu'ils sont susceptibles à deux types de fragmentation signifient qu'il faut les traiter avec davantage de diligence que les systèmes physiques.

Voici une manière d'aborder la protection de vos fichiers :

  1. Limitez l'utilisation de la technologie d'annulation, car elle provoque une croissance intempestive des fichiers de disques et sa défragmentation sur l'invité est difficilement réalisable (bien que l'hôte puisse défragmenter les fichiers qui composent le disque virtuel).
  2. Utilisez un bon produit de défragmentation de disque sur vos invités et exécutez-le régulièrement.
  3. Si vous avez recours à une technologie d'extension de disque sur demande :
    a. Utilisez l'utilitaire Sysinternals sdelete.exe comme suit : sdelete –c lettre_lecteur où lettre_lecteur est le volume que vous souhaitez réinitialiser. Par exemple, sdelete –c C: réinitialise tout l'espace disque inutilisé après la défragmentation.
    b. Utilisez une technologie de réduction de disque virtuel (si votre fournisseur en propose une) afin de réduire le conteneur de disque virtuel à sa taille minimale.
  4. Défragmentez les volumes du système d'exploitation hôte contenant les ordinateurs virtuels.

De nombreuses personnes ignorent la défragmentation de disque. L'énorme volume de courrier que j'ai reçu suite à mon article sur la défragmentation de disque en 2007 (technet.microsoft.com/magazinebeta/2007.11.desktopfiles) a démontré qu'il s'agissait d'un sujet souvent mal compris, mais ne devant pas être ignoré, même avec les systèmes virtualisés.

À mesure que la virtualisation continue de gagner en popularité, il convient de ne pas tomber dans la facilité et se laisser entraîner par le message de « consolidation » sans en bien comprendre les coûts et la complexité inhérente. Cet article devrait vous aider à identifier certains des coûts supplémentaires à prendre en considération lors de l'utilisation ou de la migration vers la virtualisation.

Wes Miller* est Responsable de produit chez CoreTrace (CoreTrace.com) à Austin au Texas. Il travaillait auparavant chez Winternals Software et comme responsable de programme chez Microsoft. Vous pouvez le contacter à l'adresse suivante :* technet@getwired.com.

Contenu associé