openstack - 启用 Ceph 后无法创建临时实例
问题描述
Openstack Rocky 在三个节点上运行,ssds 作为根磁盘,jbod 用于 Ceph。Ceph 运行在与 OpenStack 相同的节点上。
在配置 Ceph 之前,创建的所有实例都是短暂的(如预期的那样),我能够在 /var/lib/nova/instances 中看到磁盘并使用它。
在 Cinder 中配置并启用 Ceph 和 NFS 后端后,我无法创建临时实例,全部转到 ceph-as-block-storage 或 NFS(取决于创建的卷)。
如果我用 10G root 和 10G ephemeral 创建一个风味,在 ceph 上将“/”作为 10G,在 ephemeral 上将“/mnt”作为 10G,但我无法让根分区成为临时的。
在 cinder.conf 我有这样的顺序:
enabled_backends = ceph,nfs
关于如何再次启用临时磁盘的任何想法?
解决方案
实例上的临时磁盘依赖于nova,即使有一种卷,使用临时磁盘的实例也称为nova boot。
现实世界中的临时磁盘绑定到计算节点,因为它们在本地运行 [1],但在生产环境中这样做并不常见,因为您将无法实现 HA,如果您使用所有空间,则可能会使计算节点崩溃节点,如果你有一个 ceph 存储后端,你可以为此目的使用特定的池,我强烈建议你查看本指南 [2],特别是在临时客户端密钥上配置 libvirt 的部分 [3]。
干杯。
[1] https://docs.openstack.org/ha-guide/storage-ha-backend.html
[2] http://docs.ceph.com/docs/master/rbd/rbd-openstack/
[3] http://docs.ceph.com/docs/master/rbd/rbd-openstack/#setup-ceph-client-authentication
推荐阅读
- python - 如何为推荐数据集取消旋转 pandas 数据框?
- java - 抱怨在声纳中记录和重新抛出异常
- python - 检查 Discord 服务器中的成员的循环问题
- java - Android ViewPager:调用 onStop() 将 ExoPlayer 实例设置为 null
- javascript - 具有动态事件绑定和动态函数的 Angular 动态表单
- python - 有没有办法确定 python 字符串与另一个字符串不同的索引?
- gulp - 浏览器同步中的白名单和黑名单有什么作用?
- python - 在 Python 中使用 Plotly 的 MemoryError
- javascript - 为段落提供 HTML 输出
- java - 这段代码是使用代理模式还是单例模式,还是两者都使用?