On Wed, Apr 19, 2017 at 8:03 AM, Michal Skrivanek <mskrivan(a)redhat.com>
wrote:
Why not reserving regular hugepages for VMs on boot?
Do you mean at hypervisor level? In this case it is what I'm doing normally
for physical servers where I install Oracle RDBMS
then you can use
it with vdsm hook for that Oracle VM.
Which hook are you referring?
This one:
http://www.ovirt.org/develop/developer-guide/vdsm/hook/hugepages/
?
In case is it still current? In the sense that I need to mount the
hugetblfs virtual file system at hst level?
The hook description seems low detailed...
Normally if I want oracle user able to use huge pages on physical server, I
have to specify
#
# Huge pages
#
vm.hugetlb_shm_group = 2000
# 18GB allocatable
vm.nr_hugepages = 9216
#
where 2000 is the group id for dba group, the main group of oracle user
How to map this with vrtualization?
Eg:
1) vm.hugetlb_shm_group at hypervisor side should be set to the group of
the qemu user as the qemu-kvm process runs with it?
2) Then I have to set VM for VM the hugepages=xxx value in the hook and
that will bypass the sysctl.conf configuration in the guest?
3) I presume I have to set the vm.hugetlb_shm_group parameter at guest
level....
Thanks,
Gianluca
It improves VM performance in
general, the only drawback is less flexibility since that memory can't
be used by others unless they specifically ask for hugepages.
This seems to confirm that I have to set a statich sysctl.conf entry at
hypervisor level such as
vm.nr_hugepages = YYYY
Also, I suppose you disable KSM, and I'm not sure about
ballooning,
unless you need it I'd disable it too.
I kept the defaults at the moment that I suppose should be
a) KSM disabled
ksm has been configured to start by default as normally, but ksmtuned has
been disabled:
[g.cecchi@ov300 ~]$ sudo systemctl status ksm
● ksm.service - Kernel Samepage Merging
Loaded: loaded (/usr/lib/systemd/system/ksm.service; enabled; vendor
preset: enabled)
Active: active (exited) since Tue 2017-04-11 11:07:28 CEST; 1 weeks 1
days ago
Process: 976 ExecStart=/usr/libexec/ksmctl start (code=exited,
status=0/SUCCESS)
Main PID: 976 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/ksm.service
Apr 11 11:07:28 ov300.datacenter.polimi.it systemd[1]: Starting Kernel
Samepage Merging...
Apr 11 11:07:28 ov300.datacenter.polimi.it systemd[1]: Started Kernel
Samepage Merging.
[g.cecchi@ov300 ~]$ sudo systemctl status ksmtuned
● ksmtuned.service - Kernel Samepage Merging (KSM) Tuning Daemon
Loaded: loaded (/usr/lib/systemd/system/ksmtuned.service; disabled;
vendor preset: disabled)
Active: inactive (dead)
[g.cecchi@ov300 ~]$
b) ballooning enabled for a newly created VM unless I explicitly disable it
(at least I see this happens in 4.1.1)
What to do for a) and b) to not interfere with huge pages?
The hook is being improved right now in master, but it should be
usable in stable too.
I will be happy to test and verify and contribute to its description, as
soon as I understand its usage....
Gianluca