
Prendre en compte l’ajout de RAM à chaud sur une machine virtuelle VMware

Oui, je sais, VMware sapucépalibre, mais quand on travaille, on a pas toujours le choix de ses outils. Le fait est que j’ai du intervenir sur une VM CentOS pour ajouter de la mémoire vive à chaud. Et c’est pas toujours automatique, mais pas de panique, ça demande pas à redémarrer. On est pas sur Windows quoi.
Sur le client VSphere, RAS, j’ai passé la RAM de 4 à 6Go en quelques clics. Mais sur la VM, rien, toujours 4Go. Pour voir s’il a bien ajouté la mémoire, on peut faire deux choses :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# dmesg |grep Hotplug Hotplug Mem Device # grep line /sys/devices/system/memory/*/state /sys/devices/system/memory/memory0/state:online /sys/devices/system/memory/memory10/state:online /sys/devices/system/memory/memory11/state:online /sys/devices/system/memory/memory12/state:online /sys/devices/system/memory/memory13/state:online /sys/devices/system/memory/memory14/state:online /sys/devices/system/memory/memory15/state:online /sys/devices/system/memory/memory16/state:online /sys/devices/system/memory/memory17/state:online /sys/devices/system/memory/memory18/state:online /sys/devices/system/memory/memory19/state:online /sys/devices/system/memory/memory1/state:online /sys/devices/system/memory/memory20/state:online /sys/devices/system/memory/memory21/state:online /sys/devices/system/memory/memory22/state:online /sys/devices/system/memory/memory23/state:online /sys/devices/system/memory/memory24/state:online /sys/devices/system/memory/memory25/state:online /sys/devices/system/memory/memory26/state:online /sys/devices/system/memory/memory27/state:online /sys/devices/system/memory/memory28/state:online /sys/devices/system/memory/memory29/state:online /sys/devices/system/memory/memory2/state:online /sys/devices/system/memory/memory30/state:online /sys/devices/system/memory/memory31/state:online /sys/devices/system/memory/memory32/state:online /sys/devices/system/memory/memory33/state:online /sys/devices/system/memory/memory34/state:online /sys/devices/system/memory/memory35/state:online /sys/devices/system/memory/memory36/state:online /sys/devices/system/memory/memory37/state:online /sys/devices/system/memory/memory38/state:online /sys/devices/system/memory/memory39/state:online /sys/devices/system/memory/memory3/state:online /sys/devices/system/memory/memory40/state:offline /sys/devices/system/memory/memory41/state:offline /sys/devices/system/memory/memory42/state:offline /sys/devices/system/memory/memory43/state:offline /sys/devices/system/memory/memory44/state:offline /sys/devices/system/memory/memory45/state:offline /sys/devices/system/memory/memory46/state:offline /sys/devices/system/memory/memory47/state:offline /sys/devices/system/memory/memory48/state:offline /sys/devices/system/memory/memory49/state:offline /sys/devices/system/memory/memory4/state:online /sys/devices/system/memory/memory50/state:offline /sys/devices/system/memory/memory51/state:offline /sys/devices/system/memory/memory52/state:offline /sys/devices/system/memory/memory53/state:offline /sys/devices/system/memory/memory54/state:offline /sys/devices/system/memory/memory55/state:offline /sys/devices/system/memory/memory5/state:online /sys/devices/system/memory/memory6/state:online /sys/devices/system/memory/memory7/state:online /sys/devices/system/memory/memory8/state:online /sys/devices/system/memory/memory9/state:online |
Dans la deuxième commande, il faut chercher les lignes qui affichent offline. Cela indique les plages mémoires ajoutées mais pas encore utilisées par le noyau. Il faut les passer en online avec la commande suivante :
1 |
# for i in $(grep offline /sys/devices/system/memory/*/state|cut -d\: -f1); do echo online > $i; done |
Oui une seule ligne, j’ai la flemme de les faire une par une 😛 Et hop, les pages mémoires sont en ligne, la mémoire est maintenant à 6Go.
Vivement qu’on puisse faire la même chose avec Proxmox en mode KVM (c’est faisable apparemment avec libvirt) 🙂
Sympathique 🙂
Tu peux aussi avoir la même chose côté CPU (à chaud)