ユーザ用ツール

サイト用ツール


サイドバー



最近の更新



Tag Cloud

タグ#
8
10
1
3
1
2
17
7
1
1
4
13
4
1
2
279
1
8
2
7
17
5
1
30
3
3
1
6
1
1
44
1
3
3
1
1
1
1
1
1
32
46
7
9
10
7
10
3
3
2
9
2
2
6
6
1
1
5
10
4
3
3
2
1
8
2
4
1
6
30
2
12
2
3
1
1
2
3
1
1
2
4
3
2
4
2
2
1
1
2
1
2
1
2
1
27
2
1
2
2
2
1
1
2
3
15
5
8
1
1
2
14
2
6
1
2
12
1
2
1
1
4
10
1
6
2
1
6
1
3
3
11
1
2
1
1
10
3
1
14
1
1
4
1
2
1
2
9
2
2
3
1
1
3
1
2
1
2
2
2
1
2
3
1
4
3
4
1
3
1
3
3
2
1
1
30
1
3
3
1
1
1
3
5
1
35
2
3
2
1
2
2
3
1
1
1
4
1
2
1
3
1
1
1
2
5
2
5
2
1
1
1
5
3
2
4
2
1
2
1
19
1
1
3
4
1
1
2
1
1
2
1
1
1
1
2
1
1
1
1
1
9
6
1
3
1
1
3
1
1
1
1
2
1
1
1
1
1
1
2
01_linux:21_centos7:07_cgroup

07 CentOS cgroupでリソースコントロール

cgroupsのインストール

yum install libcgroup libcgroup-tools

cgroupsの起動設定

/usr/bin/systemctl enable cgconfig
/usr/bin/systemctl enable cgred

QOS

※ディスクIDは、lsblkで確認
下記は/dev/sda(8:0)を100IOPS でlimitをかける場合

[/etc/cgconfig.conf]

group DiskIO_Group  {
    blkio {
        blkio.throttle.read_iops_device = "8:0 100";
        blkio.throttle.write_iops_device = "8:0 100";
    }
}
[/etc/cgrules.conf]
root	blkio	DiskIO_Group

cgconfig.confで複数ディスクへ設定する場合

groupを複数書いておく

[/etc/cgconfig.conf]

group DiskIO_Group  {
    blkio {
        blkio.throttle.read_iops_device = "8:0 100";
        blkio.throttle.write_iops_device = "8:0 100";
    }
}
group DiskIO_Group  {
    blkio {
        blkio.throttle.read_iops_device = "251:0 100";
        blkio.throttle.write_iops_device = "251:0 100";
    }
}

こうするとちゃんと反映される

# cat /sys/fs/cgroup/blkio/DiskIO_Group/blkio.throttle.write_iops_device 
8:0 100
251:0 100

反映

反映にはcgconfigとcgredプロセスを再起動で反映されます。

systemctl restart cgconfig && systemctl restart cgred

確認

4k block , count=1000が10秒ほどかかる。
1000 / 100IOPS = 10s

# dd if=/dev/zero of=AAA bs=512 count=100 oflag=direct
100+0 records in
100+0 records out
51200 bytes (51 kB) copied, 0.925756 s, 55.3 kB/s

# dd if=/dev/zero of=AAA bs=512 count=1000 oflag=direct
1000+0 records in
1000+0 records out
512000 bytes (512 kB) copied, 9.92528 s, 51.6 kB/s

コマンドラインで実行の場合

CGruleを先に設定しておく

echo "root blkio DiskIO_Group" >>  /etc/cgrules.conf
systemctl restart cgred

グループ作成

cgcreate -g blkio:/DiskIO_Group

設定追加

cgset -r blkio.throttle.write_iops_device="8:0 10" DiskIO_Group

設定確認

cgget blkio.throttle.write_iops_device DiskIO_Group
# cgget -r blkio.throttle.write_iops_device DiskIO_Group
DiskIO_Group:
blkio.throttle.write_iops_device: 8:0 10

下記でも確認できる

# cat /sys/fs/cgroup/blkio/DiskIO_Group/blkio.throttle.write_iops_device
8:0 10

設定削除

cgdelete blkio:/DiskIO_Group
01_linux/21_centos7/07_cgroup.txt · 最終更新: 2021/07/24 17:30 by matsui

Yesterday:1310 Today:053 Total:145727