2025.1 系列发布说明

26.2.0-11

新特性

  • NetApp 驱动程序现在支持“total_volumes”功能,并且默认筛选函数已更新为在池达到最大卷数(1024)时筛选后端,这是由于 ONTAP FlexVolume 的限制所致。

    “total_volumes”可以在 netapp 驱动程序后端配置段中用于限制每个池的卷数,例如,在下面的示例中,我们将每个池的最大卷数限制为 10。示例:filter_function=”capabilities.total_volumes < 10”

    注意:管理员需要在 cinder.conf 的 [DEFAULT] 段中配置 scheduler_default_filters,以包含 DriverFilter,请参阅 [1] 获取默认筛选列表。

    [1] https://docs.openstack.org/cinder/2025.2/configuration/block-storage/samples/cinder.conf.html

  • NetApp 驱动程序现在支持通过 ZAPI 客户端为 flexgroup 池创建快照,并利用 NFS 通用驱动程序。对于 REST,如果 ONTAP 版本低于 9.14,则操作取决于 NFS 通用驱动程序。但是,对于 ONTAP 9.14 及更高版本,它依赖于 ONTAP 文件克隆 API。

错误修复

  • Bug #2105961:修复了 NVMe-oF 目标驱动程序中的问题,以验证连接器中的 nqn 属性(NVMe-oF),而不是 initiator 属性(iSCSI),这导致在非 iSCSI 环境中连接失败。

  • NetApp 驱动程序 bug #2116261:NetApp 已经支持 NFS/iSCSI/FCP 协议的一致性组。扩展对 NVMe/TCP 协议的相同支持。

  • NetApp 驱动程序 bug #2117263:修复了驱动程序在配置卷时未考虑存储限制的问题。

  • NetApp 驱动程序 bug #2119644:修复了无法为属于 FlexGroup 池的 Cinder 卷创建快照的问题。

  • Pure Storage 驱动程序 Bug #2119222:修复了 EG1 基于订阅的 FlashArrays 未报告数据缩减率的问题。

  • Pure Storage 驱动程序 Bug #21119059:修复了尝试管理超出租户存储配额的新卷时发生的卷删除问题。

  • Pure Storage bug #2121464:修复了尝试将卷连接到主机时发生的 AttributeError,而该卷已经连接到主机。

26.2.0

错误修复

  • 具有多重附加类型的卷可以连接到多个实例。已为 FCP/NVMe 协议实施了额外的逻辑,以处理从多个实例中删除 cinder 卷的情况。有关更多详细信息,请查看 Launchpad bug #2110274

  • Bug #2111461:修复了由于外键约束错误导致 cinder-manage 命令无法清除已删除行的问题。这是因为批量删除操作的时间戳是逐表重新计算的,导致主表和依赖表上删除行的间隔略有不同。

  • Bug #1907295:修复了当卷不在可以接受附加更新的正确状态时(例如,卷处于错误状态或重复连接器),REST API 返回 500(内部服务器错误)。现在它在这种情况下正确返回响应代码 409(冲突)。

  • RBD bug #2115985:修复了在管理具有 multiattachreplication_enabled 属性的卷类型中的卷时出现的问题。

  • HPE 3PAR 驱动程序 Bug #2119709:修复:跳过许可检查以使用新的 wsapi(2025 的)。

  • HPE 3par 驱动程序 bug #2112433:修复了观察到当 vlan ip 与 iSCSI ip 相同时出现的故障,方法是忽略重复的 ip

26.1.0

错误修复

  • Bug #2082587:修复了备份还原在新卷上抛出 TypeError 的问题。

  • NFS 驱动程序 bug #2074377:修复了由更改 I65857288b797(CVE-2024-32498 的缓解措施)引起的回退,该回退阻止了从现有卷的第二个和后续快照创建新卷。

26.0.0

新功能

  • 已添加一个新模块 cinder.wsgi,作为收集 WSGI application 对象的场所。这旨在通过为这些对象提供一致的位置来简化部署。例如,如果使用 uWSGI,则不再使用

    [uwsgi]
    wsgi-file = /bin/cinder-wsgi
    

    现在可以使用

    [uwsgi]
    module = cinder.wsgi.api:application
    

    这还简化了使用其他期望模块路径的 WSGI 服务器(例如 gunicorn)的部署。

  • Ceph 驱动程序:添加配置选项以仅保留每个备份的最后 n 个快照,以节省源卷存储上的磁盘空间。启用此选项可能会导致增量备份在特殊情况下变为完全备份。请参阅 Ceph 备份驱动程序文档以获取更多信息。

  • NetApp ONTAP 驱动程序现在支持基于证书的身份验证 (CBA),适用于希望使用基于证书的身份验证而不是用户名和密码的运营商。注意:如果都在配置中定义了所有身份验证选项(都定义了证书和传统身份验证),则证书身份验证选项优先。

  • Cinder 现在支持使用 cgroups v2 API 设置 cgroups,这在进行使用 LVM 后端的块设备迁移时使用。

  • 富士通 Eternus DX 驱动程序:添加了 SSH 密钥支持。

    添加了使用 SSH 密钥连接到 Eternus 存储的方法。可以通过设置参数 fujitsu_passwordless 的值来选择连接方法,该参数在 cinder.conf 中具有默认值 True

    • fujitsu_passwordless 设置为 True 时,将使用 SSH 密钥连接到存储。此外,需要将 fujitsu_private_key_path 设置为 SSH 私钥的路径。

    • fujitsu_passwordless 设置为 False 时,将使用密码进行 SSH 连接到存储。

    有关详细信息,请参阅 富士通 ETERNUS DX 驱动程序文档

  • Lightbits 驱动程序:允许管理员通过将 QoS 策略与卷类型关联来更好地管理和优化存储性能。

    • 管理员必须首先在供应商端创建所需的 QoS 策略。

    • 创建 QoS 策略后,可以使用策略的唯一 UUID 将其链接到系统中的卷类型。

    示例

    openstack volume type create LightbitsWithQos --property volume_backend_name=<backend_name> --property=lightos:qos_policy=<uuid>
    
  • Pure Storage:添加了额外的 IO 队列性能特征 queue_usec_per_mirrored_write_opqueue_usec_per_read_opqueue_usec_per_write_op,用于调度程序使用的阵列统计信息。

  • Pure Storage:更改了性能指标,以报告过去 30 秒的平均值,而不是使用某一时刻的信息。

  • [Pure Storage] 通过新的特定于供应商的卷类型额外规格添加了卷组支持。卷组可用于将租户卷隔离到 FlashArray 中的其自己的区域,并且该卷组可以具有针对卷组的租户范围存储 QoS。还可用于卷组中的卷以及现有的卷组卷(例如 VMware vVols)的完全复制支持。

  • NetApp 后端同步镜像支持。为 NetApp 后端的复制提供 netapp_replication_policy 选项,以启用用户应用同步镜像和其他相关策略。代码还添加了从辅助到主机的默认选项的故障转移。

  • 添加了一个新的 cinder-manage 命令来处理数据库清除无法完成的情况,因为 volumes 表持有对已删除服务的引用。新的命令确保所有卷仅引用正确的 service_uuid,这将允许从数据库中清除旧的服务记录。

    命令:cinder-manage volume update_service

  • 当 Cinder 创建一个新的 cinder-volume 服务时,它现在也会立即更新与该 cinder-volume 主机关联的所有卷的 service_uuid。在某些情况下,这阻止了数据库清除操作成功完成。

升级说明

  • 富士通 Eternus DX 驱动程序:添加了 SSH 密钥和密码连接切换

    添加了使用 SSH 密钥连接到 Eternus 存储的方法。可以通过设置参数 fujitsu_passwordless 的值来选择连接方法,该参数在 cinder.conf 中具有默认值 True

    对于从先前依赖密码身份验证的版本升级,必须显式设置 fujitsu_passwordless = False 在配置中。这可确保与旧的基于密码的工作流程的向后兼容性。

    默认的 True 值强制对新部署使用基于密钥的身份验证,以牺牲现有用户的配置调整为代价,从而符合安全最佳实践。

  • Quobyte 驱动程序:python psutil 模块不再是 cinder 的要求,因此可能需要单独安装,如果您正在使用 Quobyte。可以通过使用 pip 安装时指定 quobyte extras 来完成此操作(例如,pip install cinder[quobyte]),或者通过从适用于您的操作系统的包安装 psutil 并确保 cinder 卷服务可以访问它。

弃用说明

  • 以下配置选项,自 Mitaka 版本以来一直被默默忽略,现已弃用并将在 2026.1 版本中删除

    • num_iser_scan_tries

    • iser_target_prefix

    • iser_ip_address

    • iser_port

    • iser_helper

  • Pure Storage:弃用 queue_depth 性能特征,该特征由阵列统计信息返回。它将在 2026.1 版本中完全删除。

错误修复

  • NFS 驱动程序 bug #1989514:在创建附加卷的快照时,连接信息中的卷附加格式未更新,这可能导致无法启动的客户机。此问题已修复。

  • 修复了从卷创建的图像传播 signature_verified 卷属性的问题。该属性随后可能会在从该图像创建新卷时再次冲突,从而阻止卷成功创建。此卷属性是在从图像创建卷时创建的,目的是指示在创建时已验证图像签名,并且不打算在进一步传播图像时传播。

  • Dell PowerMax 驱动程序 bug #2081742:用于屏蔽视图连接的 REST API 调用不会立即返回 HostLUN ID。为了解决这个问题,添加了一个异常来实现重试机制。

  • Dell PowerMax 驱动程序 Bug #2089656:修复了多个分离请求在 Dell PowerMax 驱动程序中导致竞争条件的问题。此外,还改进了 PowerMax RESTAPI 请求的跟踪日志。

  • Dell PowerMax 驱动程序 bug #2092259:在可以删除卷之前,驱动程序会发出命令以清理后端中的活动快照,然后轮询后端以确保已完成清理。此修复程序增强了轮询机制,以使后端有更多的时间来执行清理,从而增加了驱动程序能够发出成功卷删除请求的可能性。

  • RBD 驱动程序 bug #2092534:修复了在图像格式与卷格式不同的情况下上传卷到图像的问题。

  • Bug #2062539:修复了当图像由卷快照支持时的重新镜像操作。

  • 富士通 Eternus DX 驱动程序 bug #2048850:添加了解析 CLI 执行失败时的错误消息。

  • 日立驱动程序 bug #2040966:屏蔽 REST API 会话的令牌。

  • NEC V 驱动程序 bug #2040966:屏蔽 REST API 会话的令牌。

  • HPE XP 驱动程序 bug #2040966:屏蔽 REST API 会话的令牌。

  • 日立驱动程序 bug #2033448:修复了资源组的锁计数器初始化问题

  • HPE 3PAR 驱动程序 bug #2062524:修复:添加了克隆卷的注释。

  • HPE 3PAR 驱动 Bug #2080927:已修复:将精简卷重定型为去重卷(去重 + 压缩)

  • Bug 1823445:修复了在存在但未更改的键时,批量更新卷 Glance 元数据的问题。

  • HPE Nimble:根据后端配置报告最大超额订阅率 max_over_subscription_ratio

  • Pure Storage 驱动 bug #2096801:修复了使用 GUI 管理卷的问题。

  • Bug #2083532:[Pure Storage] 修复了仅使用 IOPS qos 创建卷的问题。

  • Bug #2090310:[Pure Storage] 修复了使用 Evergreen//One 消费模式的 FlashArray 未报告 total_provisioned 的问题。在这种情况下,使用了 used_provisoned

  • Pure Storage bug #2101859:修复了 LACP 绑定未被正确识别为 iSCSI 和 NVMe 目标的问题。

  • [Pure Storage] 当使用同步复制时,请确保 Cinder 使用的 FlashArray Pods 没有附加 SafeMode 保护组,因为 Cinder 不支持 SafeMode。

  • Bug #2065713:由于不正确的异常处理,RBD 驱动程序 get_manageable_volumes 操作中的 ImageNotFound 错误会传播到 API 层,而不是在驱动程序中被捕获和处理。

  • Bug #1886543:在需要迁移的重定型中,当从一个后端迁移到另一个后端时,如果从卷类型角度来看是安全的,则尝试使用驱动程序辅助机制。

其他说明

  • HPE 3PAR:记录了现有驱动程序支持新的 Alletra MP 后端。HPE Alletra MP 是现有 HPE Alletra 9k 后端的更新版本。

  • HPE 3PAR 驱动:在 get_volume_stats 响应中,更新了计算 free_capacity 的逻辑

  • 使用 os-brick 中的新实现与 StorPool API 通信并读取 StorPool 配置文件。

    StorPool 后端不再要求 OpenStack 节点安装 Python 包 storpoolstorpool.spopenstack