![子设备上的 cgroup 节流阀不起作用](https://linux22.com/image/112483/%E5%AD%90%E8%AE%BE%E5%A4%87%E4%B8%8A%E7%9A%84%20cgroup%20%E8%8A%82%E6%B5%81%E9%98%80%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我正在使用 devicemapper 在CentOS 7 (3.10.0-514.10.2.el7.x86_64)
.
对于某些容器,我可以通过指定父块设备轻松限制读取blkio.throttle.read_bps_device
,但对于某些容器,它不起作用。
这是lsblk
:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 32G 0 disk
└─sda1 8:1 0 32G 0 part /
sdb 8:16 0 100G 0 disk
├─data-docker_thin_tmeta 253:0 0 512M 0 lvm
│ └─data-docker_thin 253:2 0 90G 0 lvm
│ └─docker-8:1-151197496-c619...6ed 253:4 0 10G 0 dm
├─data-docker_thin_tdata 253:1 0 90G 0 lvm
│ └─data-docker_thin 253:2 0 90G 0 lvm
│ └─docker-8:1-151197496-c619...6ed 253:4 0 10G 0 dm
└─data-data 253:3 0 9G 0 lvm /data
当我在 cgroup 中指定以下内容时,它会正确限制某些容器的读取:
echo "8:16 1000000" > blkio.throttle.read_bps_device
但对于其他容器,我需要指定确切的设备,例如:
echo "253:4 1000000" > blkio.throttle.read_bps_device
任何想法可能是什么原因导致父设备的节流8:16
不起作用?