nova/libvirt驱动程序中Parallels Cloud Server支持

https://blueprints.launchpad.net/nova/+spec/pcs-support

本规范旨在描述扩展nova/libvirt驱动程序以支持Parallels Cloud Server [1] 的过程。

问题描述

Parallels Cloud Server (PCS) 是一种虚拟化解决方案产品,它使服务提供商能够通过相同的管理工具和API使用容器和虚拟机技术。 虽然PCS受libvirt支持,但目前在OpenStack中尚不存在,这不仅与计算节点部署相关的特定需求有关,还与Parallels磁盘环回块设备 [2] 的使用所隐含的不同磁盘镜像格式、域配置和支持的功能有关。

用例

此更改将允许使用PCS作为其主要虚拟化解决方案的服务提供商使用OpenStack在其之上构建云。 对于不使用PCS的用户,没有影响。

项目优先级

此功能的优先级尚未定义。

提议的变更

为了使PCS得到OpenStack的支持,我们需要修改nova/libvirt驱动程序,主要是在新的虚拟化处理类型方面。 用户将能够通过将libvirt.virt_type选项设置为“parallels”来配置nova以使用PCS。 此外,由于PCS支持的本机磁盘格式是ploop [2],为了获得最佳性能,我们需要更改glance-api配置以支持PCS ploop格式。 将提供不同格式的镜像的就地转换。 由于每个主机通过资源跟踪器报告支持的实例,并且镜像的‘vm_mode’属性用于确定在特定主机上运行哪种类型的虚拟化,因此将基于具有特定vm_mode属性的镜像做出决定(例如vm_mode=exe以运行容器,或vm_mode=hvm以运行基于虚拟机的实例)。 因此,PCS主机将支持任意混合的机器和基于容器的客户机。 如果云管理员需要一种将主机划分为组的方法,以便某些主机专门运行机器虚拟化,而其他主机专门运行容器虚拟化,则应使用主机聚合和flavor的额外规格。

nova.conf 示例摘录:[libvirt] … virt_type = parallels images_type = ploop …

glance-api.conf 示例摘录:… disk_formats=ami,ari,aki,vhd,vmdk,raw,qcow2,vdi,iso,ploop …

以下是我们计划支持的功能列表

虚拟机

容器

启动

重启

终止

调整大小

救援

暂停

取消暂停

挂起

恢复

注入网络

注入文件

串口控制台输出

no

VNC 控制台

SPICE 控制台

no

no

RDP 控制台

no

no

附加卷

分离卷

实时迁移

快照

iSCSI

iSCSI CHAP

光纤通道

设置管理员密码

获取客户机信息

Glance 集成

服务控制

no

VLAN 网络

Flat 网络

安全组

防火墙规则

nova 诊断

no

no

Config Drive

自动配置磁盘

no

撤离

卷交换

卷速率限制

  1. 暂停容器在技术上没有问题,但目前尚未实现。

  2. 可以将卷作为块设备或挂载点附加到容器,同时提供两种类型的访问权限存在安全问题。

  3. 我们可以使用vswap技术 [4] 调整容器中的交换大小,而不是像传统交换磁盘那样。

  4. 我们只能为整个实例调整IO速率,而不能为单个卷调整。

备选方案

另一种方法是像这样实现一个单独的PCS nova驱动程序 [3],这是在PCS + OpenStack概念验证方面实现的。

优点:* 没有OpenStack和PCS之间的中间层,因为pcs-nova-driver使用PCS的本机python API。 * 对pcs-nova-driver的更改不会影响nova/libvirt的代码。

缺点:* 另一个nova驱动程序 * 这是一个树外驱动程序

数据模型影响

无。

REST API 影响

无。

安全影响

无。

通知影响

无。

其他最终用户影响

无。

性能影响

无。

其他部署者影响

用于“parallels”类型虚拟化的计算节点必须提前部署。 将PCS主机部署与OpenStack集成不在本规范的范围内。

开发人员影响

无。

实现

负责人

主要负责人

dguryanov

其他贡献者

burluka mnestratov

工作项

  • 增强libvirt驱动程序以支持新的virt_type值。

  • 实现所有必要的功能,以在libvirt驱动程序中支持PCS

依赖项

在glance Bluesprint中添加对新磁盘镜像格式的支持 https://blueprints.launchpad.net/glance/+spec/pcs-support

测试

门控测试将由目前正在建立的Parallels CI测试系统提供。

文档影响

应注意新型虚拟化提供程序,以及主机部署先决条件,例如计算节点上需要安装PCS。

参考资料