Continuer vos achats

Votre panier est vide

    Machines virtuelles et mémoire

    13 Jun, 2016

    Partager cet article

    À mesure que nous virtualisons de plus en plus de systèmes dans les centres de données modernes, la pression sur les capacités mémoire de la couche de calcul augmente. Il vous suffit de jeter un œil à l’un de vos hôtes hyperviseurs, et il y a de fortes chances que vous utilisiez beaucoup plus de mémoire que de processeur. La mémoire est un élément essentiel pour obtenir les meilleures performances d'une application, et la virtualisation accentue encore cette pression. Tant que vous ne faites pas tourner des machines virtuelles énormes, NUMA n'est généralement pas une préoccupation majeure, car les systèmes sont suffisamment répartis pour équilibrer la charge, et les hyperviseurs modernes sont assez intelligents pour allouer des cœurs de processeur proches de la mémoire correspondante.

    Les technologies de gestion de la mémoire reposent sur une ou plusieurs des méthodes suivantes : la compression, le partage et l’échange (swapping). Le partage est une technique courante où les pages mémoire identiques (comme les DLLs chargées sous Windows ou les modules du noyau sous Linux) sont partagées entre les machines virtuelles. Il s’agit en quelque sorte d’une déduplication de la mémoire, avec très peu de surcharge, bien qu’une table de correspondance doive être maintenue pour permettre à plusieurs pointeurs mémoire de référencer la même page.

    Vient ensuite la compression. Ce procédé compresse simplement les pages mémoire afin de gagner de l’espace. Les pages mémoire se comportent comme n’importe quelles données générées par une machine, et se compressent généralement très bien (à l’exception des systèmes hautement sécurisés avec des pages chiffrées). L’inconvénient de la compression est que chaque opération de lecture ou d’écriture doit passer par un mécanisme de compression/décompression, ce qui peut ralentir l'accès à la mémoire.

    Enfin, l’échange de mémoire se présente sous deux formes. Le ballooning est un processus dans lequel un pilote de machine virtuelle se gonfle progressivement pour récupérer de la mémoire, forçant la VM à échanger elle-même ses applications aussi intelligemment que possible. La seconde méthode consiste pour l’hyperviseur à échanger directement la mémoire de la machine virtuelle vers le disque. Ce procédé est beaucoup moins convivial car il ne tient pas compte des pages ou applications concernées.

    À l’exception de l’échange, chacune de ces techniques exerce une pression accrue sur la fiabilité et la performance de la mémoire, car plus de données actives sont référencées dans un plus petit nombre de pages mémoire. Cela signifie que la fiabilité de la mémoire est aussi importante que son rapport qualité/prix. De plus, les meilleures performances proviennent toujours d’un accès non réservé à autant de mémoire que nécessaire, ce qui rend l’évitement de ces techniques de gestion de mémoire un objectif principal pour tout administrateur système.

    Disposer de suffisamment de mémoire semble être un combat permanent : c’est presque toujours la première ressource à être saturée. Le défi majeur ici est que cette situation n’est pas passée inaperçue et que la mémoire de marque est vendue à prix élevé. C’est là que la mémoire tierce peut réellement apporter un bénéfice à toute organisation. Une croyance répandue veut que cela annule la garantie constructeur (serveur ou hyperviseur), ce qui est tout simplement faux.

    Nos techniciens spécialisés, qui possèdent plus de 9 ans d’expérience avec la mémoire serveur, peuvent vous aider à trouver les meilleures options pour la mise à niveau de votre serveur. Avec des modules mémoire "Grade A", une garantie à vie et une équipe de support dédiée, vous pouvez faire confiance à Offtek pour que vos serveurs fonctionnent toujours à 100%.