Openstack Cinder 无法更新附件在卷上检测到无效卷重复连接器

Openstack Cinder 无法更新附件在卷上检测到无效卷重复连接器

有时,当计算服务器突然重新启动或在其他类似情况下,我们想要将evacuate实例转移到另一台主机时,我们会从 Cinder 收到此错误。

我们的 Cinder 支持 Ceph

{'code': 400, 'created': '2022-09-26T15:34:22Z', 'message': 'Unable to update attachment.(Invalid volume: duplicate connectors detected on volume ....). (HTTP 500) (Request-ID:req-c....)'}     

我想迁移或撤离实例,但出现此错误。我们该如何解决这个问题?

答案1

此行为通过在两个实例中安装相同的卷来防止数据损坏,如下所述:

https://opendev.org/openstack/cinder/commit/eadff0df7efbe662bf107f77e1b2ac96c912e4e0

如果同时请求多个连接,则一个卷可以多次附加到实例。

通过检测 _attachment_reserve 中发生的竞争并撤消其中一个无效的附件记录,可以修复此问题。

这意味着,如果对同一卷重复快速调用附件 API,某些请求可能会失败,但这比错误地创建多个附件要好得多。

我将尝试分离并重新连接卷到服务器以解决此问题(openstack server remove volumeopenstack server remove volume

相关内容