[Sysadmins] Не работает cgroup на ядре с OpenVZ

Васюк Максим Анатольевич vaksim на gmail.com
Пт Дек 4 16:56:50 MSK 2015


Привет, Всем!

Есть у меня Хост с KVM на t7

# uname -r
3.10.32-std-def-alt1

# rpm -qa | grep qemu
qemu-aux-1.4.0-alt1.1
ipxe-roms-qemu-1.0.0-alt2.git174df77
qemu-common-1.4.0-alt1.1
libvirt-qemu-common-1.0.4-alt2
qemu-img-1.4.0-alt1.1
libvirt-daemon-driver-qemu-1.0.4-alt2
qemu-system-1.4.0-alt1.1

# findmnt -t cgroup
TARGET               SOURCE FSTYPE OPTIONS
/sys/fs/cgroup/cpu   cgroup cgroup rw,relatime,cpu
/sys/fs/cgroup/blkio cgroup cgroup rw,relatime,blkio

В конфиге гостя было выставлено:
<vcpu placement='static' cpuset='1'>1</vcpu>

И оно срабатывало.

Появился второй Хост с KVM и OpenVZ на t7
# uname -r
2.6.32-ovz-el-alt137

# rpm -qa | grep qemu
libvirt-qemu-common-1.0.4-alt2
qemu-aux-1.4.0-alt1.1
qemu-common-1.4.0-alt1.1
libvirt-daemon-driver-qemu-1.0.4-alt2
qemu-system-1.4.0-alt1.1
qemu-img-1.4.0-alt1.1
ipxe-roms-qemu-1.0.0-alt2.git174df77

# findmnt -t cgroup
TARGET               SOURCE      FSTYPE OPTIONS
/proc/vz/beancounter beancounter cgroup rw,relatime,blkio,name=beancounter
/proc/vz/container   container   cgroup 
rw,relatime,freezer,devices,name=container
/proc/vz/fairsched   fairsched   cgroup 
rw,relatime,cpuacct,cpu,cpuset,name=fairsched

При переезде гостя с хоста где был один KVM на хост где KVM и OpenVZ при 
загрузке гостя сразу заругалось:
# virsh -c qemu:///system start tw1
ошибка: Не удалось запустить домен tw1
ошибка: Unable to set cpuset.cpus: Permission denied

Разбираться было некогда, поэтому просто убрал cpuset='1' из конфига.

Сейчас хост нагрузили и требуется настройка лимитов.

Вернул обратно cpuset='1' в конфиг.

При старте гостя в лог libvirt валится:
2015-12-04 13:36:30.517+0000: 5838: warning : qemuSetupCgroup:406 : 
Could not autoset a RSS limit for domain tw1
2015-12-04 13:36:31.506+0000: 5838: error : 
qemuSetupCgroupEmulatorPin:546 : Unable to set cpuset.cpus: Permission 
denied
2015-12-04 13:36:31.506+0000: 5838: error : 
virCgroupRemoveRecursively:732 : Unable to remove 
/proc/vz/fairsched/0/libvirt/qemu/tw1/vcp
-------------------
Тут еще несколько аналогичных строк
-------------------
2015-12-04 13:36:31.506+0000: 5838: error : 
virCgroupRemoveRecursively:732 : Unable to remove 
/proc/vz/beancounter/0/libvirt/qemu/tw1/

Убираю параметр, стартую гостя, в логе осталось только:
2015-12-04 13:44:12.065+0000: 5837: warning : qemuSetupCgroup:406 : 
Could not autoset a RSS limit for domain tw1

Но виртуалка грузится и работает.

В /proc/vz/fairsched/0/libvirt/qemu/ автоматом создался каталог tw1.

Пробую руками:
# echo 3 > /proc/vz/fairsched/0/libvirt/qemu/tw1/cpuset.cpus
bash: echo: ошибка записи: Отказано в доступе

# ls -l cpuset.cpus
-rw-r--r-- 1 root root 0 дек  4 19:47 cpuset.cpus

-- 
С уважением,
Васюк Максим


Подробная информация о списке рассылки Sysadmins