如何修复卡在“附加”状态的 cinder 卷?

问题描述 投票:0回答:4

调整实例大小后,附加到该实例的一些卷已正确重新附加,但许多卷现在陷入“附加”状态。

我无法分离任何卷以重新连接它们,因为它们的状态不正确:

# nova volume-detach d7d22b3c-f7a8-4e3d-9cf4-8588ca3c2b4e b3d7b7f4-e7af-493b-9a47-fabcda03d259
ERROR (BadRequest): Invalid volume: Invalid input received: Invalid volume: Unable to detach volume. Volume status must be 'in-use' and attach_status must be 'attached' to detach. (HTTP 400
) (Request-ID: req-57cb42eb-e47a-476a-a9d7-f6234a7fb5ab) (HTTP 400) (Request-ID: req-fa52d6e4-76e0-441c-8c59-c1ea557f1c59)

openstackvolumeshow命令显示没有附件且状态为“附加”。

我在 redhat kb 上遇到了类似的问题,但不幸的是,发布的解决方案是这需要数据库工作,并且应该联系 redhat 同事: https://access.redhat.com/solutions/5277781

如何解决此问题并重新附加卷?

openstack openstack-nova openstack-cinder
4个回答
0
投票

您可以尝试使用

cinder reset-state
命令:

cinder reset-state --state available --attach-status detached VOLUME

0
投票

通过在 nova 数据库的 block_device_mapping 表和 cinder 数据库的volume_attachments 表中将卷的条目标记为已删除,并使用 重新附加卷来解决此问题

nova volume-attach <server> <volume>
并关闭并打开有问题的服务器。


0
投票
我在使用 Openstack Train 版本时遇到了这个问题,通过重新启动所有节点的rabbitmq 服务来修复它。

我猜消息队列有问题。


0
投票
此问题与您的配置文件有关:

我遇到了这个问题,并使用此文档进行修复:

https://docs.openstack.org/nova/2024.1/admin/configuration/service-user-token.html#service-user-token

  • 在控制器节点添加此配置:

    nova.confneutron.confcinder.conf

  • 在计算节点中添加此配置:

    nova.conf

  • 在块存储节点添加此配置:

    cinder.conf

    [keystone_authtoken] service_token_roles = Role_signed_to_cinder_nova_neutron_like_admin service_token_roles_required = true

    [服务用户] send_service_user_token = true auth_url = http://控制器:5000/身份 auth_strategy = 基石 身份验证类型 = 密码 项目域名=默认 项目名称=服务 用户域名称 = 默认 用户名 = 新星 密码=NOVA_PASS

并考虑这在 *.conf 文件中使用 Transport_url 添加 raabitmq 端口很重要,默认端口为 5672:

transport_url = rabbit://openstack:RABBIT_PASS@controller:5672/
然后你必须重新启动你更改.conf文件的所有服务,或者重新启动每个节点

© www.soinside.com 2019 - 2024. All rights reserved.