据我所知,这篇指南只是围绕以下几点说了很多话:
- 备份
- 创建一个全新的 Discourse 实例,虽然用词更多,但结果与直接运行
discourse_setup 2container相同 - 恢复
为什么不在干净关机后、从独立的 containers/*.yml 文件启动两个新容器之前,直接将 /var/discourse/shared/standalone/{postgres,redis}* 移动或复制到 /var/discourse/shared/data 呢?备份/恢复似乎是一种过于笨重的方式来迁移所有这些数据,不必要地给整个过程增加了数小时。我是不是忽略了什么显而易见的事情?
我刚刚在我的测试 Discourse 上测试了这个流程,并顺便将 Redis 也分离出来了,以确保覆盖了所有方面。编辑:我已将描述移动到了一个新的主题:
该站点在没有备份/恢复周期的情况下似乎运行正常。是否有某些不那么明显但我应该检查的事项?
我对 一个相对较大的 Discourse 论坛 也执行了相同的流程,目前运行良好。我决定在生产环境中将新的 web_only 容器命名为 app,这样我的手指就会自然地执行正确的操作。在编写完新的 container/*.yml 文件后,整个迁移的停机时间仅为 12 分钟,远快于备份/恢复周期所需的时间。