Memoria en caliente en una máquina virtual Linux

11

Linux admite memoria de adición en caliente cuando se ejecuta como un invitado VM, por ejemplo , en VMware . (En ocasiones, debe informar manualmente al sistema operativo invitado ).

¿Existe una forma segura de hacer la operación inversa: reducir la cantidad de memoria asignada a una máquina virtual? De ser así, ¿necesita informar manualmente al huésped Linux antes de dicha operación? (Si es así, ¿el procedimiento es específico para las herramientas de VMware, o es genérico para algún tipo de mecanismo de virtualización?)

200_success
fuente

Respuestas:

7

ESXi no admite memoria de extracción en caliente o CPU de una VM. Alguien que conocí en el pub hace un par de meses me dijo que la hermana de un amigo de su primo * tos * recibió la respuesta de que prácticamente ningún cliente exige esta característica. En otras palabras: no vale la pena molestarse en implementar hot-remove.

Si desea que ESXi lo admita, vaya a VMware y dígales. Mientras más personas lo hagan, mayores serán las posibilidades de que lo implementen.

Mario Lenz
fuente
1
Lea esto y dijo: "La novia del hermano del novio de la hermana de mi mejor amigo escuchó de este tipo que conoce a este chico que se fue con la chica que vio a Ferris desmayarse en 31 Flavours anoche. Supongo que es bastante grave".
Warren
Es interesante que una empresa comercial como vmware no sea compatible con la eliminación de memoria en caliente, mientras que KVM (software libre) sí. Yo diría que es otro gran argumento para el software libre.
aseq
@aseq Aunque soy un gran admirador del software libre, no creo que una sola característica sea una buena razón para (o en contra).
Mario Lenz
Depende de la función, sin embargo, kvm tiene muchas otras cosas a su favor. Este en particular puede ser el factor decisivo.
aseq
@aseq La eliminación de memoria en caliente puede ser la razón para elegir KVM en lugar de ESXi, pero esa es una decisión muy específica y no tiene nada que ver con las ventajas generales del software libre. Déjenme decirlo así: si fuera al revés (ESXi admitiría la eliminación en caliente de la memoria y KVM no), ¿sería un gran argumento para el software propietario? Yo creo que no.
Mario Lenz
4

No puedo decir con certeza en vmware, pero cuando uso kvm, disminuir la memoria de una máquina virtual en funcionamiento funciona bien. Por supuesto, hasta un límite, pero el software te lo dirá. Cuando lo disminuye, la memoria en la máquina virtual se reducirá gradualmente, hasta que no se pueda bajar más. Si configura la memoria para que sea inferior a donde se detuvo, deberá reiniciar la máquina virtual para que se baje por completo.

Recientemente hice eso en un sistema que ejecuta kvm con aproximadamente 20 máquinas virtuales, donde alguien pensó que era prudente comprometer la memoria, lo que provocó que algunas máquinas virtuales se ejecuten en intercambio (¡doh!). Para solucionarlo, reduje la memoria en aproximadamente un 20-40% de 2/3 de las máquinas virtuales y la mayoría pudo reducirla completamente mientras se ejecutaba. Algunos necesitaron reiniciar para que la nueva configuración de memoria surta efecto por completo.

A partir de eso, asumiría que una máquina virtual vmware también podría permitir este comportamiento. Sin embargo, una prueba rápida en vmware player me dice que necesitará reiniciar para que surta efecto (el software vmware más sofisticado puede comportarse mejor). De lo contrario, es seguro hacerlo en un sistema en ejecución. Por supuesto, si la cantidad de memoria que le queda es suficiente para ejecutarlo correctamente es otra cuestión.

aseq
fuente