On 19 Apr 2017, at 16:28, Gianluca Cecchi <gianluca.cecchi@gmail.com> wrote:On Wed, Apr 19, 2017 at 3:44 PM, Martin Polednik <mpolednik@redhat.com> wrote:If you are using recent CentOS (or I guess Fedora), there isn't any
extra setup required. Just create the custom property:Both my engine and my hosts are CentOS 7.3 + updatesthat’s good
On the host where engine is running:
$ engine-config -s "UserDefinedVMProperties=hugepages=^.*$"
$ service ovirt-engine restart
and you should see 'hugepages' when editing a VM under custom properties.So no vdsm hook at all to install?today you still need the hook.Set the number to (desired memory / 2048) and you're good to go. The
VM will run with it's memory backed by hugepages.As in sysctl.conf? So that if I want 4Gb of Huge Pages I have to set 2048?yes. there might be someIf you need
hugepages even inside the VM, do whatever you would do on a physical
host.
mpolednikyes, the main subject is to have Huge Pages inside the guest, so that Oracle RDBMS at startup detect them and use themyes, so if you do that via sysctl.conf on real HW just do the same here, or modify kernel cmdline.Note that those are two separate thingsthe hook is making QEMU process use hugepages memory in the host - that improves performance of any VMthen how it looks in guest is no concern to oVirt, it’s guest-side hugepages. You can enable/set them regardless the previous step, which may be fine if you just want to expose the capability to some app - e.g. in testing that the guest-side Oracle can work with hugepages in the guest.But you probably want both Oracle to see hugepages and also actually use them - then you need both reserve that on host for qemu process and then inside guest reserve that for oracle. I.e. you need to add a “buffer” on host side to accommodate the non-hugepages parts of the guest e.g. on 24GB host you can reserve 20GB hugepages for VMs to use, and then run a VM with 20GB memory, reserving 16GB hugepages inside the guest for oracle to use.Thanks,michalGianluca