Ich führe Docker-Container mit aktiviertem Devicemapper aus CentOS 7 (3.10.0-514.10.2.el7.x86_64)
.
Bei einigen Containern kann ich die Lesevorgänge problemlos drosseln, blkio.throttle.read_bps_device
indem ich das übergeordnete Blockgerät angebe, aber bei manchen Containern funktioniert das einfach nicht.
Hier ist 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
Wenn ich in einer Kontrollgruppe Folgendes angebe, drosselt es die Lesevorgänge für einige Container ordnungsgemäß:
echo "8:16 1000000" > blkio.throttle.read_bps_device
Für andere Container muss ich jedoch das genaue Gerät angeben, beispielsweise:
echo "253:4 1000000" > blkio.throttle.read_bps_device
Irgendwelche Ideen, was der Grund dafür sein könnte, dass die Drosselung mit dem übergeordneten Gerät 8:16
nicht funktioniert?