KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

RockyLinux9.4のcgroupバージョンを1にする手順

登録日 :2025/09/06 19:46
カテゴリ :Linux

RockyLinux9.4がインストールされたGPUマシンについて、SLURM21.08で運用する必要がある。
この時、RockyLinux9.4ではcgroup v2となっているため、SLURM ver23以上にしなければv2に対応していないことがわかっている。
(SLURM ver25でのGPUリソース管理方法については調査検証済み:https://nonoco.believeriver.site/detail_mark/500/)

一方で、RockyLinux9.4のcgroupをv1にダウングレードすることで、SLURM21が構成できるかを検討する。
そこで、まずRockyLinux9.4のcgroup v1にする設定手順をまとめる。

手順の概要
現在のcgroupバージョンを確認

mount | grep cgroup

cgroup2と表示されていればcgroup v2が有効です。

[root@rx9gpu01 ~]# mount | grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,seclabel,nsdelegate,memory_recursiveprot)

カーネルパラメータの追加

cgroup v1を有効にするため、以下のカーネルコマンドラインパラメータを追加します(root権限で実行)。

現在のカーネルのみ変更:

grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="systemd.unified_cgroup_hierarchy=0 systemd.legacy_systemd_cgroup_controller"

全カーネルブートエントリーを対象に変更したい場合:

grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0 systemd.legacy_systemd_cgroup_controller"

今回は全カーネルブートエントリーを変更してみる。

[root@rx9gpu01 ~]# grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0 systemd.legacy_systemd_cgroup_controller"

システムを再起動

reboot

再起動後のcgroupバージョン確認

mount | grep cgroup

各cgroup v1コントローラ(cpu, memoryなど)のディレクトリが /sys/fs/cgroup/ 以下にマウントされていれば、cgroup v1になっています。

出力例

[root@rx9gpu01 ~]# mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,size=4096k,nr_inodes=1024,mode=755,inode64)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpu,cpuacct)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/misc type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,misc)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_cls,net_prio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,rdma)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpuset)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,freezer)
[root@rx9gpu01 ~]#