
--Apple-Mail=_2B6E5EAC-A5EA-4F24-8549-C3234A9C6DD6 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8
On 19 Apr 2017, at 16:28, Gianluca Cecchi <gianluca.cecchi@gmail.com> = wrote: =20 On Wed, Apr 19, 2017 at 3:44 PM, Martin Polednik <mpolednik@redhat.com = <mailto:mpolednik@redhat.com>> wrote: =20 =20 If you are using recent CentOS (or I guess Fedora), there isn't any extra setup required. Just create the custom property: =20 Both my engine and my hosts are CentOS 7.3 + updates
=20 =20 On the host where engine is running: =20 $ engine-config -s "UserDefinedVMProperties=3Dhugepages=3D^.*$" $ service ovirt-engine restart =20 and you should see 'hugepages' when editing a VM under custom =
that=E2=80=99s good properties.
=20 So no vdsm hook at all to install?
today you still need the hook.
=20 =20 Set the number to (desired memory / 2048) and you're good to go. The VM will run with it's memory backed by hugepages. =20 As in sysctl.conf? So that if I want 4Gb of Huge Pages I have to set = 2048?
yes. there might be some=20
=20 =20 If you need hugepages even inside the VM, do whatever you would do on a physical host. =20 mpolednik =20 =20 yes, the main subject is to have Huge Pages inside the guest, so that = Oracle RDBMS at startup detect them and use them
yes, 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 things the hook is making QEMU process use hugepages memory in the host - that = improves performance of any VM then how it looks in guest is no concern to oVirt, it=E2=80=99s = 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 = =E2=80=9Cbuffer=E2=80=9D 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, michal
=20 Gianluca=20
--Apple-Mail=_2B6E5EAC-A5EA-4F24-8549-C3234A9C6DD6 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"Content-Type" content=3D"text/html = charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; = -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" = class=3D""><br class=3D""><div><blockquote type=3D"cite" class=3D""><div = class=3D"">On 19 Apr 2017, at 16:28, Gianluca Cecchi <<a = href=3D"mailto:gianluca.cecchi@gmail.com" = class=3D"">gianluca.cecchi@gmail.com</a>> wrote:</div><br = class=3D"Apple-interchange-newline"><div class=3D""><div dir=3D"ltr" = class=3D""><div class=3D"gmail_extra"><div class=3D"gmail_quote">On Wed, = Apr 19, 2017 at 3:44 PM, Martin Polednik <span dir=3D"ltr" = class=3D""><<a href=3D"mailto:mpolednik@redhat.com" target=3D"_blank" = class=3D"">mpolednik@redhat.com</a>></span> wrote:<br = class=3D""><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 = .8ex;border-left:1px #ccc solid;padding-left:1ex"><div = class=3D"HOEnZb"><div class=3D"h5"><blockquote class=3D"gmail_quote" = style=3D"margin:0 0 0 .8ex;border-left:1px #ccc = solid;padding-left:1ex"><br class=3D""> </blockquote> <br class=3D""></div></div> If you are using recent CentOS (or I guess Fedora), there isn't any<br = class=3D""> extra setup required. Just create the custom property:<br = class=3D""></blockquote><div class=3D""><br class=3D""></div><div = class=3D"">Both my engine and my hosts are CentOS 7.3 + = updates</div></div></div></div></div></blockquote><div><br = class=3D""></div>that=E2=80=99s good</div><div><br class=3D""><blockquote = type=3D"cite" class=3D""><div class=3D""><div dir=3D"ltr" class=3D""><div = class=3D"gmail_extra"><div class=3D"gmail_quote"><div = class=3D""> </div><blockquote class=3D"gmail_quote" style=3D"margin:0= 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> <br class=3D""> On the host where engine is running:<br class=3D""> <br class=3D""> $ engine-config -s "UserDefinedVMProperties=3Dhugep<wbr = class=3D"">ages=3D^.*$"<br class=3D""> $ service ovirt-engine restart<br class=3D""> <br class=3D""> and you should see 'hugepages' when editing a VM under custom = properties.<br class=3D""></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">So no vdsm hook at all to = install?</div></div></div></div></div></blockquote><div><br = class=3D""></div>today you still need the hook.</div><div><br = class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div = dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div = class=3D"gmail_quote"><div class=3D""><br class=3D""></div><div = class=3D""> </div><blockquote class=3D"gmail_quote" style=3D"margin:0= 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Set the number to (desired memory / 2048) and you're good to go. The<br = class=3D""> VM will run with it's memory backed by hugepages. </blockquote><div = class=3D""><br class=3D""></div><div class=3D"">As in sysctl.conf? So = that if I want 4Gb of Huge Pages I have to set = 2048?</div></div></div></div></div></blockquote><div><br = class=3D""></div>yes. there might be some </div><div><br = class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div = dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div = class=3D"gmail_quote"><div class=3D""><br class=3D""></div><div = class=3D""> </div><blockquote class=3D"gmail_quote" style=3D"margin:0= 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If you need<br = class=3D""> hugepages even inside the VM, do whatever you would do on a physical<br = class=3D""> host.<br class=3D""> <br class=3D""> mpolednik<div class=3D"HOEnZb"><div class=3D"h5"><br = class=3D""></div></div></blockquote><div class=3D""><br = class=3D""></div><div class=3D"">yes, the main subject is to have Huge = Pages inside the guest, so that Oracle RDBMS at startup detect them and = use them</div></div></div></div></div></blockquote><div><br = class=3D""></div>yes, so if you do that via sysctl.conf on real HW just = do the same here, or modify kernel cmdline.</div><div><br = class=3D""></div><div>Note that those are two separate = things</div><div>the hook is making QEMU process use hugepages memory in = the host - that improves performance of any VM</div><div>then how it = looks in guest is no concern to oVirt, it=E2=80=99s 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.</div><div>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 =E2=80=9Cbuffer=E2=80=9D 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.</div><div><br = class=3D""></div><div>Thanks,</div><div>michal</div><div><br = class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div = dir=3D"ltr" class=3D""><div class=3D"gmail_extra"><div = class=3D"gmail_quote"><div class=3D""><br class=3D""></div><div = class=3D"">Gianluca </div></div></div></div> </div></blockquote></div><br class=3D""></body></html>= --Apple-Mail=_2B6E5EAC-A5EA-4F24-8549-C3234A9C6DD6--