Jul*_*ius 5 juju openstack maas
我使用 juju 创建了基于 MAAS 的 Openstack。我已经创建了实例、项目等。我已经备份了数据库和 openstack 配置文件。我正在尝试通过销毁和删除服务keystone来测试恢复,只是为了看看它是否可以恢复。我还删除了 keystone 数据库。(已备份)因此,我使用 juju 破坏了损坏的旧基石,并部署了新基石。这实际上让我再次运行,除了所有项目(租户)都消失了,并且实例不属于任何项目。因此,我恢复了 keystone 数据库但没有令牌,但是当我这样做时,我收到一个错误,告诉我 keystone 不会授权客户端。
恢复损坏的梯形节点的最佳方法是什么......?似乎当你用 juju 重做基石时,你会得到新的令牌。juju 可以以某种方式将旧的注入到新的基石中吗?
小智 1
您遇到的问题是 keystone charm 将一些信息存储在 keystone 数据库之外;具体来说,服务的用户名和密码存储在本地磁盘上,以便当其他服务单元与 keystone 相关时,keystone 服务可以将请求用户的正确密码分发给相关服务。
如果您在部署 keystone 时没有提供 admin-password 和 admin-token 配置,也会遇到问题;如果没有明确配置,梯形校正服务单元将随机生成这些 - 因此当您删除然后添加新的梯形校正服务单元时,它们会发生变化。
您最终得到的是数据库中的一组散列密码(由第一个服务单元创建),它们与第二个 keystone 服务单元中磁盘上生成的密码不匹配。
理想情况下,我们可以通过 juju 中的某种通用对象存储功能(例如对象放置/对象获取)来解决此问题,但这不是受支持的功能。
所有密码和令牌的磁盘存储都发生在 /var/lib/keystone 中;您也许可以将它们挑选出来作为 keystone 服务单元本身备份的一部分;但是,当您添加新的服务单元时,您会遇到麻烦,因为在您能够恢复这些文件之前服务关系就会触发。
作为 OpenStack 魅力维护者之一,我会多考虑一下,看看我们是否可以想出更优雅的东西。
| 归档时间: |
|
| 查看次数: |
834 次 |
| 最近记录: |