如何确定设备的cgroup并将其提供给lxc容器

问题描述 投票:0回答:1

我是lxc和cgroup的新手。我试图隔离一个应用程序,并使用LXC构建它的容器。

到目前为止,我可以为它提供一些资源,例如/dev/tty0/dev/fb0。很好,但是我正在努力寻找如何找到对应的/proc/*/的编号:

lxc.cgroup.devices.allow = c 4:0 rwm
lxc.mount.entry = /dev/tty0 dev/tty0 none bind,optional,create=file

lxc.cgroup.devices.allow = c 4:5 rwm
lxc.mount.entry = /dev/tty5 dev/tty5 none bind,optional,create=file

lxc.cgroup.devices.allow = c 29:0 rwm
lxc.mount.entry = /dev/fb0 dev/fb0 none bind,optional,create=file

[例如,对于fb0,似乎29来自/proc/29,而0来自fb0。如何确定给定资源的编号?

为什么tty与4关联并且帧缓冲区为29?

cat /proc/devices 

给出了部分答案,但是/dev/input/*呢? sdaX?还是/dev/mmcblk0X

知道属于给定资源的cgroup的方法是什么?任何文档或指南都将非常受欢迎。

linux device-driver lxc cgroups
1个回答
1
投票

似乎这实际上比看起来简单。

如果要共享/ dev / tty0,只需查找次要和主要数字:

# ls -l /dev/tty5
crw--w---- 1 root tty 4, 5 Jan  1 01:37 /dev/tty5

如果要共享字符设备/ dev / tty5,则要允许:

lxc.cgroup.devices.allow = c 4:5 rwm
lxc.mount.entry = /dev/tty5 dev/tty5 none bind,optional,create=file

[c来自字符,4是主要数字,5是次要数字

如果您要共享/ dev / sda1:

# ls -l /dev/sda1
brw-rw---- 1 root disk 8, 1 Jan  1 01:37 /dev/sda1

然后添加:

lxc.cgroup.devices.allow = b 8:1 rwm

其中b用于块设备,8主编号1次编号。

© www.soinside.com 2019 - 2024. All rights reserved.