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

Cgroups с libvirt / kvm на Centos 6.5

Я пытаюсь ограничить всю память, используемую виртуальными машинами, до определенного значения.

На серверах Ubuntu установка лимита на «libvirt-qemu» решает проблему. Но в случае CentOS он создает libvirt / qemu / virtual-machine-name, и похоже, что невозможно установить глобальный лимит памяти для виртуальных машин; вместо этого единственный способ - изменить объем памяти ограниченных виртуальных машин, созданных в каталоге qemu.

Можно ли установить глобальный лимит памяти cgroup?

mount {
    cpuset  = /cgroup/cpuset;
    cpu     = /cgroup/cpu;
    cpuacct = /cgroup/cpuacct;
    memory  = /cgroup/memory;
    devices = /cgroup/devices;
    freezer = /cgroup/freezer;
    net_cls = /cgroup/net_cls;
    blkio   = /cgroup/blkio;
 }
group mynamekvm {
   perm {
            admin {
                    uid = root;
                    gid = root;
            }
            task {
#uid of qemu and gid of kvm 
                   uid = 107;
                    gid = 37;
            }
   }
   memory {
            memory.limit_in_bytes = 61G;
  }

}

У меня есть этот набор в cgrules.conf

 qemu            memory          mynamekvm

и перезапустили cgconfig и libvirtd и перезапустили виртуальные машины,

но все равно

mynamekvm/memory.usage_in_bytes is 0

Есть идеи, как установить ограничения в libvirt в системах CentOS?

Конфигурация мало отличается от Ubuntu. Вам нужно добавить CGROUP_DAEMON=sets:name в /etc/sysconfig/libvirtd.

в вашем случае это

CGROUP_DAEMON=memory:/mynamekvm

Перезапустите все соответствующие службы, например cgconfig, libvirt и гости. Также убедитесь, что selinux настроен правильно, или попробуйте отключить, а затем перезапустить службы.