Zed 系列发布说明¶
21.3.1¶
错误修复¶
Bug #1996049:修复了卷不存在时备份未设置为失败的错误。
Infinidat 驱动程序 bug #1982350:修复了 Infinidat 驱动程序的多重附加功能。增加了一个检查,如果从同一连接器存在多个附加到卷的连接,则仅终止来自相应主机的最后一个连接。
Infinidat 驱动程序 bug #1982405:修复了 Infinidat 驱动程序,允许在同一集群内的两个存储池之间迁移通用卷。
Bug #1945500:最初尝试修复此错误时,没有考虑到 glance 和 cinder 存储镜像元数据的方式的差异,因此某些镜像属性未被过滤掉。此新的改进的修复解决了这些差异,并使过滤更加彻底。
21.3.0¶
已知问题¶
出于安全原因(Bug #2004555),手动删除附加项、手动执行
os-terminate_connectionos-detach或os-force_detach操作将不再允许,除非请求来自代表用户的另一个 OpenStack 服务。
升级说明¶
Nova 必须 配置为发送服务令牌 并且 cinder 必须配置为识别 nova 服务用户在 keystone 中分配的至少一个角色。默认情况下,cinder 将识别
service角色,因此,如果 nova 服务用户在您的云中分配了不同名称的角色,则必须调整 cinder 配置文件(keystone_authtoken部分中的service_token_roles配置选项)。如果 nova 和 cinder 未正确配置,则分离卷将不再起作用(Bug #2004555)。
关键问题¶
如果 Nova 未 配置为发送服务令牌,则分离卷将失败,请阅读升级部分以获取更多信息。(Bug #2004555)。
安全问题¶
作为修复 Bug #2004555 的一部分,cinder 现在拒绝用户删除仍被 nova 实例使用的附加项的请求,以确保计算节点上不会产生可用于访问另一个项目卷的剩余设备。终止连接、分离和强制分离卷操作不允许用户执行。
错误修复¶
Bug #2004555:修复了用户手动删除附加项、调用终止连接、分离或强制分离,对于仍被 nova 实例使用的卷导致计算节点上出现剩余设备的问题。这些操作现在将失败。
21.2.0¶
新特性¶
RBD 驱动程序:将 Ceph 集群 FSID 设置为
rbd_secret_uuid配置选项的默认值。
升级说明¶
我们引入了一个新的配置参数
reserved_image_namespaces,它允许操作员设置要从卷镜像元数据中按命名空间过滤的镜像属性,在将卷上传到 Glance 时。如果未过滤掉这些属性,则会导致上传镜像时发生故障。错误将在 Glance 端发生,当使用保留的命名空间时。
错误修复¶
PowerStore 驱动程序 bug #1962824:修复了驱动程序的 Cinder 卷缓存机制。现在驱动程序正确引发
exception.SnapshotLimitReached,当为给定卷创建最大快照并且使卷缓存失效以允许新的快速卷克隆时。
Bug #2008017:修复了 NetApp NFS 驱动程序,使其永远不要生成本机线程,以避免线程饥饿和其他相关问题。
Bug #1945500:修复了在启用了 glance 多存储时上传之前下载的 glance 镜像到 Glance 时发生的错误。Glance 在 ‘os_glance’ 命名空间中为自己的使用保留镜像属性,并且不允许使用这些属性创建镜像。此外,一些镜像属性,例如与镜像签名验证相关的属性,存储在卷的镜像元数据中,不应在将卷作为镜像上传时添加到新镜像中。因此,Cinder 不会在
os_glance和img_signature命名空间中包含任何卷镜像元数据,并在 Glance 中创建镜像。此外,由于 Glance 属性保护功能允许操作员将特定镜像属性配置为只读,因此此修复添加了一个配置选项reserved_image_namespaces,该选项允许操作员通过命名空间排除其他镜像属性(os_glance和img_signature命名空间始终被排除)。
Pure Storage FlashArray 驱动程序 bug #1969784:修复了阵列故障转移错误地处理由于网络问题导致的阵列丢失的情况。
RBD 驱动程序 bug #1960206:修复了驱动程序向调度程序报告的
total_capacity,适用于已将bytes_used字段重命名为stored的 Ceph 集群。(例如,Nautilus)。
Bug #2008259:修复了卷创建功能,其中非管理员用户可以通过在请求主体中提供 multiattach 参数来创建多附件卷。现在,我们只能使用支持多附件的卷类型来创建多附件卷,这也是推荐的方法。
其他说明¶
删除了通过指定卷创建操作请求主体中的 multiattach 参数来创建多附件卷的功能。此功能不安全,可能导致数据丢失,并且自 Queens 版本以来已被弃用。创建多附件卷的推荐方法是使用支持多附件的卷类型。默认情况下,卷类型只能由操作员创建。如果需要多附件卷的用户,如果不可用,应联系其操作员以获取合适的卷类型。
21.1.0¶
升级说明¶
此版本引入了一个新的配置选项
vmdk_allowed_types,它指定 Cinder 将允许的 VMDK 镜像子格式列表。默认设置仅允许 ‘streamOptimized’ 和 ‘monolithicSparse’ 子格式,这些子格式不使用命名扩展。
安全问题¶
此版本引入了一个新的配置选项
vmdk_allowed_types,它指定 Cinder 将允许的 VMDK 镜像子格式列表,以防止通过修改 VMDK 镜像中的命名扩展来暴露主机信息。默认设置仅允许 ‘streamOptimized’ 和 ‘monolithicSparse’ 子格式,这些子格式不使用命名扩展。
作为修复 Bug #1996188 的一部分,cinder 现在更严格地检查镜像服务 API image-show 响应记录的镜像的
disk_format与 cinder 在下载镜像时检测到的内容是否匹配。因此,先前成功的一些从源镜像创建卷的请求可能会因ImageUnacceptable错误而失败。
错误修复¶
Bug #1996188:修复了 VMDK 镜像文件,其 createType 允许命名扩展,可能会暴露主机信息的问题。此更改引入了一个新的配置选项
vmdk_allowed_types,它指定 Cinder 将允许的 VMDK 镜像子格式列表。默认设置仅允许 ‘streamOptimized’ 和 ‘monolithicSparse’ 子格式。
21.0.0¶
新功能¶
添加了用于 DataCore 的 SANsymphony 和 Hyper-converged Virtual SAN 存储的 iSCSI 和 Fibre Channel 卷驱动程序。
添加了一个新的配置选项
image_conversion_disable,以禁止在执行某些操作时进行镜像磁盘格式和卷格式之间的转换。这可以防止由于图像转换期间消耗的大量系统资源而导致 cinder-volume 节点上的性能问题。默认值为False,对应于 Cinder 当前尝试图像转换的行为。此选项影响三个块存储 API 调用
将卷上传到镜像:
POST /v3/volumes/{volume_id}/action使用os-volume_upload_image操作。当请求的镜像disk_format需要转换时,此调用将导致 400(错误请求)响应。创建卷:
POST /v3/volumes在请求主体中包含imageRef属性。这将导致 202(已接受)响应,但如果镜像的disk_format需要转换为写入卷,则卷将进入error状态。重新镜像卷:
POST /v3/volumes/{volume_id}/action使用os-reimage操作。此调用将导致 202(已接受)响应,但如果镜像的disk_format需要转换为写入卷,则卷将进入error状态。
在后两种情况下,最终用户可以使用 消息 API,可以使用 cinderclient 或 openstackclient 访问该 API 来确定发生了什么。
Infinidat 驱动程序:添加了对还原到快照操作的支持。
Dell PowerStore:添加了 NFS 存储驱动程序。
Yadro Tatlin Unified:添加了 iSCSI 驱动程序的初始版本。
Swift 备份驱动程序现在支持在启用新的
backup_swift_service_auth配置选项时,使用服务令牌发送 X-Service-Token 标头。请注意,您仍然需要配置[service_user]组,并设置send_service_user_token以启用该行为,而不仅仅是 Swift 备份驱动程序选项。
Dell EMC PowerStore 驱动程序:报告 trimming/discard 支持给 Nova 和 Cinder。
Dell EMC PowerMax 驱动程序:报告 trimming/discard 支持给 Nova 和 Cinder。
Dell EMC PowerFlex 驱动程序:报告在不带快照的精简卷上 trimming/discard 支持给 Nova 和 Cinder。不带快照的 trim 是供应商的建议,但可以使用
report_discard_supported配置选项覆盖。
Seagate 驱动程序:添加了对
get_driver_optionsapi 调用的支持
Lenovo 驱动程序:从
get_driver_options调用返回其他配置选项
Hitachi 驱动程序:添加了一个功能
Port Scheduler。当为参数hitachi_port_scheduler指定True时,此功能已启用。当此功能启用并且收到附加请求时,将分发从 Fibre Channel 区域管理器获取的活动 WWN,并注册到存储系统的每个端口的主机组。要使用此功能,请为参数hitachi_group_request和hitachi_rest_name_only_discovery都指定True。如果为hitachi_rest_name_only_discovery指定False或使用默认值,则由于需要为所有指定的端口查找主机组,因此附加卷将花费很长时间。此功能仅支持 Fibre Channel。
Infinidat 驱动程序:添加了管理和取消管理卷和快照的支持。还添加了列出可管理卷和快照的功能。
os-brick 文件锁位置可以使用
[os_brick]配置部分中的lock_path独立于 Cinder 服务锁位置指定。适用于 HCI 部署以及在同一主机上运行 Cinder 和 Glance 并使用 Cinder 后端的场景。
NetApp NFS 驱动程序:添加了一种替代方法,用于在 Glance 源存储和 Cinder 目标池不在同一 FlexVol 中,但位于同一集群中时执行高效的克隆镜像。此前,驱动程序需要 copy offload 工具才能高效地执行此操作,但该工具不再可用。现在,操作员可以通过依赖存储文件复制操作来维护其高效的克隆镜像。
NetApp 驱动程序:NFS、iSCSI 和 FCP 驱动程序现在可以选择通过 REST API 请求 ONTAP 操作。新的选项 netapp_use_legacy_client 在旧的 ZAPI 客户端方法和新的 REST 客户端之间切换。默认值为 True,这意味着驱动程序将继续像以前一样使用 ZAPI 操作。如果需要,可以将此选项设置为 False,使用 REST 客户端与存储交互。但是,此新的客户端仍然依赖于 ZAPI 调用来实现一致性组快照操作。
只有在使用 ONTAP 存储 9.11.1 或更高版本时才能配置驱动程序使用 REST 客户端。
注意:启用 ONTAP REST 客户端会更改 QoS 规格的行为。此前,QoS 值可以用 BPS(每秒字节)表示,但现在 REST 客户端仅支持以 MBPS(兆字节每秒)表示的整数值。这意味着即使用户以 BPS 为单位指定值,它也会转换为 MBPS 并向上取整。
Dell PowerStore 驱动程序:添加了 NVMe-TCP 支持。
Pure Storage 添加了一个新的驱动程序来支持 FlashArray 的 NVMe-RoCE。iSCSI 和 FC 驱动程序的所有功能都完全受此新驱动程序支持。
RBD 驱动程序:添加了 QoS 支持。
从 API 微版本 3.70 开始,可以加密的卷可以传输到不同项目的用户。在微版本 3.70 之前,由于无法传输卷的加密密钥的所有权,因此传输被阻止。使用微版本 3.70,在传输卷时会传输加密密钥的所有权。
在传输加密卷时,还必须传输其快照。尝试在不传输其快照的情况下传输加密卷是不允许的。
升级说明¶
已停止对 MySQL 5.5 的支持。
已停止对 Python 3.6 和 3.7 的支持。现在支持的 Python 最低版本是 Python 3.8。
storage_protocol在匹配时将协议名称的所有变体视为相同,因此例如使用 FC、fc 或 fibre_channel 将在调度程序中被视为相等,无论是在使用卷类型额外规格进行过滤还是在使用过滤和良好函数时如何。通过 REST API 报告的存储协议将对它们全部相同,使用首选命名,FC、NVMe-oF、iSCSI、NFS…
如果您的部署使用
storage_protocol来区分使用相同协议但以不同变体报告该协议的后端,请注意它们将不再被区分。
在 HCI 部署以及在同一主机上运行 Cinder 和 Glance 并使用 Cinder 后端时,可以使用
[os_brick]配置部分中的lock_path配置 os-brick 共享位置。
弃用说明¶
弃用 NetApp NFS 选项 netapp_copyoffload_tool_path。该工具不再可供下载。
错误修复¶
Bug #1980268:在从镜像创建卷时,已添加一个检查,以比较请求的卷大小与镜像的
virtual_size属性,如果卷太小而无法容纳镜像,则请求将失败。如果镜像记录不包含此属性,则请求将被接受,但如果镜像不合适(这是当前行为),则卷将进入error状态。
修复了在使用 NetApp ONTAP 驱动程序通过 iSCSI 附加卷时遇到的 CHAP 身份验证问题。有关更多详细信息,请参阅 Launchpad bug #1914639。
Bug #1929223:修复了 PowerFlex 连接器中禁用了 HTTPS 证书验证的问题。
PowerMax 驱动程序 bug #1936848:修复了通用卷组错误,其中名称在 OpenStack 中已更改,但在 PowerMax 上的相应存储组中未反映。
RBD 驱动程序 bug #1942210:在从快照创建卷时,由于在检查后端 Ceph 安装是否支持 clone v2 API 时引发了未捕获的异常,操作可能会失败。驱动程序现在可以优雅地处理这种情况。
Bug #1944577:尝试将卷管理到加密类型从来都不是一个好主意,因为没有办法指定加密密钥 ID,以便可以使用该卷。现在,将卷管理到加密卷类型的请求将导致无效请求响应。
IBM DS8000 驱动程序 Bug #1951046:修复了多重附加卷的断开问题。在附加计数为零之前断开卷,而无需删除主机。
NetApp ONTAP 驱动程序 bug #1955057:修复了 Cinder NetApp 驱动程序上的 get_ontap_version 函数,现在它返回一个整数元组而不是字符串。
RBD 驱动程序 bug #1957073:修复了当其卷不存在时快照删除失败的问题。
IBM Spectrum Virtualize 系列驱动程序 Bug #1960314:修复了 GMCV 卷的调整大小问题,这些卷是一致性组 (CG) 的一部分。
IBM Spectrum Virtualize 系列驱动 Bug #1960315:修复了反向复制期间删除和调整卷的问题,并添加了支持在故障转移场景中扩展卷的功能。
IBM Spectrum Virtualize 系列驱动:Bug #1961548:优化 lsvdisk 和 lssystem 调用,以减少创建 GMCV 卷的计算时间。
Bug #1965847:修复了导入现有备份 ID 的备份记录时,不幸地删除了现有备份记录的问题。
IBM Spectrum Virtualize 系列驱动 Bug #1966639:修复了属于一致性组(CG)的卷在反向复制中的调整大小问题。
IBM Spectrum Virtualize 系列驱动:Bug #1968159:修复了复制卷类型的重类型化失败问题。在重类型化操作期间,控制 rc_controlled fcmap 的 chfcmap 调用,用于复制类型卷。
Bug #1968170:修复了 nova 重新镜像卷失败时创建的消息。
Bug #1970768:修复了创建备份和回滚到快照时临时卷的状态,防止意外手动删除这些资源。
IBM Spectrum Virtualize 系列驱动:Bug #1976499:为 lsfcportsetmember 调用设置正确的 SVC 代码级别。
Bug #1978729:修复了备份驱动程序错误时 context.message_action 为 None 的问题。在 rpc 期间未传递 context 的 message_* 属性,导致备份驱动程序引发异常时出现双重异常,掩盖了实际的备份驱动程序异常。
Infinidat 驱动程序 bug #1981354:修复了 Infinidat 驱动程序,使其返回给定网络空间的所有已配置和启用的 iSCSI 门户。
Infinidat 驱动 bug #1981982:修复了 Infinidat 驱动程序,使其在 Cinder 卷服务和存储后端之间使用 TLS/SSL 通信。管理员可以在 cinder.conf 的驱动程序部分中将 True 或 False 设置为 driver_use_ssl 和 suppress_requests_ssl_warnings 选项,以启用或禁用这些功能。
IBM Spectrum Virtualize 系列驱动:Bug #1982078:修复了驱动程序初始化期间的默认 portset 值。
RBD 驱动程序 bug #1916843:修复了备份 RBD 快照时的 rpc 超时。我们不再展平临时卷和快照。
Bug #1979666:PowerMax 驱动:修复了在 OpenStack 中管理卷时,本地和远程阵列中的 SRP 不同的罕见情况。为了向后兼容性和名称匹配,默认存储组将在两个阵列上都假定本地阵列的 SRP 名称。
Bug #1969366:修复了驱动程序报告的可缓存能力。
修复 NetApp iSCSI 和 FC 驱动程序在使用自定义启动器组时的问题。(bug 1697490)。
NFS 驱动程序 bug #1946059:修复了还原到快照的操作。
PowerFlex 驱动 bug #1942095:修复了驱动程序的 Cinder 卷缓存机制。现在,当给定卷创建了最大数量的快照并且卷缓存失效以允许创建新的快速卷克隆时,驱动程序会正确引发
exception.SnapshotLimitReached。
Bug #1966103:修复了不同后端在报告协议名称变体(例如 FC、fc、fibre_channel)时
storage_protocol的不一致行为。
Bug #1901188:修复了 QoS 在两种类型中具有相同元素时重类型化时不需要的迁移。
Hitachi 驱动 bug #1989176:修复了 Hitachi 驱动程序,使其正确输出资源锁消息。
HPE 3PAR 驱动 Bug #1819903:修复:umanged 卷和快照缺失于 cinder manageable-list 中。
HPE 3PAR 驱动 Bug #1958122:修复了多主机环境中的多分离操作问题。
NetApp ONTAP bug #1958245:在 ONTAP flexgroup 复制环境中,snapmirror 创建会成功,但驱动程序错误导致 cinder-volume 服务记录错误消息。此问题已在此版本中得到纠正。
NetApp ONTAP:修复了 SVM 作用域帐户的 QoS 最小支持检查。请参阅:Bug #1924798。
NetApp SolidFire 驱动 Bug #1934435:修复了在对卷进行操作的同时 Element OS 升级时可能发生的错误。
NetApp SolidFire 驱动 bug #1934459:修复了启用 OSProfiler 时,后端初始化因 RecursionError 错误而失败的问题。
PowerStore 驱动程序 bug #1981068:修复了 REST 客户端的请求数据验证。
Bug #1951982:修复了未使用多路径更改新卷上使用的加密密钥的加密卷克隆问题。
Bug #1951977:修复了备份创建和恢复在附加卷时未使用多路径配置的问题。
Kaminario 驱动 bug #1951981:修复了从卷或快照创建卷时未使用多路径配置的问题。
其他说明¶
统一了 cinder 计算池的虚拟可用存储空间的方式。 以前 Cinder 有 2 种不同的机制来计算虚拟可用存储空间。现在,容量过滤器和容量称重器使用相同的机制,该机制基于 https://specs.openstack.org/openstack/cinder-specs/specs/2025.2/provisioning-improvements.html 中定义的术语。