VMware:对 vSAN 数据存储的支持

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

目前 vmwareapi 计算驱动程序仅支持将实例部署到 NFS 和 VMFS 数据存储。此蓝图建议增加对使用 vSAN 存储的支持。

术语解释

规范和驱动程序中提到的“数据存储”是指 vSphere 概念,即逻辑存储容器,是 VM 数据(以及其他内容)存放的地方。这种抽象化的目的是为了让 vSphere 客户端能够以统一的方式访问所述 VM 数据,而不管底层存储使用什么硬件、I/O 协议或传输协议。

直到最近,所有 vSphere 数据存储都大致分为两种类型:VMFS 和 NFS。vmwareapi 驱动程序自诞生以来一直支持这两种类型的使用,无需区分两者,这很大程度上得益于这种数据存储抽象化。

vSAN 存储是 vSphere 中引入的第三种类型的数据存储。它是一种软件定义的分布式存储,它将连接到一组主机的磁盘(磁性磁盘用于容量,SSD 用于缓存/性能)聚合到一个存储池中。该池再次作为单个数据存储暴露出来。

问题描述

目前,计算驱动程序完全忽略了类型为“vsan”的数据存储。使用这种类型的数据存储的一个障碍是,虚拟磁盘数据文件(“ -flat.vmdk”文件)不能直接寻址为数据存储路径。由于 vmware 驱动程序中的生成和快照工作流程都会以某种方式寻址数据文件,因此需要更改它们以支持 vSAN 数据存储。

用例

最终用户将能够使用 vSAN 数据存储并部署 streamOptimized 镜像。

项目优先级

提议的变更

该更改分为两个方面

  • 识别和使用一种新型数据存储(“vsan”)。

  • 更新涉及导出和导入 Glance 镜像的现有代码,以使用不直接寻址磁盘数据文件的替代 vSphere API。

第二个方面的更改主要由 oslo.vmware 库中的 image-transfer 功能提供 [*]。建议更新代码以使用所述库。

但是,这些替代 API 支持的唯一磁盘格式是“streamOptimized”格式。(streamOptimized 格式是一种稀疏、压缩且流友好的 VMDK 磁盘格式,非常适合导入/导出用例,例如上述 glance<->hypervisor 交换)。这意味着只有 streamOptimized 磁盘镜像才能部署到 vSAN。驱动程序将被修改为将带有属性 vmware_disktype='streamOptimized' 的 Glance vmdk 镜像识别为这种格式的磁盘,并且仅在处理这种格式的磁盘时才使用替代 API。

备选方案

无。

数据模型影响

REST API 影响

安全影响

通知影响

其他最终用户影响

性能影响

其他部署者影响

在 [vmware] 部分下有一个新的配置选项“image_transfer_timeout_secs”,它配置了镜像传输在超时之前可以持续的时间。

为了将现有的 VMDK 镜像部署到 vSAN,这些镜像必须转换为 streamOptimized 并重新导入到 glance。

开发人员影响

最小。与蓝图相关的更改主要集中在处理新的 vmdk 格式类型以及添加识别和使用名为“vsan”的附加数据存储类型方面。

实现

负责人

主要负责人

rgerganov

工作项

这项工作大致分解为

  • 使用 oslo.vmware image_transfer 模块处理镜像下载

  • 使用 oslo.vmware image_transfer 模块处理镜像快照上传

  • 更新驱动程序以允许使用类型为 vSAN 的数据存储。

  • 更新驱动程序以识别新的 vmdk 格式(streamOptimized)

依赖项

测试

由于 Tempest 通常不支持特定于驱动程序的测试,因此建议更新 MineSweeper CI (https://wiki.openstack.org/wiki/NovaVMware/Minesweeper),为 vCenter 提供带有 vSAN 存储,并添加额外的测试,以验证在对其使用 vSAN 的计算节点上调用时,现有的 Tempest 测试是否通过。

文档影响

需要在 Nova 文档的 vmware 驱动程序部分添加新的信息,以记录

  • 如何配置计算节点以用于 vSAN。

  • 使用 vSAN 存储时虚拟磁盘格式的要求(仅“streamOptimized”)。

  • 新的“image_transfer_timeout_secs”配置选项。

  • 如何从虚拟机或非 streamOptimized 格式的 vmdk 磁盘获取 streamOptimized 磁盘。

参考资料