La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

2 Tout ou presque sur Dynamic Memory Jérôme Mombelli - Christophe Dubos - Fabrice Meillon Architectes Infrastructure Microsoft France.

Présentations similaires


Présentation au sujet: "2 Tout ou presque sur Dynamic Memory Jérôme Mombelli - Christophe Dubos - Fabrice Meillon Architectes Infrastructure Microsoft France."— Transcription de la présentation:

1

2 2 Tout ou presque sur Dynamic Memory Jérôme Mombelli - Christophe Dubos - Fabrice Meillon Architectes Infrastructure Microsoft France

3 3 Objectif de la session Répondre aux questions A quoi cela sert-il ? Comment cela fonctionne-t-il ? Comment le mettre en œuvre ?

4 4 Agenda Virtualisation et mémoire Pour une efficacité technico-économique accrue Dynamic Memory Architecture et concepts Mise en œuvre Recommandations et bonnes pratiques Synthèse

5 5 Virtualisation A la recherche de la configuration matérielle idéale La configuration doit être optimale dun point du vue technologique et des coûts dacquisition et dexploitation Sur le plan technologique, elle doit prendre en compte 4 caractéristiques : CPU, mémoire, stockage, E/S Dimensionner uniquement en fonction des pics nest pas optimal Les évolutions technologiques et économiques Ne se produisent pas de façon uniforme CPU, mémoire, stockage… De plus en plus le facteur limitant est la mémoire Constat Lallocation dynamique des ressources matérielles est indispensable, notamment en ce qui concerne la gestion de la mémoire en environnement virtuel

6 6 Agenda Virtualisation et mémoire Pour une efficacité technico-économique accrue Dynamic Memory Architecture et concepts Mise en œuvre Recommandations et et bonnes pratiques Synthèse

7 7 Hyper-V Dynamic Memory Lessentiel en une slide

8 8 Hyper-V Dynamic Memory Principales caractéristiques Une évolution des mécanismes de gestion de la mémoire spécifiques à Hyper-V Permet de redimensionner (augmenter/réduire) dynamiquement la mémoire physique utilisée par chaque machine virtuelle Disponible avec Windows Server 2008 R2 SP1 et Microsoft Hyper-V Server 2008 R2 SP1

9 9 Demo Dynamic Memory en action

10 10 Hyper-V Dynamic Memory Prérequis Partition parente Windows Server 2008 R2 SP1 Microsoft Hyper-V Server 2008 R2 SP1 Machines virtuelles 32-bit ou 64-bit Windows Server 2003 & 2003 R2, 2008 & 2008 R2 Service Pack 1 au sein des VMs pour Windows Server 2008 R2 Service Pack 2 au sein des VMs pour Windows Server 2003 / 2008 Windows Vista & Windows 7 Editions Enterprise & Ultimate Service Pack 2 au sein des VMs pour Vista

11 11 Dynamic Memory VSP Windows Kernel Dynamic Memory VSC VM Virtual Memory Manager Partition parent Partitions enfants Kernel Mode: Ring 0 User Mode: Ring 3 Hyper-V Virtualization Stack VM Worker Processes VMMS Applications Hardware Fournisseur: Windows OEM Windows Server 2008 R2 SP1 VMX Root operation VMBus Memory Balancer Memory Balancer Interface GMO Memory Manager GMO DM VDEV Dynamic Memory Architecture

12 12 Composants au sein de la partition parente Dynamic Memory VSP Reçoit les données de pression mémoire du VSC et les redirige vers le Memory Balancer Memory Balancer Enregistre la pression mémoire dans la partition parent ainsi que dans chaque machine virtuelle Lorsque de la mémoire doit être réallouée, le Memory Balancer commence par initier une libération de mémoire en coordination avec les VSP Lorsquune quantité suffisante de mémoire a été libérée, elle est ajoutée aux machines en ayant besoin

13 13 Composants au sein de la partition enfant Dynamic Memory est disponible pour les machines virtuelles disposant de composants dintégration Les systèmes au sein des machines virtuelles et de la partition parente fonctionnent en collaboration Dynamic Memory VSC Installé au sein des machines virtuelles à linstallation des IC Il nest activé au démarrage de la VM que si la mémoire est configurée en mode allocation dynamique Implémente les mécanismes dajout de mémoire et de ballon Mesure la pression sur la mémoire au sein des machines virtuelles et la communique au VSP

14 14 Fonctionnement au sein de la partition enfant La mémoire est ajoutée/supprimée via un driver VMBUS (synthetic memory driver) Utilisant des techniques de type hot add pour ajouter la RAM Utilisant des techniques de type memory ballooning pour supprimer la RAM

15 15 Demo Configuration de Dynamic Memory

16 16 Principaux paramètres de configuration des VMs

17 17 Startup RAM Mémoire physique attribuée initialement par Hyper-V à la VM Doit correspondre au minimum à la quantité de mémoire nécessaire au système pour démarrer Maximum RAM Mémoire physique maximale attribuable par Hyper-V à la VM Valeur par défaut 64 GB Memory Buffer Quantité de mémoire que Hyper-V doit réserver comme marge Valeur par défaut 20% Memory Weight Priorité daccès de la VM à la ressource mémoire Hyper-V Manager

18 18 Principaux paramètres Hyper-V Manager

19 19 Assigned Memory Mémoire physique attribuée par Hyper-V à une VM Nécessairement comprise entre les valeurs Min et Max des propriétés de mémoire dynamique de la VM Memory Demand Mémoire totale Commited au sein de la VM à un instant T Peut être supérieure à lAssigned Memory dans ce cas on utilise le fichier de pagination de la VM Memory Status : Ok, Low, Warning Ok: Assigned Memory > Memory Demand + Memory Buffer Low: Assigned Memory < Memory Demand + Memory Buffer Warning: Assigned Memory < Memory Demand Hyper-V Manager

20 20 Hyper-V Dynamic Memory Principaux paramètres Hyper-V Manager

21 21 Fonctionnement - Généralités Activable au niveau de chaque machine virtuelle Alloue aux machines virtuelles la mémoire dont elles ont besoin dans une plage Min/Max plus un buffer La mémoire est ajoutée/supprimée dynamiquement en fonction de lutilisation Sans interruption de service La bascule entre les modes Static et Dynamic nécessite un redémarrage du système dexploitation au sein de la VM La mémoire physique est gérée en pool et distribuée de manière dynamique entre les VMs En fonction de la mémoire physique disponible et de la priorité dallocation de chaque VM

22 22 Fonctionnement - Ajout de mémoire La VM démarre avec la quantité de mémoire minimum Elle est ajoutée à la demande au cours de la vie de la VM La technologie dajout à chaud (HotAdd) est utilisée pour ajouter de la mémoire aux machines virtuelles Cette technologie utilise des triggers ACPI qui déclenchent des événements Plug and Play Dynamic Memory nutilise pas directement HotAdd, mais des HotAdd Enlightenment Court-circuitant le pilote pour les objets mémoire Indiquant directement au Memory Manager la nouvelle quantité de mémoire disponible via des API API rendues disponibles pour les éditions Standard & Web Uniquement pour les instances virtuelles

23 23 Demo Dynamic Memory vue de la VM

24 24 Hyper-V Dynamic Memory Fonctionnement - Ajout de mémoire

25 25 Fonctionnement - Suppression de mémoire La technologie de ballooning au sein de chaque VM Indique au système que la mémoire virtuelle est toujours disponible tout en libérant les pages occupées en physique Le Global Memory Object (GMO) Conserve une carte de cette mémoire de façon à pouvoir la réutiliser au cours dune future opération dajout La mémoire est retirée quand elle nest plus utilisée au sein de la VM La mémoire est alors libérée, paginée ou placée en free/zero list Le VSC appelle une fonction du Memory Manager pour allouer la mémoire à partir de la free/zero list

26 26 Fonctionnement - Suppression de mémoire Dans la partition parente la mémoire est driver locked après avoir été ballooned de la VM Cependant, Driver Locked et Ballooned ne sont pas strictement équivalents Une demande de lecture de mémoire ballooned peut ne pas être satisfaite avec de la mémoire driver locked

27 27 Notion de pression Exprimée en % 735 268 788 024 = 93% Current Commit Charge Physical Memory Niveau de pression = 93% de pression signifie La machine virtuelle utilise 93% de la mémoire qui lui est assignée Elle dispose dune marge de 7% Si la pression est supérieure à 100% La machine virtuelle pagine de manière excessive La marge disponible est négative

28 28 Hyper-V Dynamic Memory Notion de plage de pression Chaque machine virtuelle dispose dune plage de pression, bornée par une valeur minimum et maximum Lorsque la pression courante se situe au sein de la plage de pression, aucune mémoire nest ajoutée ou enlevée Le processus de suppression de la mémoire démarre lorsque la pression franchit à la baisse la valeur minimum de la plage Le processus dajout de la mémoire démarre lorsque la pression franchit à la hausse la valeur maximum de la plage La plage de pression est calculée à partir des données de pression historiques de chaque machine virtuelle

29 29 Distribution de la mémoire La mémoire distribuée aux machines virtuelles dépend De la mémoire physique de la machine hôte De la consommation mémoire totale des différentes VMs Des valeurs Minimum et Maximum de chaque VM Du paramètre de priorité (Memory Weight) Du paramètre de marge (Memory Buffer) La distribution de la mémoire est réalisée par le Memory Balancer situé dans la partition parente Lalgorithme utilisé a pour objectif dallouer à chaque VM uniquement la mémoire nécessaire

30 30 Distribution de la mémoire Lorsquune machine virtuelle a besoin de plus de mémoire un processus en 4 étapes est utilisé Etape 1 Le GMO essaye de la fournir depuis le Memory Buffer où elle est pré-allouée pour une disponibilité plus rapide Si suffisamment de mémoire du Buffer est disponible elle lobtient Etape 2 Sinon, il essaye de la fournir depuis de la mémoire physique Si suffisamment de mémoire physique est disponible elle lobtient Etape 3 Sinon, le GMO demande au Memory Balancer de retirer de la mémoire aux autres VMs et de la redistribuer Plus la priorité dune VM est importante, moins elle est pénalisée lors de la ré-allocation de la mémoire Si suffisamment de mémoire peut être libérée elle lobtient Etape 4 En dernier ressort la VM utilise son Pagefile

31 31 Notion de Memory Buffer Chaque VM dispose dune quantité de mémoire cible Prenant en compte le Memory Buffer (défaut 20% des propriétés) Mémoire Cible (MB) = Current Commit (MB) + Memory Buffer (MB) Le Memory Buffer est lui-même basé sur le Current Commit 1 1 - Memory buffer (%) - 1 x Current Commit (MB) - 1 x Current Commit (MB)() Memory Buffer (MB) =

32 32 Exemple de calcul du Memory Buffer Current Commit Charge: 735 MB Memory Buffer: 10% Memory Buffer (MB) (1 / (1 - 0,1) - 1) x 735 MB = 81 MB Mémoire cible pour la VM 735 + 81 MB = 816 MB

33 33 Notion de priorité (Weight) La priorité détermine la façon dont les VM sont impactées lorsque de la mémoire doit être redistribuée La priorité ne garantie pas la disponibilité de la mémoire A titre dexemple dans le cas ci-dessus, la VM avec le plus haut niveau de priorité dispose de moins de mémoire disponible que la VM de moindre priorité VMWeight Memory Buffer Memory Status VM1High5%Warning VM2Low80%Ok

34 34 VM1 Maximum RAM: 4980 MB Memory Buffer: 5% Priorité: High Committed Memory: 5533 MB Mémoire physique allouable: -10% Mémoire cible: 5824 MB (1 / (1 - 0,05) - 1) x 5533 = 5824 MB Assigned Memory: 4231 MB Pénalité: 1593 MB (27.35%) 5824 MB - 4231 MB = 1593 MB VM1 Maximum RAM: 4980 MB Memory Buffer: 5% Priorité: High Committed Memory: 5533 MB Mémoire physique allouable: -10% Mémoire cible: 5824 MB (1 / (1 - 0,05) - 1) x 5533 = 5824 MB Assigned Memory: 4231 MB Pénalité: 1593 MB (27.35%) 5824 MB - 4231 MB = 1593 MB VM2 Maximum RAM: 4096 MB Memory Buffer: 80% Priorité: Low Committed Memory: 1243 MB Mémoire physique allouable: 69% Mémoire cible: 4972 MB (1 / (1 - 0,80) - 1) x 1243 = 4972 MB Assigned Memory: 1690 MB Pénalité: 3232 MB (65.00%) 4972 MB - 1690 MB = 3232 MB VM2 Maximum RAM: 4096 MB Memory Buffer: 80% Priorité: Low Committed Memory: 1243 MB Mémoire physique allouable: 69% Mémoire cible: 4972 MB (1 / (1 - 0,80) - 1) x 1243 = 4972 MB Assigned Memory: 1690 MB Pénalité: 3232 MB (65.00%) 4972 MB - 1690 MB = 3232 MB Exemple dimpact du buffer et de la priorité

35 35 Demo Dynamic Memory en pratique

36 36 Agenda Virtualisation et mémoire Une approche technico-économique Dynamic Memory Architecture et concepts Mise en œuvre Recommandations et bonnes pratiques Synthèse

37 37 Ajustement fin des valeurs - Startup RAM Correspond à la quantité de mémoire initiale (et minimum) allouée à une VM Choisir une valeur suffisamment basse pour optimiser la ratio de consolidation tout en permettant au système de démarrer Il existe des valeurs recommandées pour différents systèmes Recommandation Utiliser la valeur recommandée en fonction du système Quand dévier de la recommandation ? En cas dapplication définissant son utilisation de la mémoire au démarrage et ne prenant pas en compte les modifications Considérations liées aux clusters Si le total des minimums dépasse la mémoire physique de lhôte certaines VMs ne pourront pas démarrer en cas de bascule

38 38 Ajustement fin des valeurs - Maximum RAM Correspond à la quantité de mémoire maximale potentiellement allouée à une VM Paramétré par défaut à 65535 MB Recommandation Ne pas modifier la valeur par défaut Quand dévier de la recommandation ? Les machines virtuelles 32-bits nutilisant pas PAE ne savent pas exploiter plus de 4 GB, inutile de leur allouer plus Dans un scénario de type hébergement/Cloud où les profils de machines virtuelles sont tarifés en fonction dune quantité de mémoire maximum inférieure à 64 GB Considérations liées aux clusters Cette valeur na aucun impact

39 39 Ajustement fin des valeurs - Memory Buffer Correspond à la marge définie pour absorber les faibles oscillations Configuré à 20% par défaut Prise en compte des modifications sans redémarrage Recommandation Ne pas modifier la valeur par défaut Quand dévier des recommandations On peut envisager de laugmenter quand On héberge des charges de travail avec des pics particulièrement fréquents et importants On peut envisager de le diminuer quand La VM a une faible priorité et vous voulez vous assurer que des VMs de plus haute priorité disposent de la mémoire nécessaire

40 40 Ajustement fin des valeurs - Memory Weight Correspond à la priorité utilisée en cas de redistribution de la mémoire entre les VMs Une priorité plus élevée ne garantit pas que la totalité de la mémoire demandée sera allouée Priorité plus élevée = Pénalité plus faible Priorité plus faible = Pénalité plus élevée Prise en compte des modifications sans redémarrage Recommandation Ne pas modifier la valeur par défaut Quand dévier de la recommandation On peut envisager de laugmenter quand On souhaite favoriser une VM vs les autres lors de la redistribution On peut envisager de la diminuer quand Des VMs moins critiques hébergées sur la même machine hôte que des VMs critiques

41 41 Ajustement fin des valeurs - Root Reserve Correspond à la quantité de mémoire physique réservée à lutilisation de la partition parente Calculée de manière automatique par défaut Prise en compte des modifications via redémarrage du système Recommandation Ne pas modifier le fonctionnement par défaut Quand dévier de la recommandation ? Si et uniquement si une analyse poussée des performances démontre quune modification améliore les performances Configuré via une clé de registre HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization Valeur: MemoryReserve, Type: DWORD, Donnée: Mémoire en MB

42 42 Considérations liées au Pagefile Avec Dynamic Memory les machines virtuelles continuent à pouvoir utiliser le Pagefile Calculé de manière automatique par défaut par le système dexploitation au sein des VMs en fonction de la taille de la mémoire physique Recommandation Ne pas modifier le comportement par défaut Quand dévier de la recommandation Nous cherchons encore…., si vous trouvez : contactez nous

43 43 Deux groupes de compteurs de performance sont disponibles au niveau des machines hôtes Hyper-V Hyper-V Dynamic Memory Balancer Fournit des compteurs liés au Memory Balancer sexécutant dans la partition parente Les compteurs sont centrés sur La mémoire disponible au niveau de la machine hôte pour son usage Les opérations dajout/suppression réalisées par le Memory Balancer Suivi des performances

44 44 Hyper-V Dynamic Memory VM Fournit des compteurs liés à lusage de la mémoire dans les machines virtuelles en cours dexécution Chaque VM dispose de son propre jeu de compteurs Les compteurs sont centrés sur La mémoire disponible au sein de la VM La mémoire ajoutée/supprimée de la VM La pression de mémoire rencontrée par la VM Suivi des performances

45 45 Suivi des performances

46 46 Administration en mode script via WMI WMI Provider: root\virtualization Msvm_VirtualSystemSettingData class PropriétéParamètre UIValeurs DynamicMemoryEnabledDynamic Radio ButtonTrue, False ReservationStartup RAM8 - 65536 LimitMaximum RAM8 - 65536 WeightPriority1 - 1000 TargetMemoryBufferMemory Buffer5 - 95

47 47 Les signes qui ne trompent pas Suite à lactivation de Dynamic Memory certains signes indiquent que les paramètres peuvent être ajustés Tous les services au sein dune VM ne démarrent pas Tester laugmentation du paramètre Startup RAM de la VM Les perfs dune application au sein dune VM ne donnent pas satisfaction alors que celles de la VM sont bonnes Tester laugmentation du paramètre Startup RAM de la VM Les perfs dune VM ne donnent globalement pas satisfaction Vérifier le niveau moyen de pression de la VM, si une autre valeur que celle par défaut a été utilisée pour Maximum RAM tester son augmentation Les perfs dune VM ne donnent ponctuellement pas satisfaction Vérifier le niveau max de pression, tester laugmentation du Memory Buffer Le système dans la partition parente a de mauvaises performances Vérifier le niveau moyen de pression, tester laugmentation de Root Reserve

48 48 Quelques retours sur Dynamic Memory 40% de densité en plus! Jusquà 75% de densité en plus!

49 49 Agenda Virtualisation et mémoire Une approche technico-économique Dynamic Memory Architecture et concepts Mise en œuvre Recommandations et bonnes pratiques Synthèse

50 50 Hyper-V Dynamic Memory En synthèse Dynamic Memory est un mécanisme de sur-souscription de la mémoire physique Dynamic Memory propose un partage de la mémoire mais pas des pages mémoire entre les VMs Dynamic Memory nengendre pas un niveau de pagination supplémentaire Dynamic Memory est indépendant de lOS Il utilise les primitives dajout de mémoire à chaud disponibles avec les différents OS au sein des VMs

51


Télécharger ppt "2 Tout ou presque sur Dynamic Memory Jérôme Mombelli - Christophe Dubos - Fabrice Meillon Architectes Infrastructure Microsoft France."

Présentations similaires


Annonces Google