View previous topic :: View next topic |
Author |
Message |
thejack n00b
Joined: 15 Oct 2008 Posts: 37
|
Posted: Sun Nov 22, 2009 10:29 am Post subject: [sysfs] hotplug ram (résolu) |
|
|
Bonjour,
Je ne sais pas si beaucoup de monde a eu l'occasion d'essayer le CPU et la RAM hotplug mais je ne connais pas vraiment d'autres endroit ou poser la question.
Je suis en train de tester des fonctionnalités VMWare ESX qui me permettent de rajouter des CPU et de la RAM a chaud sur de nombreux systemes. De part mes recherches le systeme linux gere cela. En effet j'ai reussi a ajouter de la RAM a chaud sur une Centos, un CPU a chaud sur une Debian, mais pas les deux sur chaque distrib ... Sur ma Gentoo la fonctionnalité hotplug cpu fonctionne ... mais il manque la partie RAM. Je m'explique.
De ce que j'ai pu lire pour rajouter de la RAM a chaud il faut que le dossier /sys/devices/system/memory/ soit présent sur le systeme. Cependant il n'etait présent que sur la Centos 5 que j'ai testé et je ne sais pas comment configurer mon OS pour le faire apparaitre.
Si quelqu'un aurait deja essayé cela ici et pourrait m'aider .... je trouve pas grand chose sur le net concernant cette partie la ...
Merci d'avance.
Last edited by thejack on Sun Nov 22, 2009 3:04 pm; edited 1 time in total |
|
Back to top |
|
|
Tom_ Guru
Joined: 20 May 2004 Posts: 448 Location: France
|
Posted: Sun Nov 22, 2009 1:03 pm Post subject: |
|
|
Tu as regardé dans les options du kernel ? A mon avis, il faut recompiler le kernel en sélectionnant les options d'hotplug cpu et mémoire. Normalement, /sys/devices/system/memory/ devrait apparaître de cette manière.
Je n'ai jamais essayé l'hotplug cpu/mémoire donc c'est seulement des suppositions. |
|
Back to top |
|
|
thejack n00b
Joined: 15 Oct 2008 Posts: 37
|
Posted: Sun Nov 22, 2009 1:30 pm Post subject: |
|
|
En fait oui je suis dessus ... ya des trucs a activer ...
Quote: | - For all memory hotplug
109 Memory model -> Sparse Memory (CONFIG_SPARSEMEM)
110 Allow for memory hot-add (CONFIG_MEMORY_HOTPLUG)
111
112 - To enable memory removal, the followings are also necessary
113 Allow for memory hot remove (CONFIG_MEMORY_HOTREMOVE)
114 Page Migration (CONFIG_MIGRATION)
115
116 - For ACPI memory hotplug, the followings are also necessary
117 Memory hotplug (under ACPI Support menu) (CONFIG_ACPI_HOTPLUG_MEMORY)
118 This option can be kernel module.
119
120 - As a related configuration, if your box has a feature of NUMA-node hotplug
121 via ACPI, then this option is necessary too.
122 ACPI0004,PNP0A05 and PNP0A06 Container Driver (under ACPI Support menu)
123 (CONFIG_ACPI_CONTAINER).
124 This option can be kernel module too.
125
|
Il faut aussi desactiver le support de l'hibernation.
Mais même en les activant il y a une erreur a l'ajout ... faut que je voit ça j'ai du manquer quelque chose.
Je vous tiendrais au courant
En tout cas le hotplug CPU est tres bien geré ... un ajout de core en plein milieu d'une compilation noyau ça le gene pas le moins du monde... |
|
Back to top |
|
|
thejack n00b
Joined: 15 Oct 2008 Posts: 37
|
Posted: Sun Nov 22, 2009 2:32 pm Post subject: |
|
|
Alors j'ai compris pourquoi ça marchait pas ... ya une certains limitation a l'ajout de RAM sur les machines 32bit je crois.
Tout ce qui est ajout de RAM entre 0 et 3Go de RAM n'est pas pris en compte, c'est surement du a des adresses virtuelles prises par le hard. Mais tout ce qui est au dessus est pris sans probleme. Passer de 3 a 6Go a chaud est d'une grande simplicité.
Il faut que le noyau aie le support de l'hibernation desactivé et les options sus cités actives. Ensuite lorsque l'on ajoute de la RAM un nouveau dossier memoryX, X correspondant a l'ID de la barrette apparait dans le dossier /sys/devices/system/memory. Il suffit de faire un
Code: | echo online > /sys/devices/system/memory/memoryX/state |
Pour que la RAM ajoutée soit prises en compte.
Pour les CPU il faut aussi que le support HOTPLUG CPU soit actif dans le noyau, ensuite quand vous ajouterez un CPU a chaud un nouveau dossier cpuY (y l'id du CPU) sera ajouté dans le dossier /sys/devices/system/cpu.
Code: | echo 1 > /sys/devices/system/cpu/cpuY/online |
Et le cpu est pris en compte immediatement.
Bon bah ca va etre sympa ça pour des machines virtuelles de production sous dimensionnées ... même plus besoin de programmer un downtime |
|
Back to top |
|
|
|