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

Включение контрольных групп на вычислительных узлах Беовульфа

Мы запускаем кластер Beowulf с использованием дистрибутива Scyld от Penguin Computing, и похоже, что контрольные группы настроены на головном узле, но не на вычислительных узлах. Я пытаюсь настроить Slurm на использование proctrack/cgroup плагин, но он не будет работать на вычислительных узлах.

Например, я могу перечислить контрольные группы на головном узле, но не на вычислительном узле:

$ bpsh -1 systemd-cgls
├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
├─user.slice
...
$ bpsh 1 systemd-cgls
Failed to create bus connection: No such file or directory
$

Если я посмотрю на точку монтирования для системы cgroup, она будет установлена ​​на головном узле, но не на вычислительных узлах. У вычислительных узлов просто пустой каталог в этом месте.

$ bpsh -1 findmnt /sys/fs/cgroup
TARGET         SOURCE FSTYPE OPTIONS
/sys/fs/cgroup tmpfs  tmpfs  ro,nosuid,nodev,noexec,mode=755
$ bpsh 1 findmnt /sys/fs/cgroup
$ bpsh 1 ls -l /sys/fs/cgroup
total 0
$

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

Обновить

man7.org описывает, как монтировать контроллеры cgroups, но говорит следующее:

Обратите внимание, что во многих системах контроллеры v1 автоматически монтируются в / sys / fs / cgroup; в частности, systemd (1) автоматически создает такие точки монтирования.

Это объясняет, почему я не вижу никакой конфигурации для групп на головном узле: они просто монтируются автоматически. Почему они не монтируются автоматически на вычислительных узлах?

Похоже, драйверы загружены на вычислительный узел, но не смонтированы:

$ cat /proc/cgroups
#subsys_name    hierarchy   num_cgroups enabled
cpuset  6   1   1
cpu 4   1   1
cpuacct 4   1   1
memory  2   1   1
devices 3   1   1
freezer 10  1   1
net_cls 7   1   1
blkio   5   1   1
perf_event  9   1   1
hugetlb 8   1   1
pids    11  1   1
net_prio    7   1   1
$ bpsh 0 cat /proc/cgroups
#subsys_name    hierarchy   num_cgroups enabled
cpuset  0   1   1
cpu 0   1   1
cpuacct 0   1   1
memory  0   1   1
devices 0   1   1
freezer 0   1   1
net_cls 0   1   1
blkio   0   1   1
perf_event  0   1   1
hugetlb 0   1   1
pids    0   1   1
net_prio    0   1   1

Я пробовал искать "cgroup" в /var/log/messages, и я обнаружил, что головной узел инициализирует подсистемы cgroup, но ничего из вычислительных узлов.