【技术实现步骤摘要】
一种云平台加速虚拟机I/O的方法、装置及系统
[0001]本专利技术涉及计算机
,特别是涉及一种云平台加速虚拟机I/O的方法、装置、系统及计算机可读存储介质。
技术介绍
[0002]在云平台操作系统上,用户可以通过Cinder服务方便创建云硬盘并挂载给云主机使用,而Virtio是目前通用的半虚拟化方案,可用于加速虚拟机的I/O,Virtio为Guest kernel的前端和后端提供了通信的通用接口,Guest kernel的前端和Guest kernel的后端具体可以通过Virtio中的Virtqueues进行数据传递。首先,Guest kernel的前端将数据写入至Virtio的Virtqueues中,然后QEMU从Virtqueues中获取数据后调用系统接口并把数据写入内核态,然后再由QEMU作为Guest kernel的后端根据数据对设备进行读写,读写完成之后再通知Guest kernel的前端。
[0003]随着技术的发展,Hypervisor逐步推出了Vhost
‑
user技术,该Vhost
‑
user技术可以让Guest kernel的后端直接通过Virtqueue与Guest kernel的前端进行交互,减少了数据在用户态到内核态的重复拷贝,并且vhost
‑
user的轮询模式也减少了vm_exit。该Vhost
‑
user技术可以让Guest kernel的后端位于用户态,在减小宕机概率的同时,也增加了后端程序开发的 ...
【技术保护点】
【技术特征摘要】
1.一种云平台加速虚拟机I/O的方法,其特征在于,包括:预先创建共享大页内存的虚拟机,并获取目标卷的协议及连接信息;向与所述虚拟机对应的宿主机上的SPDK vhost
‑
user服务发送创建控制器的请求,以创建vhost
‑
user
‑
scsi控制器;根据所述目标卷的协议及连接信息使SPDK bdve接管所述目标卷,并将所述SPDK bdve添加至所述vhost
‑
user
‑
scsi控制器;将所述虚拟机与所述vhost
‑
user
‑
scsi控制器相关联,以便所述虚拟机内的QUME通过调用所述vhost
‑
user
‑
scsi控制器以对所述目标卷进行加速操作。2.根据权利要求1所述的云平台加速虚拟机I/O的方法,其特征在于,所述获取目标卷的协议及连接信息的过程为:依据挂载卷请求调用Nova挂载卷接口;通过所述Nova挂载卷接口发送REST API请求至Cinder,以便所述Cinder根据所述REST API请求获取目标卷的协议及连接信息;通过所述Nova挂载卷接口接收所述目标卷的协议及连接信息。3.根据权利要求2所述的云平台加速虚拟机I/O的方法,其特征在于,所述向与所述虚拟机对应的宿主机上的SPDK vhost
‑
user服务发送创建控制器的请求,以创建vhost
‑
user
‑
scsi控制器的过程为:通过Nova检查虚拟机元数据,判断是否存在共享大页内存的虚拟机,若存在,则通过所述Nova发送连接卷请求至cyborg;所述连接卷请求包括所述目标卷的协议及连接信息;通过所述cyborg判断是否存在与所述虚拟机对应的vhost
‑
user
‑
scsi控制器,若不存在,则发送创建控制器的请求至与所述虚拟机对应的宿主机上的SPDK vhost
‑
user服务,以创建vhost
‑
user
‑
scsi控制器。4.根据权利要求3所述的云平台加速虚拟机I/O的方法,其特征在于,所述将所述虚拟机与所述vhost
‑
user
‑
scsi控制器相关联,以便所述虚拟机内的QUME通过调用所述vhost
‑
user
‑
scsi控制器以对所述目标卷进行加速操作的过程为:获取所述vhost
‑
user
‑
...
【专利技术属性】
技术研发人员:马翱宇,马豹,海鑫,轩艳东,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。