Add QoS capacity to librbd¶
Summary¶
Now librbd doesn't support image-level rate-limit capacity. But we still can use hypervisor which support block IO qos to get , such as qemu. But it didn't know what the IO operation is clearly. For example, if rbd cache enabled many seq io may merge into one operation in the ceph side. In the other words, one IO in qemu not the same as a op in librbd.
Owners¶
- Haomai Wang (UnitedStack)
- Rongze Zhu (UnitedStack)
- Name
Interested Parties¶
- Danny Al-Gaaf (Deutsche Telekom AG)
- Zhiteng Huang (eBay Inc.)
- Name
Current Status¶
Librbd doesn't support it now.
Detailed Description¶
User can create image with specied qos spec, like "read_iops", "write_iops", "read_bytes" etc. Each image store it in the header object. We can limit the io via Objecter, or other places. We also can dynamically set image's qos online, it is very useful for cloud platform.
Then we can support qos at OpenStack Cinder rbd driver.
Work items¶
Coding tasks¶
- Determine qos fields
- Implement it at librbd
- Add to Cinder
Documentation tasks¶
- Option docs
Updated by Jessica Mack almost 9 years ago · 1 revisions