 |
» |
|
|
 |
La mémoire dynamique est une fonctionnalité optionnelle d'Integrity VM qui vous permet de modifier la quantité de mémoire physique utilisée par une machine virtuelle sans avoir à la réamorcer. Dans cette nouvelle version d'Integrity VM, la mémoire dynamique est disponible uniquement sur les invités HP-UX. Par exemple, cette fonctionnalité permet à un invité qui est un nœud Serviceguard d'être utilisé comme serveur de secours pour plusieurs packages Serviceguard. Lorsqu'un package bascule vers l'invité, la mémoire de l'invité peut être modifiée en fonction des besoins du package avant, durant et après le processus de basculement. Pour que l'utilisation de la mémoire dynamique soit possible, le logiciel de gestion d'invité doit être installé sur l'invité, comme décrit dans la Section . Gestion de la mémoire dynamique à partir du VM Host |  |
Sur le VM Host, le logiciel de mémoire dynamique est fourni avec Integrity VM. Vous pouvez gérer la mémoire dynamique sur le VM Host à l'aide de l'option -X avec la commande hpvmcreate, hpvmmodify ou hpvmclone. L'option -X associe différents paramètres de configuration à l'invité, y compris la gestion de la mémoire dynamique et la gestion réseau pour les invités. Pour une liste complètes de mots clés de l'option -X pour la mémoire dynamique, voir le Tableau 9-3. Tableau 9-3 Options de commande de contrôle de la mémoire dynamique | Paire mot clé-valeur | Description |
|---|
| dynamic_memory_control={1|0} | Spécifie si un utilisateur disposant des privilèges suffisants sur l'invité (tels que root) peut modifier les valeurs de mémoire dynamique durant l'exécution de l'invité. Pour désactiver le contrôle de la mémoire dynamique du côté invité, spécifiez 0 (zéro). Si l'invité est inactif, le seul effet est la modification du fichier de configuration d'invité. Sur l'invité en cours d'exécution, la modification prend effet immédiatement. | | ram_dyn_type={none|any|driver} | Spécifie le type de contrôle de mémoire dynamique pour l'invité. Lorsque ce paramètre de configuration a la valeur none, la mémoire dynamique est désactivée. Il s'agit du paramètre par défaut. Si votre invité s'exécute avec la mémoire dynamique activée et que vous définissez cette valeur à none, le fichier de configuration d'invité est modifié de façon à supprimer toutes les informations de contrôle et plages de mémoire dynamique. Lorsque ce paramètre de configuration a la valeur any, le prochain amorçage de l'invité détermine si la mémoire dynamique est activée sur l'invité. Si le pilote de mémoire dynamique est chargé, la valeur de ce paramètre est modifiée en driver. Si aucun pilote n'est chargé ou détecté, la valeur reste inchangée. Lorsque ce paramètre de configuration a la valeur driver, les contrôles et plages de mémoire dynamique d'invité sont fonctionnels. En fonction des paramètres actuels ou par défaut, des messages peuvent s'afficher pour indiquer une réinitialisation des valeurs de plages de mémoire dynamique de façon à correspondre aux paramètres de plages de mémoire actuels. Si vous modifiez la valeur de mémoire d'invité disponible (avec l'option -r), les plages des valeurs de mémoire dynamique sont validées et modifiées. | | ram_dyn_min=quantité | Spécifie la quantité minimale de mémoire pouvant être allouée de manière dynamique à l'invité. La valeur de ram_dyn_min doit être supérieure à la mémoire minimale (affichée par la commande hpvmstatus) et inférieure à la valeur de ram_dyn_max. | | ram_dyn_max=quantité | Spécifie la quantité maximale de mémoire pouvant être allouée de manière dynamique à l'invité. La valeur de ram_dyn_max doit être supérieure à la valeur de ram_dyn_min. | | ram_dyn_target_start=quantité | Spécifie la quantité de mémoire à laquelle le pilote de mémoire dynamique tente d'accéder lors du démarrage de l'invité. La valeur de ram_dyn_target_start doit être supérieure au paramètre ram_dyn_min et inférieure ou égale au paramètre ram_dyn_max. Lorsque l'invité démarre, il a initialement accès à la taille de mémoire d'invité (spécifiée par l'option -r), puis le pilote de mémoire dynamique réduit la mémoire à la valeur du paramètre ram_dyn_target_start. | | ram_target={0|start|quantité} | Définit la taille de mémoire actuelle pour l'invité. Le mot clé ram_target est valide uniquement sur les commandes hpvmmodify et hpvmmgmt. Lorsque vous spécifiez 0 (zéro), le pilote de mémoire dynamique réduit la mémoire sur l'invité à un minimum raisonnable sans forcer la pagination de la mémoire d'invité. Cette valeur minimale évolue au fil du temps, en fonction des besoins de l'invité. Lorsque vous spécifiez start, la taille de la mémoire dynamique de l'invité augmente jusqu'à la valeur allouée spécifiée avec l'option -r. Ce paramètre est dynamique et peut être utilisé uniquement sur un invité actif. |
Configuration d'une machine virtuelle de façon à utiliser la mémoire dynamiquePar défaut, la mémoire dynamique n'est pas activée. Pour configurer une machine virtuelle de façon à utiliser la mémoire dynamique, entrez la commande hpvmcreate, hpvmmodify ou hpvmclone. Incluez l'option -x suivante pour définir les valeurs initiales : -x ram_dyn_type = any | driver
-x ram_dyn_min = taille minimale pour les changements de taille mémoire
-x ram_dyn_max = taille maximale pour les changements de taille mémoire |
Vous pouvez configurer une machine virtuelle de façon à réduire sa taille mémoire tôt durant le processus d'amorçage, ce qui rend la machine virtuelle disponible mais limite la charge mémoire sur le système VM Host. Utilisez l'option -x suivante pour activer cette fonctionnalité : -x ram_dyn_target_start - taille mémoire après amorçage |
Vous pouvez spécifier plusieurs mots clés de mémoire dynamique sur la même ligne de commande. Par exemple, pour activer la mémoire dynamique et configurer l'invité nommé compass1 de façon à réduire sa taille durant la phase initiale du processus d'amorçage, entrez la commande suivante : # hpvmmodify -P compass1 -r 6G \
-x ram_dyn_type=any \
-x ram_dyn_min=1222M \
-x ram_dyn_max=6G \
-x ram_dyn_target_start=2G |
Cette commande spécifie les valeurs suivantes : La taille mémoire de machine virtuelle est définie à 6 Go. La mémoire dynamique est activée avec toute prise en charge de mémoire dynamique disponible. La quantité minimale de mémoire à laquelle la machine virtuelle peut être réduite est 1 222 Mo. La quantité maximale de mémoire à laquelle la machine virtuelle peut être augmentée est 6 Go. La taille mémoire à laquelle réduire la machine virtuelle après son amorçage est 2 Go.
Si la machine virtuelle s'exécute lorsque la fonctionnalité de mémoire dynamique est configurée pour la première fois, la machine virtuelle doit être réamorcée pour que les modifications de configuration prennent effet. Affichage de la mémoire dynamique sur le VM HostLes paramètres et l'état de la mémoire dynamique sont affichés pour chaque invité à l'aide de commandes Integrity VM standard. Par exemple, pour l'invité nommé compass1, la commande hpvmstatus affiche les informations de mémoire dynamique suivantes : # hpvmstatus -V -P compass1
.
.
.
[Dynamic Memory Information]
Type : driver
Minimum memory : 1222 Mo
Target memory : 2103 Mo
Maximum memory : 6144 Mo
Current memory : 2103 Mo
Comfortable minimum : 2167 Mo
Boot memory : 6135 Mo
Free memory : 125 Mo
Available memory : 286 Mo
Memory pressure : 0
Memory chunksize : 65536 KB
Driver Mode(s) : STARTED ENABLED
.
.
. |
Le Tableau 9-4 décrit les caractéristiques de mémoire dynamique affichées par les commandes hpvmstatus et hpvmmgmt. Tableau 9-4 Caractéristiques de la mémoire dynamique | Caractéristique | Paramètre | Description |
|---|
| Type | none | Aucune prise en charge de mémoire dynamique | | | any | La mémoire dynamique est configurée sur l'hôte, mais le sous-système de mémoire dynamique sur l'invité n'a pas démarré et n'a pas signalé le type d'implémentation. | | | driver | La mémoire dynamique est implémentée dans un pilote et n'utilise pas les fonctionnalités d'ajout/suppression en ligne de système d'exploitation invité. | | | OLAD | La mémoire dynamique est implémentée à l'aide des fonctionnalités d'ajout/suppression en ligne de système d'exploitation invité. | | Minimum memory | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | Les limites inférieures de ram_target et ram_dyn_target_start. | | Target memory | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | La taille mémoire cible de l'invité, définie avec ram_target ou ram_dyn_target_start. | | Maximum memory | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | Les limites supérieures de ram_target et ram_dyn_target_start. | | Current memory | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | La taille mémoire actuelle de l'invité (normalement égale à la mémoire cible). | | Comfortable minimum | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | Valeur de ram_target qui peut être utilisée pour réduire la mémoire de l'invité tout en lui accordant des ressources mémoire suffisantes pour continuer à exécuter une charge de travail minimale. | | Boot memory | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | Taille de mémoire physique sur la machine virtuelle présentée au système d'exploitation invité. | | Free memory | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | Quantité de mémoire libre sur l'invité. | | Available memory | valeurM (pour mégaoctets) ou valeurG (pour gigaoctets) | Quantité de mémoire sur l'invité allouée par des processus utilisateur mais non verrouillée. Cette mémoire est disponible pour la pagination et peut être rendue disponible. | | Memory pressure | valeur | Valeur comprise entre 0 et 100, utilisée comme indicateur de pagination et de déficit mémoire. Plus le chiffre est élevé, plus cela fait longtemps que le système a un déficit de mémoire. Une valeur de pression mémoire avoisinant 100 signifie généralement que le système est bloqué. | | Memory chunksize | valeur | Taille de bloc d'allocation utilisée par la mémoire dynamique lors de l'augmentation ou de la diminution de la mémoire de l'invité (comme décrit dans la Section ). | | Driver mode(s) | started | La mémoire dynamique peut modifier la taille de la mémoire de l'invité. | | | enabled | Contrôle qui outrepasse started. Utilisé par la migration d'invité en ligne. | | | guestctl | Le contrôle côté invité est activé. |
Modification de la taille mémoire d'une machine virtuelle sur le VM HostUne fois la mémoire dynamique configurée, la taille de la mémoire d'une machine virtuelle peut être modifiée à n'importe quelle valeur comprise entre la taille minimale (ram_dyn_min) et la taille maximale (ram_dyn_max) par incréments correspondant à la taille de bloc (64 Mo). Utilisez l'option -x suivante de la commande hpvmmodify pour modifier la taille mémoire : # hpvmmodify -P compass1 -x ram_target = nouvelle taille mémoire |
Gestion de la mémoire dynamique à partir de l'invité |  |
La gestion de la mémoire dynamique à partir de l'invité est désactivée par défaut et doit être activée depuis le VM Host. Si la fonctionnalité n'est pas activée, les informations de mémoire dynamique peuvent être affichées, mais la taille mémoire ne peut pas être modifiée. Utilisez la commande hpvmcreate, hpvmmodify, ou hpvmclone et incluez l'option -x dynamic_memory_control. Spécifiez 1 comme argument de l'option. Par exemple, sur le système VM Host, entrez la commande suivante pour activer le contrôle de la mémoire dynamique sur l'invité nommé compass1 : # hpvmmodify -P compass1 -x dynamic_memory_control=1 |
 |
Affichage des informations de mémoire dynamique à partir de l'invitéUtilisez la commande hpvmmgmt sur l'invité HP-UX pour afficher les informations de mémoire dynamique. Cette commande est installée lorsque vous installez le logiciel de gestion d'invité, comme décrit dans la Section . Le Tableau 9-5 décrit les options de la commande hpvmmgmt. Tableau 9-5 Options de la commande hpvmmgmt | -l type | Spécifie le type de données pour lequel répertorier des informations supplémentaires. Pour type, entrez ram. | | -l type -t intervalle | Vous permet d'observer et vérifier de manière continue les valeurs de mémoire RAM dynamique. Pour l'intervalle, spécifiez le nombre de secondes entre les récupérations de données réelles. | | -t intervalle | Permet à la commande hpvmmgmt de rerécupérer de manière continue le type de données demandé à l'aide de la valeur spécifiée pour le paramètre interval. | | -v | Affiche le numéro de version de la commande hpvmmgmt. | | -V | Affiche des informations détaillées (mode documenté) concernant les machines virtuelles. | | -M | Affiche des informations d'attributs et de ressources documentées sous forme lisible par ordinateur. | | -X | Affiche des informations d'attributs et de ressources détaillées au format XML. | | -x ram_target={0 | start | quantité} | Spécifie la RAM cible d'invité, où :0 indique que la mémoire dynamique de l'invité sera réduite à une valeur minimale raisonnable. start indique que la mémoire dynamique de l'invité sera rétablie à la valeur en vigueur au moment de l'amorçage. quantité est une taille de mémoire cible pour l'invité.
|
Par exemple, sur l'invité, utilisez la commande hpvmmgmt pour afficher les informations relatives à la mémoire dynamique. Entrez la commande suivante : # hpvmmgmt -l ram
[Dynamic Memory Information]
=======================================
Type : driver
Current memory : 6135 Mo
Target memory : 6135 Mo
Comfortable minimum : 2167 MB |
Pour afficher davantage d'informations, incluez l'option -V. Par exemple : # hpvmmgmt -V -l ram
[Dynamic Memory Information]
=======================================
Type : driver
Current memory : 2103 MB
Target memory : 2103 MB
Comfortable minimum : 2423 MB
Minimum memory : 1222 MB
Maximum memory : 6144 MB
Boot memory : 6135 MB
Free memory : 124 MB
Available memory : 286 MB
Memory pressure : 12
Memory chunksize : 65536 KB
Driver Mode(s) : STARTED ENABLED GUESTCTL |
Modification de la taille mémoire d'une machine virtuelle à partir de l'invitéUne fois la fonctionnalité de mémoire dynamique configurée et activée, la taille de la mémoire d'une machine virtuelle peut être modifiée à n'importe quelle valeur comprise entre la taille minimale (ram_dyn_min) et la taille maximale (ram_dyn_max) par incréments correspondant à la taille de bloc (64 Mo). Utilisez l'option -x suivante de la commande hpvmmgmt : # hpvmmgmt -x ram_target = taille mémoire |
Par exemple, pour modifier la taille de la mémoire de l'invité à 4 Go, entrez la commande suivante : # hpvmmgmt -x ram_target =4096M
Attempting to increase memory from 2103 MB to 4096 MB.
Successfully began to change ram_target to 4096 MB. |
Résolution des problèmes de mémoire dynamique |  |
Cette section décrit comment résoudre les problèmes liés à l'utilisation de la mémoire dynamique. Restrictions relatives à la mémoire dynamiqueL'utilisation de la mémoire dynamique est soumise aux restrictions suivantes : La taille d'une machine virtuelle ne peut pas être augmentée au-delà de sa taille d'amorçage d'origine (telle que spécifiée avec l'option -r). Si la mémoire de la machine virtuelle est devenue fragmentée, les tentatives de réduction de la taille de la machine virtuelle peuvent échouer ou nécessiter beaucoup de temps. Si vous ne pouvez pas réduire la taille de la machine virtuelle à la taille souhaitée, annulez l'opération en définissant une nouvelle taille cible. L'augmentation de la taille d'une machine virtuelle requiert de la mémoire libre sur le VM Host. Si la mémoire du VM Host est insuffisante, l'opération peut nécessiter beaucoup de temps ou elle peut échouer. Si les valeurs ram_target et ram_dyn_target_start ne sont pas comprises entre les valeurs de ram_dyn_min et ram_dyn_max, un avertissement est affiché.
Considérations relatives aux ressources du VM HostHP-UX prend en charge les « grandes pages », une fonctionnalité de gestion de la mémoire destinée à améliorer les performances. Integrity VM tire parti de cette fonctionnalité en assurant que lorsqu'une machine virtuelle démarre, elle alloue les pages de taille la plus élevée disponibles. Une fois ces pages allouées et verrouillées, elles ne peuvent pas changer de taille. Cela permet de limiter la fragmentation des grandes pages. Cette fonctionnalité limite les types de logiciels que vous pouvez exécuter sur un système VM Host. Si le système VM Host prend en charge une charge de travail supplémentaire en plus des machines virtuelles, les grandes pages tendent à se fragmenter et les performances de la machine virtuelle nouvellement démarrée peuvent se dégrader. La mémoire dynamique accroît la possibilité de fragmentation de la mémoire du VM Host. L'implémentation actuelle de la mémoire dynamique libère des parties de la mémoire allouée à une machine virtuelle. Ces opérations doivent être effectuées dans de gros blocs contigus, sinon la réduction de la taille d'une machine virtuelle provoque la fragmentation de la mémoire de VM Host qui lui est allouée. Cette fragmentation potentielle est empêchée par le logiciel, qui réduit la taille d'une machine virtuelle par multiples d'une taille de bloc minimale de 64 Mo de mémoire contiguë physique. Pour plus d'informations, voir la Section et la Section . Considérations relatives aux ressources des invitésDurant le fonctionnement normal d'un système sur lequel s'exécute une charge de travail, les grandes pages peuvent devenir fragmentées au fil du temps. Cela est vrai sur le VM Host et sur la machine virtuelle qui exécute le système d'exploitation HP-UX. Si la mémoire de la machine virtuelle est fragmentée, le sous-système de mémoire dynamique est incapable de réduire la taille de l'invité à cause de la taille de bloc minimale utilisée pour la réduction. Si la mémoire dynamique ne peut pas supprimer au moins 64 Mo de mémoire d'invité physiquement contiguë, aucune réduction de taille n'a lieu. Spécifiez une mémoire d'invité suffisanteSi vous affectez une valeur trop faible à ram_dyn_target_start, le système d'exploitation invité peut se bloquer lors de l'amorçage. Dans ce cas, l'invité n'a pas accès à une quantité de mémoire suffisante. En règle générale, n'augmentez pas la mémoire allouée à un invité HP-UX de plus de 75 % de sa taille de mémoire allouée. Ne réduisez pas de plus de 50 % la mémoire d'une machine virtuelle configurée avec 2 Go de mémoire. Si l'invité se bloque à l'amorçage, sur le VM Host, utilisez la commande hpvmmodify pour augmenter la valeur du paramètre ram_dyn_target_start. Par exemple, pour augmenter la taille de la mémoire de l'invité nommé compass1, entrez la commande suivante sur le VM Host : # hpvmmodify -P compass1 -x ram_dyn_target_start = nouvelle taille mémoire |
Après avoir défini ce paramètre, réamorcez l'invité. Si l'invité se bloque, sur le VM Host, utilisez la commande hpvmstatus pour vérifier les statistiques de la mémoire sur l'invité. Par exemple : # hpvmstatus -V -P compass1
.
.
.
[Dynamic Memory Information]
Type : driver
Minimum memory : 1222 MB
Target memory : 2103 MB
Maximum memory : 6144 MB
Current memory : 2103 MB
Comfortable minimum : 2167 MB
Boot memory : 6135 MB
Free memory : 0 MB
Available memory : 286 MB
Memory pressure : 100
Memory chunksize : 65536 KB
Driver Mode(s) : STARTED ENABLED
.
.
. |
Ce problème se traduit en général par une quantité de mémoire libre faible ou nulle et par une valeur de pression de mémoire élevée (100). Si vous constatez la présence de ces indicateurs, utilisez la commande hpvmmodify sur le VM Host pour augmenter la taille de la mémoire de l'invité. L'invité devrait ensuite s'amorcer normalement. Les allocations de mémoire réelles peuvent différerSi vous spécifiez une valeur de paramètre ram_target ou ram_dyn_target_start qui entraîne une modification de la taille de mémoire qui n'est pas un multiple de 64 Mo, la valeur cible est réinitialisée. Par exemple, si vous spécifiez 6 Go de mémoire, l'invité HP-UX a en fait accès à 6 135 Mo de mémoire. Si vous tentez de définir la taille mémoire à 2048 Mo, la quantité de mémoire réellement supprimée est 4087 Mo. Il ne s'agit pas d'un multiple de 64 Mo ; par conséquent, la taille mémoire cible est réintialisée à 2103 Mo. Activez la mémoire dynamique sur l'invité et sur le VM HostLe logiciel de gestion d'invité doit être installé sur l'invité pour que vous puissiez utiliser les paramètres de mémoire dynamique sur le système VM Host. Par exemple, si le logiciel de gestion d'invité n'est pas installé, la commande hpvmstatus affiche ce qui suit : # hpvmstatus -V -P compass1
.
.
.
[Dynamic Memory Information]
NOTE: Dynamic data unavailable, configured values only
Type : driver
Minimum memory : 1024 MB
Target memory : 2048 MB
Maximum memory : 3072 MB
.
.
. |
Si vous tentez de modifier la mémoire dynamique de l'invité à partir du VM Host, les erreurs suivantes s'affichent : # hpvmmodify -x ram_target=2048M -P compass1
hpvmmodify: ERROR (compass1): Query to dynamic memory driver failed: Function is not available.
hpvmmodify: Failed to set ram_target.
hpvmmodify: Unable to modify the guest. |
Si vous tentez de modifier la mémoire dynamique à partir de l'invité, les erreurs suivantes se produisent : # hpvmmgmt -V -l ram
Dynamic memory driver not found on guest.
hpvmmgmt: Unable to continue.
# hpvmmgmt -x ram_target=2048
Failed to open dynamic memory driver, error: No such device.
Failed to set dynamic value error: No such device
hpvmmgmt: Unable to continue. |
Pour plus d'informations sur l'installation du logiciel de gestion d'invité, voir la Section . Mettez à niveau le kit d'invité lors de la mise à niveau d'Integrity VMLe logiciel de mémoire dynamique possède deux composants : la prise en charge de VM Host et la prise en charge d'invité HP-UX. Ces deux composants doivent être au même niveau de version pour que la mémoire dynamique fonctionne. Lorsque vous mettez à niveau Integrity VM, vous devez également installer le nouveau kit d'invité sur l'invité. Durant ce processus de mise à niveau, la mémoire dynamique peut ne pas fonctionner. Si les versions ne correspondent pas, un message est écrit dans le journal syslog du VM Host (/var/adm/syslog/syslog.log) lors du démarrage de l'invité. Par exemple : vmunix: (hpvmdvr) Dynamic memory version mismatch Guest 5.
Please update the guest kit |
Cet exemple indique que le kit du logiciel de gestion d'invité sur la machine virtuelle numéro 5 est périmé. Pour identifier l'invité numéro 5, utilisez la commande hpvmstatus. Dans l'exemple suivant, l'invité 5 se nomme dale : # hpvmstatus
Virtual Machine Name VM # OS Type State #VCPUs #Devs #Nets Memory Runsysid
==================== ===== ======= ========= ====== ===== ===== ======= ========
chip 1 HPUX On (OS) 2 1 1 3 GB 0
dale 5 HPUX On (OS) 2 1 1 3 GB 0 |
Pour plus d'informations sur l'installation du logiciel de gestion d'invité HP-UX, voir la Section .
|