我有一个与 ceph 集成的 openstack。我正在研究在不使用 cinder_backup 模块的情况下创建实例卷副本的最快方法。在 Ceph 中,可以访问存储在池中(如卷池)的 rbd 文件,我们可以导出它们,然后从中创建映像并创建另一个实例。但还有另一种名为“Offload rbd's copy_volume_to_image”的方法https://specs.openstack.org/openstack/cinder-specs/specs/liberty/optimze-rbd-copy-volume-to-image.html 我想知道如何使用这些复制的卷来创建 Openstack 中的映像池,因为执行此操作后,映像位于 rbd 池中,但在 OpenStack 中不可用,因为 OpenStack 尚未生成它并且没有 OpenStack ID。我想知道你是否可以帮助我了解使用这种方法创建后如何使用图像。先感谢您。
您可以使用 cinder 来管理现有的 rbd 映像并将它们“采用”到 openstack 中。假设您已经将源映像克隆或复制到目标映像(例如:)
rbd clone fast-pool/image@snap fast-pool/new_image
,您需要后端信息,这是我们的一个集群的示例(我们使用两个不同的 rbd 池进行快速和慢速存储):我想要管理的目标映像位于快速存储(rbd-ssd)中,因此这是我需要让 cinder 将其作为卷进行管理并使其“被 openstack 识别”的命令:
“new_volume_name”是您将在输出中看到的名称
cinder list
,而“new_image”是您在上一步中创建的克隆 rbd 映像。@eblock 感谢您的回复。我这里有不同的情况。我的克隆图像已经存在于名为 images 的池之一中。但 cinder 看到的池与 ceph 中的池不同。这是我在 ceph 中的池
这是 Cinder 看到的:
所以当我尝试使用“cinder管理”命令时,
它创建卷并陷入“错误”状态,而且我在 cinder 日志文件中收到此错误:
我什至将后端地址更改为 ceph 中的池名称,但没有帮助。