Yoga 系列发布说明

20.3.2

错误修复

  • Dell PowerMax 驱动程序 bug #2033398:降低了在线迁移时发生故障的风险。此更改是为了加快卷的删除速度,无需在删除之前重命名卷。此删除操作将节省 15 秒的运行时间,并避免迁移期间不必要的暂停时间。

20.3.1

错误修复

  • Bug #1980268:在从镜像创建卷时,已添加一个检查,用于比较请求的卷大小与镜像的 virtual_size 属性,如果卷太小而无法容纳镜像,则使请求失败。如果镜像记录不包含此属性,则接受请求,但如果镜像不合适(这是当前行为),则卷将进入 error 状态。

  • Infinidat 驱动程序 bug #1981982:修复了 Infinidat 驱动程序,使其在 Cinder 卷服务和存储后端之间使用 TLS/SSL 通信。管理员可以将 TrueFalse 设置为驱动程序部分 cinder.conf 中的 driver_use_sslsuppress_requests_ssl_warnings 选项,以启用或禁用这些功能。

  • Bug #2008017:修复了 NetApp NFS 驱动程序,使其永远不要生成本机线程,以避免线程饥饿和其他相关问题。

  • Bug #1945500:最初尝试修复此错误时,没有考虑到 glance 和 cinder 存储镜像元数据的方式的差异,因此某些镜像属性未被过滤掉。此新的改进的修复解决了这些差异,并使过滤更加彻底。

  • PowerFlex 驱动程序 bug #1942095:修复了驱动程序的 Cinder 卷缓存机制。现在,驱动程序在为给定卷创建最大快照并使卷缓存失效以允许创建新的快速卷克隆时,会正确引发 exception.SnapshotLimitReached

  • RBD 驱动程序 bug #1960206:修复了驱动程序向调度程序报告的 total_capacity,适用于已将 bytes_used 字段重命名为 stored 的 Ceph 集群。(例如,Nautilus)。

20.3.0

已知问题

  • 出于安全原因(Bug #2004555),在大多数情况下,手动删除连接、手动执行 os-terminate_connectionos-detachos-force_detach 操作将不再允许,除非请求来自代表用户的另一个 OpenStack 服务。

升级说明

  • Nova 必须 配置为发送服务令牌 并且 cinder 必须配置为识别 nova 服务用户在 keystone 中分配的至少一个角色。默认情况下,cinder 将识别 service 角色,因此,如果 nova 服务用户在您的云中分配了不同名称的角色,则必须调整 cinder 配置文件(keystone_authtoken 部分中的 service_token_roles 配置选项)。如果 nova 和 cinder 未正确配置,则分离卷将不再起作用(Bug #2004555)。

关键问题

安全问题

  • 作为修复 Bug #2004555 的一部分,cinder 现在拒绝用户附件删除请求,这些请求针对仍在 nova 实例使用的附件,以确保在计算节点上不会产生剩余设备,这些设备可用于访问另一个项目的卷。终止连接、分离和强制分离卷操作(通常不由用户直接执行)在大多数情况下不允许用户执行。

错误修复

  • Bug #2004555:修复了用户手动删除附件、调用终止连接、分离或强制分离,对于仍在 nova 实例使用的卷,导致计算节点上留下剩余设备的问题。现在,当认为存在问题时,这些操作将失败。

20.2.0

新特性

  • Dell EMC PowerStore 驱动程序:向 Nova 和 Cinder 报告修剪/discard 支持。

  • Dell EMC PowerMax 驱动程序:向 Nova 和 Cinder 报告修剪/discard 支持。

  • Dell EMC PowerFlex 驱动程序:在不带快照的精简卷上,向 Nova 和 Cinder 报告修剪/discard 支持。不带快照的修剪是供应商的建议,但可以通过 report_discard_supported 驱动程序部分 cinder.conf 中的配置选项进行覆盖。

升级说明

  • 我们引入了一个新的配置参数 reserved_image_namespaces,它允许操作员设置要从卷镜像元数据中按命名空间过滤的镜像属性,在将卷上传到 Glance 时。如果未过滤掉这些属性,则会导致上传镜像时发生故障。错误将在 Glance 端发生,当使用保留的命名空间时。

错误修复

  • Bug #1910767:修复了卷管理器的已分配容量的计算。该修复考虑了具有主机设置的所有卷,而不仅仅是状态为“使用中”或“可用”的卷。

  • Bug #1945500:修复了在启用 glance 多存储时上传先前下载的 glance 镜像时发生的错误。Glance 在 ‘os_glance’ 命名空间中为自己的使用保留了镜像属性,并且不允许创建具有这些属性的镜像。此外,与镜像签名验证相关的镜像属性存储在卷的镜像元数据中,在将卷作为镜像上传时,不应将其添加到新镜像中。因此,Cinder 在创建 Glance 中的镜像时,将不再包含 os_glanceimg_signature 命名空间中的任何卷镜像元数据。此外,由于 Glance 属性保护功能允许操作员将特定的镜像属性配置为只读,因此此修复添加了一个配置选项 reserved_image_namespaces,它允许操作员通过命名空间排除其他镜像属性(os_glanceimg_signature 命名空间始终被排除)。

  • Bug #2008259:修复了卷创建功能,其中非管理员用户可以通过在请求主体中提供 multiattach 参数来创建多附件卷。现在,我们只能使用支持多附件的卷类型来创建多附件卷,这也是推荐的方法。

其他说明

  • 删除了通过指定卷创建操作请求主体中的 multiattach 参数来创建多附件卷的功能。此功能不安全,可能导致数据丢失,并且自 Queens 版本以来已被弃用。创建多附件卷的推荐方法是使用支持多附件的卷类型。默认情况下,卷类型只能由操作员创建。如果需要多附件卷的用户,如果不可用,应联系其操作员以获取合适的卷类型。

20.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 错误而失败。

错误修复

  • RBD 驱动程序 bug #1957073:修复了当其卷不存在时快照删除失败的问题。

  • IBM Spectrum Virtualize Family 驱动程序:Bug #1976499:为 lsfcportsetmember 调用设置正确的 SVC 代码级别。

  • Bug #1978729:修复了备份驱动程序中的 context.message_action 为 None 的错误。在 rpc 期间未传递 context 的 message_* 属性,这导致备份驱动程序引发异常时出现双重异常,掩盖了实际的备份驱动程序异常。

  • Infinidat 驱动程序 bug #1981354:修复了 Infinidat 驱动程序,使其返回给定网络空间的所有已配置和启用的 iSCSI 门户。

  • Bug #1996188:修复了 VMDK 镜像文件,其 createType 允许命名扩展,可能会暴露主机信息的问题。此更改引入了一个新的配置选项 vmdk_allowed_types,它指定 Cinder 将允许的 VMDK 镜像子格式列表。默认设置仅允许 ‘streamOptimized’ 和 ‘monolithicSparse’ 子格式。

  • RBD 驱动程序 bug #1916843:修复了备份 RBD 快照时的 rpc 超时。我们不再展平临时卷和快照。

  • NFS 驱动程序 bug #1946059:修复了还原到快照的操作。

  • Hitachi 驱动程序 bug #1989176:修复了 Hitachi 驱动程序,使其正确输出资源锁消息。

  • NetApp SolidFire 驱动程序 Bug #1934435:修复了在对正在升级的 Element OS 的卷进行操作时可能发生的错误。

  • PowerMax 驱动程序 bug #1979668:修复了在多个存储组中管理卷的可见性。

  • PowerStore 驱动程序 bug #1981068:修复了 REST 客户端的请求数据验证。

其他说明

20.0.1

错误修复

  • Bug #1929223:修复了 PowerFlex 连接器中禁用了 HTTPS 证书验证的问题。

  • Bug #1965847:修复了导入现有备份 ID 的备份记录时,不幸地删除了现有备份记录的问题。

  • IBM Spectrum Virtualize Family 驱动程序:Bug #1968159:修复了复制卷类型的 retype 失败。控制 rc_controlled fcmap 的 chfcmap 调用,用于复制类型卷的 retype 操作。

  • Bug #1970768:修复了创建备份和回滚到快照时临时卷的状态,防止意外手动删除这些资源。

  • HPE 3PAR 驱动 Bug #1958122:修复了多主机环境中的多分离操作问题。

  • NetApp ONTAP:修复了 SVM 作用域帐户的 QoS 最小支持检查。请参阅:Bug #1924798

20.0.0

序言

欢迎使用 OpenStack 块存储服务 (cinder) 的 Yoga 版本。在此版本中,块存储 API 第 3 版已达到微版本 3.68。cinder 团队希望引起您的注意以下几点。详细信息可在本文档中找到。

  • 引入微版本 3.67 作为标记,表明块存储 API 3.67 或更高版本的任何实例都将 URL 中的 project_id 视为可选。此更改与旧版本兼容:API 可以处理包含 project_id 的旧版 URL,也可以处理不包含 project_id 的 URL。无论请求中指定的微版本如何,情况都是如此。有关详细信息,请参阅“新功能”部分。

  • 微版本 3.68 引入了一个新的卷操作 os-reimage,允许用户使用 Image 服务 (glance) 提供的指定镜像的数据替换指定卷的当前内容。有关详细信息,请参阅“新功能”部分。

  • 添加了一些新的后端存储驱动程序,并且许多当前驱动程序添加了功能并修复了错误。

新功能

  • 添加微版本 3.68 以支持使用特定镜像重新镜像卷的能力。在请求主体中指定 os-reimage 操作。

    处于 availableerror 状态的卷可以直接重新镜像。要重新镜像处于 reserved 状态的卷,必须包含将 reimage_reserved 参数设置为 true。重新镜像卷时,卷状态将首先更改为 downloading

    请注意,这是一个破坏性操作,也就是说,重新镜像卷时,卷中当前包含的所有数据都将被销毁。

    引入了两个新的策略来管理此功能

    • volume:reimage - 满足此策略的用户可以重新镜像处于 availableerror 状态的卷

    • volume:reimage_reserved - 满足此策略的用户可以重新镜像处于 reserved 状态的卷

    这两个策略的默认设置允许管理员或卷所有者执行相关操作。有关详细信息,请参阅 策略配置 文档中的 Cinder 服务配置 指南。

  • Lightbits LightOS 驱动:用于 Lightbits(TM) LightOS(R) 的新的 Cinder 驱动程序。Lightbits Labs (http://www.lightbitslabs.com) LightOS 是一种软件定义的、云原生、高性能、集群式扩展和冗余 NVMe/TCP 存储,其性能堪比本地 NVMe 闪存。

  • Hitachi 驱动:支持 AIX 作为主机操作系统类型。使用选项 --ostype aix 运行 cinder attachment-create 命令时,AIX 将被设置为主机操作系统类型。

  • Hitachi 驱动:添加目标端口分配。在 extra spec hbsd:target_ports 中定义特定的端口决定了在卷附加操作期间为每个卷类型使用由 hitachi_target_portshitachi_compute_target_ports 参数指定的哪些端口。

  • IBM Spectrum Virtualize Family 驱动:添加了 clean_rate 参数的支持。Clean_rate 参数现在可以作为卷类型中的 extra-spec 传递,也可以从 cinder.conf 中获取。

  • IBM Spectrum Virtualize Family 驱动:添加了对代码级别 >= 8.4.2.0 的使用 portsets 管理主机附件的支持。

  • LVM 驱动:添加了对 NVMe TCP 传输协议的支持。配置选项是在使用 nvmet 作为 target_helpertarget_protocol = nvmet_tcp

  • 添加了 NEC V 系列存储的后端 FC 和 iSCSI 驱动程序。

  • 在 API URL 中包含 project_id 现在是可选的。块存储 API V3 参考指南继续显示带有 project_id 的 URL,因为继续支持旧版行为。

    引入了新的 API 微版本 V3.67,以告知客户端在 API URL 中包含 project_id 是可选的。V3.67 微版本仅用作指示 API 接受不带 project_id 的 URL 的指标,并且适用于所有请求,无论请求中的微版本如何。例如,服务 V3.67 或更高版本的 API 节点即使请求要求 V3.0,也会接受不带 project_id 的 URL。同样,它即使请求要求 V3.67,也会接受包含 project_id 的 URL。

  • Pure Storage FlashArray 驱动:为 FlashArray 驱动程序启用了主动/主动复制支持。这允许用户配置 FlashArray 后端在集群环境中。

  • Pure Storage 驱动程序添加了描述后端数组名称 (array_name) 和卷名称 (array_volume_name) 的卷元数据。当多个集群使用相同的后端数组时,或者 cinder 调度程序有多个后端可供选择时,这可以更轻松地识别和定位 cinder 卷。

  • TOYOU NetStor Storage 的新的 FC cinder 卷驱动程序。

已知问题

  • 在发布之前,报告了 Bug #1965847。导入现有 backup_id 的备份记录失败,如预期。但是,此操作有一个不幸的副作用,即删除了现有的备份记录。对该错误的初步分析表明,应该可以回溯到稳定分支的微小隔离解决方案。

  • 当使用 Ceph 备份驱动程序进行备份服务时,将备份恢复到创建在非 RBD 后端上的卷失败。cinder 团队已经开发了修复程序,但决定在将其包含在发布版本中之前进行更彻底的测试。准备就绪后,预计该解决方案将被回溯到 Yoga 系列的未来版本。该问题正在跟踪为 Bug #1895035

  • 使用通用 NFS 驱动程序从 Image 服务 (Glance) 中的镜像创建加密卷类型时,会导致无法使用的卷。cinder 团队正在致力于解决方案,预计将被回溯到 Yoga 系列的未来版本。该问题正在跟踪为 Bug #1888680

  • Cinder 使用 cgroups v1

    此说明适用于使用非默认值 (默认值为 0) 的 cinder 配置选项 volume_copy_bps_limit 的部署。

    cinder-volume 服务依赖于 Linux Kernel Control Groups (cgroups) 第 1 版,以控制某些卷复制和镜像转换操作期间的 I/O 限制。但是,一些 Linux 发行版已更改为默认使用 cgroup v2,并且可能完全停止了对 cgroups v1 的支持。有关详细信息,请参阅您的 Linux 发行版的文档。

    cinder 团队正在使用 cgroup v2 开发限制解决方案,但尚未在本次发布时准备就绪。预计该解决方案将被回溯到 Yoga 系列的未来版本。此问题继续跟踪为 Bug #1942203

  • NVMe-oF 问题

    Cinder 和 Nova 使用 os-brick 库来促进与卷的连接。在 Yoga os-brick 版本 (os-brick 5.2.0) 和此 cinder 版本之间,在此连接器中发现了一些错误。您可以在错误跟踪器中通过此查询找到这些错误

    https://bugs.launchpad.net/os-brick/+bugs?field.tag=nvme

升级说明

  • 引入了两个新的策略来管理微版本 3.68 引入的卷重新镜像功能

    • volume:reimage - 满足此策略的用户可以重新镜像处于 availableerror 状态的卷

    • volume:reimage_reserved - 满足此策略的用户可以重新镜像处于 reserved 状态的卷

    这两个策略的默认设置允许管理员或卷所有者执行相关操作。有关详细信息,请参阅 策略配置 文档中的 Cinder 服务配置 指南。

  • RBD 驱动:启用 Ceph V2 克隆 API 和 Ceph Trash 自动清除

    鉴于 RBD 驱动程序 bug #1941815 的修复,我们想引起您的注意以下信息。

    使用 v2 克隆格式进行克隆卷允许具有依赖镜像的卷移动到垃圾箱 - 在那里保留直到清除 - 并允许 RBD 驱动程序推迟删除,直到该卷没有依赖镜像。建议配置垃圾箱清除以避免浪费空间存储这些已清除的卷。从 Ceph Octopus 版本开始,可以配置垃圾箱以根据定义的计划自动清除。请参阅 rbd manpage 中的 rbd trash purge schedule 命令。

  • QNAP 驱动程序已被标记为不受支持并已弃用。enable_unsupported_drivers 需要设置为 True 在 cinder.conf 中才能继续使用它。

  • Nimble Storage 已成为 HPE 存储解决方案家族的一部分。cinder Nimble 驱动程序已重新定位到 cinder.volume.driver.hpe 模块以反映这一点。对操作员的影响是,模块路径 cinder.volume.drivers.nimble.NimbleISCSIDrivercinder.volume.drivers.nimble.FCDriver 现在应更新为 cinder.volume.drivers.hpe.nimble.NimbleISCSIDrivercinder.volume.drivers.hpe.nimble.NimbleFCDriver 分别在 cinder.conf

  • 升级不受新功能影响,该功能使得 API URL 中不再需要 project_id。继续支持包含 project_id 的 URL 的旧版行为。

    检测 URL 是否包含 project_id 基于新的 project_id_regex 选项的值。默认值匹配由 keystone 创建的 UUID。

  • Pure Storage:更改了受支持的 FlashArray Purity//FA 的最低版本为 5.3.0。所有 FlashArray 后端必须至少达到此最低版本,否则驱动程序将无法初始化。

弃用说明

  • QNAP 驱动程序已被标记为不受支持并已弃用。enable_unsupported_drivers 需要设置为 True 在 cinder.conf 中才能继续使用它。

错误修复

  • Bug #1918889:为 XtremIO 驱动程序添加了对 iSCSI IPv6 的支持。

  • Bug #1935688:Cinder 仅支持以 raw 格式使用 bare 容器类型将加密卷类型的卷上传到 Image 服务。以前,指定不同的格式选项值的 os-volume_upload_image 操作请求被接受,但随后会失败。现在此条件在 API 层进行检查,并且指定对 disk_formatcontainer_format 不受支持的值的加密类型的卷的 os-volume_upload_image 操作请求将导致 400(错误请求)响应。

  • IBM Spectrum Virtualize Family 驱动程序 Bug #1939145:更新 create_relationship 和 create_rccg 调用,在创建镜像卷或创建一致性组时,使用 system_id 代替 system_name。

  • IBM Spectrum Virtualize Family 驱动程序:Bug #1941694:修复了多附加类型卷的第二个实例的分离问题。

  • RBD 驱动程序 bug #1941815:修复了删除具有快照/卷的 ceph trash 空间中的卷的问题。

  • IBM Spectrum Virtualize family 驱动程序 Bug #1943682:更新 rccg_name 属性到从源组或组快照克隆的卷的卷元数据。

  • Bug #1944577:尝试将卷管理到加密类型从来都不是一个好主意,因为没有办法指定加密密钥 ID,以便可以使用该卷。现在,将卷管理到加密卷类型的请求将导致无效请求响应。

  • RBD 驱动程序 bug #1947518:修复了由 Bug #1931004 的修复引起的回归,该回归试图以写入权限访问 glance 镜像 RBD 池,在从镜像创建卷时。

  • IBM Spectrum Virtualize Family 驱动程序 Bug #1949061:修复了镜像卷到具有不同镜像池的镜像卷类型的 retype 问题

  • IBM Spectrum Virtualize Family 驱动程序 Bug #1920870:减少 Retype 操作中的多个 lsiogrp、lsvdisk 调用以优化代码。

  • Bug #1953168:修复了容量过滤器日志消息中缺少参数的问题。

  • IBM Spectrum Virtualize 系列驱动 Bug #1953185:修复了复制卷回滚到快照的问题,这些卷是组的一部分。

  • Bug #1947134:通过修正 _same_filesystem 功能,修复了在 gpfs_images_share_mode 设置为 copy_on_write 时 GPFS NFS 驱动的初始化问题。

  • Bug #1947123:修复了在 GPFS NFS 驱动中,当 gpfs_images_share_mode 设置为 copy_on_write 时卷创建问题。

  • Pure Storage 驱动 Bug #1945824:修复了从 CG 快照创建新的一致性组时缺少 DB 值的问题。

  • Bug #1916980:修复了卷分离时过时的卷通知信息。

  • Bug #1935011:修复了在保留状态下删除附件时缺少 detach.start 通知的问题。

  • Bug #1937084:修复了删除附件和删除卷之间的竞争条件,该条件可能导致已删除的卷仍然被实例连接。

  • Bug #1960019:修复了 Cinder 使用 noauth 时 x-openstack-request-id 标头的值。

  • Bug #1960020:修复了针对 / 获取可用 API 版本的请求中日志中重复的 request-id 值的问题,仅在请求到 / 时发生。

  • Bug #1960021:修复了针对 / 获取可用 API 版本的请求中缺少 request id 标头的问题。

  • Bug #1960329:修复了中间件过滤器上的错误 Request ID。

  • Bug #1924643:修复了 NetApp cinder 驱动的子克隆操作,该操作可能被扩展操作使用,如果扩展后的尺寸大于最大 LUN 几何形状。

  • Bug #1950474:修复了 transfer accept API 的策略授权。 之前,在 oslo_policy 部分设置 enforce_new_defaults=True 会破坏 transfer accept API,该问题在此版本中已修复。

  • HPE 3PAR 驱动 Bug #1940069:修复了通过重用现有会话而被拒绝连接的问题。

  • PowerMax 驱动 bug #1930290:通过不在父存储组上设置 QoS 来修复子存储组上的 QoS 冲突问题。

  • PowerMax 驱动:增强功能,即使登录表中没有包含的启动器(s)的条目,也可以使用现有的启动器组。只要连接器对象中的启动器(s)匹配,这是允许的。

  • PowerMax 驱动 bug #1938572:遗留 PowerMax OS 修复,如果从 REST 以整数形式返回 snapVX 的代数,则将整数转换为字符串,以便 0 不等于 Python 中的 False。

  • Pure Storage 驱动:添加内部检查,以允许使用同时支持 FC 和 NVMe-FC 的 FlashArray。

  • Pure Storage:删除驱动程序中的所有 API 版本检查,因为新的最低 FlashArray Purity//FA 版本支持所有先前版本限制的功能和功能支持。

  • Bug #1935057:修复了有时分离卷可能最终处于可用和分离状态,但仍存在 error_detaching 中的附件。

  • NetApp SolidFire 驱动 Bug #1932964:修复了任何卷迁移中发生的名称异常。

  • NetApp SolidFire 驱动 Bug #1942090:修复了卷重定型迁移中发生的状态异常。

其他说明

  • 可选的驱动程序功能“快照附件”已从 Cinder 驱动程序支持矩阵中删除。它是一种用于备份的增强功能,未通过块存储 API 暴露,并且其在支持矩阵中的存在具有误导性。

  • Pure Storage:FlashArray 的最低 Purity//FA 版本已增加到 5.3.0。所有 FlashArray 后端必须至少达到此最低版本,否则驱动程序将无法初始化。

  • SolidFire 驱动:驱动程序不再将连接时间戳和实例作为存储阵列上的元数据存储。阵列中剩余的任何元数据都应被视为过时且不正确。