高性能云盘优化主要是以SPDK+Ceph的方案为基础,通过在Host上运行SPDK的vhost服务,挂载并管理Ceph云盘,再通过Vhost-user协议将云盘通给虚拟机以实现提供高性能存储云盘的功能。软件架构如图 高性能云盘优化软件架构所示。
- SPDK层通过接收虚拟机下发的IO,并调用Ceph Client的librbd接口将IO转发给Ceph RBD设备,SPDK层采用CPU轮询的方式,实现相对于QEMU直接调用Ceph librbd接口更高的性能。
- Ceph Client层主要是由SPDK调用librbd接口,来实现Ceph RBD IO请求的下发。Ceph Client通过一系列的算法,最终通过网络将IO请求发送给Ceph Server。
图1 高性能云盘优化软件架构