Openstack Nova 和 Ceph 卷附件问题

Openstack Nova 和 Ceph 卷附件问题

我正在尝试将 Openstack(版本:wallaby)的卷附加功能作为附加设备添加到服务器,但失败了。

卷后端是 ceph,其中所有的 osd 均已启动且健康。

ceph-osd/38*                   active    idle   0         172.16.6.64                        Unit is ready (1 OSD)
    ntp/149                      active    idle             172.16.6.64     123/udp            chrony: Ready
ceph-osd/39                    active    idle   1         172.16.6.65                        Unit is ready (1 OSD)
    ntp/147                      active    idle             172.16.6.65     123/udp            chrony: Ready
ceph-osd/40                    active    idle   2         172.16.6.66                        Unit is ready (1 OSD)
    ntp/146*                     active    idle             172.16.6.66     123/udp            chrony: Ready
ceph-osd/41                    active    idle   3         172.16.6.67                        Unit is ready (1 OSD)
    ntp/148                      active    idle             172.16.6.67     123/udp            chrony: Ready

其中服务器由nova提供服务。

在某些服务器上,整个卷附加过程成功完成。我可以将创建的卷附加到 nova 实例作为 /dev/vdb 和 /dev/vdc。但是,有些服务器无法做到这一点。我检查了 /var/log/nova/nova-compute.log 并收到以下消息

 ERROR oslo_messaging.rpc.server libvirt.libvirtError: internal error: unable to execute QEMU command 'blockdev-add': error connecting: Invalid argument

附加信息:当服务器处于关闭状态时,可以附加卷,但如果附加了卷,则服务器无法启动。我查看了 /var/log/nova/nova-compute.log,错误消息如下:

ERROR oslo_messaging.rpc.server libvirt.libvirtError: internal error: process exited while connecting to monitor: 2021-11-01T16:34:08.889402Z qemu-system-x86_64: -blockdev {"driver":"rbd","pool":"cinder-ceph","image":"volume-c41ce9db-e375-4b21-920f-e815035b51ed","server":[{"host":"172.16.6.104","port":"6789"},{"host":"172.16.6.106","port":"6789"},{"host":"172.16.6.105","port":"6789"}],"user":"cinder-ceph","auth-client-required":["cephx","none"],"key-secret":"libvirt-1-storage-secret0","node-name":"libvirt-1-storage","cache":{"direct":true,"no-flush":false},"auto-read-only":true,"discard":"unmap"}: error connecting: Invalid argument

我很确定该卷没有问题,因为我可以将同一卷附加到其他 nova 实例而不会出现问题。

我已经采取了以下措施但仍然没有成功:

(1)我使用不同的实例 ID 重新创建了 nova 实例,但仍然无法连接

(2)我使用 virsh secret-list 检查了 nova 和 ceph 连接 virsh secret 和配置(/etc/nova/nova.conf 和 /etc/libvirt/secrets)。它们与其他成功的卷附加实例相同

所有 openstack 服务均已启动并运行,没有错误。有人能给我一些有关错误消息的线索吗?

相关内容