11 votes

Suppression à chaud de la mémoire dans une machine virtuelle Linux

Linux prend en charge l'ajout de mémoire à chaud lorsqu'il fonctionne en tant qu'invité VM, dans VMware par exemple. (Parfois, vous devez informer manuellement l'OS invité .)

Existe-t-il un moyen sûr de faire l'opération inverse - réduire la quantité de mémoire allouée à une machine virtuelle, et si oui, faut-il informer manuellement l'invité Linux avant une telle opération ? (Si oui, la procédure est-elle spécifique aux outils VMware, ou est-elle générique pour tout type de mécanisme de virtualisation) ?

7voto

James Points 91

ESXi ne prend pas en charge le retrait à chaud de la mémoire ou des CPU d'une VM. Quelqu'un que j'ai rencontré au pub il y a quelques mois m'a dit que la sœur d'un ami de son cousin *cough* a obtenu la réponse que pratiquement aucun client ne demande cette fonctionnalité. En d'autres termes : Il n'est pas rentable de s'embêter à implémenter le hot-remove.

Si vous voulez que ESXi prenne en charge cette fonction, adressez-vous à VMware et dites-leur. Plus vous serez nombreux à le faire, plus il y aura de chances qu'ils l'implémentent.

4voto

aseq Points 4490

Je ne peux pas dire avec certitude dans vmware, mais en utilisant kvm diminuer la mémoire d'une machine virtuelle en cours d'exécution fonctionne bien. Bien sûr, jusqu'à une certaine limite, mais le logiciel vous le dira. Lorsque vous la diminuez, la mémoire de la machine virtuelle sera progressivement diminuée, jusqu'à ce qu'elle ne puisse plus être diminuée. Si vous réglez la mémoire à un niveau inférieur à celui où elle s'est arrêtée, vous devrez redémarrer la machine virtuelle pour qu'elle soit complètement réduite.

J'ai récemment fait cela sur un système exécutant kvm avec environ 20 machines virtuelles, où quelqu'un a pensé qu'il était sage de sur commit la mémoire, entraînant l'exécution de certaines machines virtuelles dans le swap (doh !). Pour le corriger, j'ai abaissé la mémoire d'environ 20 à 40% de 2/3 des machines virtuelles et la plupart ont pu l'abaisser complètement en cours d'exécution. Quelques-unes ont eu besoin d'un redémarrage pour que le nouveau paramètre de mémoire prenne complètement effet.

En partant de là, je suppose qu'une machine virtuelle vmware pourrait également permettre ce comportement. Cependant, un test rapide dans vmware player m'indique qu'il faudra un redémarrage pour que cela prenne effet (les logiciels vmware plus sophistiqués peuvent se comporter de manière plus agréable). Sinon, il est possible de le faire en toute sécurité sur un système en fonctionnement. Bien sûr, la question de savoir si la quantité de mémoire qui lui reste est suffisante pour le faire fonctionner correctement est une autre question.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X