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

11

Linux prend en charge l'ajout de mémoire à chaud lors de l'exécution en tant qu'invité VM, dans VMware par exemple. (Parfois, vous devez informer manuellement le système d'exploitation invité .)

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

200_success
la source

Réponses:

7

ESXi ne prend pas en charge la suppression à chaud de la mémoire ou des processeurs d'une machine virtuelle. 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 * toux * avait obtenu la réponse que pratiquement aucun client n'exige cette fonctionnalité. En d'autres termes: cela ne paie pas la peine d'implémenter le hot-remove.

Si vous souhaitez qu'ESXi le prenne en charge, accédez à VMware et dites-leur. Plus les gens le font, plus ils ont de chances de le mettre en œuvre.

Mario Lenz
la source
1
Lisez ceci et dites: «La petite amie du frère du copain de la sœur de mon meilleur ami a entendu ce gars qui connaît ce gamin qui va avec la fille qui a vu Ferris s'évanouir au 31 Flavors la nuit dernière. Je suppose que c'est assez grave.
warren
Il est intéressant de noter qu'une entreprise commerciale telle que vmware ne prend pas en charge le retrait à chaud de la mémoire, contrairement à KVM (logiciel gratuit). Je dirais que c'est un autre excellent argument pour le logiciel libre.
aseq
@aseq Bien que je sois un grand fan de logiciels libres, je ne pense pas qu'une seule fonctionnalité soit une bonne raison pour (ou contre).
Mario Lenz
Cela dépend de la fonctionnalité, mais kvm a beaucoup d'autres choses. Celui-ci en particulier peut simplement être le facteur décisif.
aseq
@aseq Le retrait à chaud de la mémoire pourrait être la raison de choisir KVM au lieu d'ESXi, mais c'est une décision très spécifique et n'a rien à voir avec les avantages généraux du logiciel libre. Permettez-moi de le dire comme suit: si c'était l'inverse (ESXi prendrait en charge le retrait à chaud de la mémoire et KVM ne le ferait pas), serait-ce un excellent argument pour un logiciel propriétaire? Je crois que non.
Mario Lenz
4

Je ne peux pas dire avec certitude dans vmware, mais lorsque vous utilisez kvm, la diminution de la mémoire d'une machine virtuelle en cours d'exécution fonctionne correctement. Bien sûr, jusqu'à une limite, mais le logiciel vous le dira. Lorsque vous la diminuez, la mémoire de la machine virtuelle sera progressivement abaissée, jusqu'à ce qu'elle ne puisse plus être abaissée. Si vous définissez 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 abaissée.

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 surcharger la mémoire, provoquant l'exécution de certaines machines virtuelles en swap (doh!). Pour y remédier, j'ai réduit la mémoire d'environ 20 à 40% des 2/3 des machines virtuelles et la plupart ont pu la baisser complètement en cours d'exécution. Quelques-uns ont eu besoin d'un redémarrage pour que le nouveau paramètre de mémoire prenne pleinement effet.

En partant de cela, je suppose qu'une machine virtuelle vmware pourrait également permettre ce comportement. Cependant, un test rapide dans le lecteur vmware me dit qu'il aura besoin d'un redémarrage pour prendre effet (le logiciel vmware plus sophistiqué peut se comporter mieux). Sinon, il est sûr de le faire sur un système en cours d'exécution. Bien sûr, si la quantité de mémoire qui lui reste est suffisante pour l'exécuter correctement, c'est une autre question.

aseq
la source