FIO stands for Flexible I/O; it's one of the most popular tools for generating I/O workload and benchmarking. FIO has recently added native support for RBD. FIO is highly customizable and can be used to simulate and benchmark almost all kinds of workloads. In this recipe, we will learn how FIO can be used to benchmark the Ceph RBD.
To benchmark the Ceph block device, we need to create a block device and map that to the Ceph client node:
Install the FIO package on the node where you mapped the Ceph RBD image. In our case, it's the
ceph-client1
node:# yum install -y fio
Since FIO supports RBD IOengine, we do not need to mount the RBD image as a filesystem. To benchmark RBD, we simply need to provide the RBD image name, pool, and Ceph user that will be used to connect to the Ceph cluster. Create the FIO profile with the following content:
[write-4M] description="write test with block size of 4M" ioengine=rbd clientname=admin pool=rbd rbdname=block...