====== 31 ZFS IOPS limit ======
ZFSは、zpoolに対しては[[01_linux:21_centos7:07_cgroup|cgroup]]が効かない
ZFSでIOPS limitを利用するには、ZVOLで利用する必要があります。
===== ZPOOLに制限かけてみる =====
ZPOOLのディスクに制限をかけても効かない
# zpool status
pool: pool01
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
pool01 ONLINE 0 0 0
rbd1 ONLINE 0 0 0
# lsblk | grep rbd1
rbd1 251:16 0 2T 0 disk
cgcreate -g blkio:/DiskIO_Group
cgset -r blkio.throttle.write_iops_device="251:16 10" DiskIO_Group
# dd if=/dev/zero of=BBB bs=512 count=100 oflag=direct
100+0 records in
100+0 records out
51200 bytes (51 kB) copied, 0.000876598 s, 58.4 MB/s
===== ZVOLで制限をかけると効く =====
zfs create -V 20G pool01/zvol01
mkfs.xfs /dev/zvol/pool01/zvol01
mount /dev/zvol/pool01/zvol01 /mnt/
# lsblk| grep zd
zd0 230:0 0 10G 0 disk /mnt
cgset -r blkio.throttle.write_iops_device="230:0 10" DiskIO_Group
# dd if=/dev/zero of=BBB bs=512 count=100 oflag=direct
100+0 records in
100+0 records out
51200 bytes (51 kB) copied, 10.0009 s, 5.1 kB/s
cgset -r blkio.throttle.write_iops_device="230:0 100" DiskIO_Group
# dd if=/dev/zero of=BBB bs=512 count=1000 oflag=direct
1000+0 records in
1000+0 records out
512000 bytes (512 kB) copied, 9.91114 s, 51.7 kB/s
{{tag>ZFS cgroup}}