RHEL 7에서 시스템 재부팅 시 cgroup V2가 지속되도록 만드는 방법

RHEL 7에서 시스템 재부팅 시 cgroup V2가 지속되도록 만드는 방법

RHEL7을 사용하고 있습니다. 시스템의 기본 Cgroup 계층 구조는 Cgroup V1입니다. Cgroup V1과 Cgroup V2 계층 구조가 공존하는 시스템이 필요합니다. 루트 Cgroup V2를 수동으로 생성하여 이를 달성합니다.

sudo mkdir /mnt/cgroup2
sudo mount -t cgroup2 none /mnt/cgroup2/

따라서 시스템에는 현재 기본 Cgroup V1 계층 구조 /sys/fs/cgroup 와 cgroup V2 계층 구조가 있습니다./mnt/cgroup2

그러나 시스템이 다시 시작되면 Cgroup V2 마운트 지점이 사라집니다. 디렉토리는 그대로 유지되지만 Cgroup V2 파일 시스템은 더 이상 여기에 마운트되지 않습니다.

다시 시작하기 전에

$ mount | grep cgroup2
none on /mnt/cgroup2 type cgroup2 (rw,relatime,seclabel)

다시 시작한 후

$ mount | grep cgroup2
<---- no output . Hence mount is gone
$ ls /mnt/cgroup2
<---- no ls error. Hence directory stays
$ 

시스템 재부팅 후에도 Cgroup V2가 지속되도록 만드는 방법은 무엇입니까?

한 가지 접근 방식은 시스템 시작 시 Cgroup V2 계층 구조를 마운트하기 위해 일부 시작 스크립트 또는 크론 작업을 설정하는 것입니다. 하지만 이는 좋은 접근 방법은 아닌 것 같습니다.

또한 설치된 Cgroup V1 파일 시스템을 교체할 수 없습니다 /sys/fs/cgroup. Cgroup V1과 Cgroup V2는 시스템에 공존해야 합니다.

편집 - cgroup V1 및 V2의 현재 설치

$ mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
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/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,net_cls,net_prio)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,hugetlb)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,blkio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,perf_event)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,pids)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,memory)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,rdma)
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)
uc on /uc/cgroups type cgroup (rw,nosuid,nodev,noexec,relatime,seclabel,name=uc)
none on /mnt/cgroup2 type cgroup2 (rw,relatime,seclabel)

편집 2 - 마운트 디렉터리를 /run/cgroup2에서 /mnt/cgroup2로 업데이트했습니다.

관련 정보