我正在将essax升级为灰熊。 我注意到这个注释https://lists.launchpad.net/openstack/msg16188.html,它说1.60 swift后会使用一种新格式的环,但是这个注释没有说明如何升级环文件。它只是说 “升级完整个集群后,只需升级版本即可 构建你的环文件的盒子上的swift(即你运行的地方) 迅速环的助洗剂)。升级此片将更改磁盘 生成的环文件的格式。将新的环文件部署到 快速集群。“ 但升级后我没有看到环文件发生任何变化,环文件的最后修改日期仍然相同。
那么如何以安全的方式升级环文件呢? 有没有办法验证环文件是否已升级?
答案 0 :(得分:4)
您可以更清楚地找到管理员指南中的文字 - Managing the rings。
Swift 1.6.0是使用Python pickle格式的最后一个版本。后续版本使用不同的序列化格式。任何版本都可以读取Swift版本1.6.0及更早版本生成的环,但1.6.0之后生成的环只能由大于1.6.0的Swift版本读取。因此,当从1.6.0或更早版本升级到大于1.6.0的版本时,要么在所有Swift节点成功升级后最后升级环构建服务器上的Swift,要么在所有Swift节点成功升级之前不要生成环
较新的版本可以读取旧格式,因此首先将所有节点升级到较新的swift版本。然后使用新的swift-ring-builder
命令重新生成(重新平衡)环文件。并且您将获得升级的环文件。