Benchmarking Ceph RBD using FIO

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.

How to do it…

To benchmark the Ceph block device, we need to create a block device and map that to the Ceph client node:

  1. 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
    
  2. 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-device1
    iodepth=32
    runtime=120
    rw=write
    bs=4M
    
    How to do it…
  3. To start FIO benchmarking, execute by providing the FIO profile file as an argument to the FIO command:
    # fio write.fio
    
    How to do it…
  4. On completion, FIO generates a lot of useful information that should be carefully observed. However, at first glance, you might be interested mostly in IOPS and the aggregated bandwidth, which are both highlighted in the previous screen shot.

See also…

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.138.172.130