Назад | Перейти на главную страницу

Cgroups против наборов задач в KVM

У меня есть хост CentOS 6 для нескольких виртуальных машин KVM с FreeBSD в качестве гостя.

Я хочу привязать каждую виртуальную машину к использованию не более одного ядра одновременно. Что бы вы посоветовали использовать, Cgroups или Tasksets?

Я думаю, что cgroups - это предпочтительный метод с EL6 сейчас, особенно с виртуализацией. Набор задач лучше всего подходит для отдельных процессов, но контрольные группы ближе к понятию экранирования / контейнеров.

Для привязки Vms к набору задач CPU - правильный подход. cgroups предназначены для более тонкого управления ресурсами, работая с долями использования ЦП. И, конечно же, @rubiojr уже упоминал собственный способ libvirt для закрепления процессоров vCPU.

Если вы используете libvirt, вы можете использовать:

<domain>
  ...
  <vcpu placement='static' cpuset="1" current="1">2</vcpu>
  ...
</domain>

в определении XML домена. Некоторые интересные места с актуальной информацией:

http://libvirt.org/formatdomain.html

http://wiki.libvirt.org/page/QEMUSwitchToLibvirt

http://berrange.com/posts/2010/02/12/controlling-guest-cpu-numa-affinity-in-libvirt-with-qemu-kvm-xen/