我是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的方法是什么?任何文档或指南都将非常受欢迎。
似乎这实际上比看起来简单。
如果要共享/ 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
次编号。