.NET에서 devicemapper를 사용하여 Docker 컨테이너를 실행하고 있습니다 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
상위 장치를 사용한 조절이 작동하지 않는 이유는 무엇입니까 ?