构建 Bootstrap 错误

根据错误代码,我曾认为它与此问题有关 https://meta.discourse.org/t/upgrade-gone-sideways-deprecated-guest-gate-plugin/241692,这让我专注于更新插件。然而,也可能存在他们手动强制使用旧 PSQL 的问题,并且他们在清理旧插件之前修复了该问题(然后才真正修复了问题)Upgrade gone sideways [deprecated Guest Gate plugin] - #3 by dylanb

但我担心解决这个问题超出了我的能力范围。:slight_smile: 这个话题能给你提供什么额外的线索吗?

我也在看那个,可惜我没有看到任何能帮到我的东西……我真的很希望我的论坛数据不会被清除……我很久没有备份了,所以丢失数据会让我无比心碎。

您能否启动现有容器以调出重建前的版本并进行备份,然后再继续?

./launcher start app

遗憾的是,我认为该容器已不存在,因为我尝试的修复方法是完全卸载 Docker 并重新安装。这导致我没有任何现有容器。因此,现在尝试运行该命令只会留下:
image

我也找到了这篇文章:Database system was not properly shut down error when rebuilding - support - Discourse Meta

我现在开始感到非常沮丧,因为我找到的一切都指向数据丢失……

我真的很希望有人能帮我找到一种在不丢失数据的情况下修复此问题的方法,因为我唯一能找到的备份是一年前的。

可能与任何事情都无关,但 4.15.0-91 内核,是不是有点旧了,大约 30 个月?

是的,这很老了,哈哈,因为我基本上创建了服务器。但这应该与它无关,因为它一直运行正常。

1 个赞

数据损坏/丢失是另一种可能性,我猜我宁愿发现是旧内核和 docker 20.10 之间存在某种奇怪的依赖关系问题,而这又阻止了 psql 启动……但我同意这可能性很小 :roll_eyes: 而且这会引出问题“为什么是现在?”

我对此表示怀疑,我觉得我一定是在数据库关闭过程中停止并卸载/重新安装了 Docker,但我不完全确定。

2 个赞

/var/discourse/shared/standalone 的内容是什么?

1 个赞

使用 ls /var/discourse/shared/standalone 查找

1 个赞

我已将其移至另一个卷,内容如下:

root@discourse:/var/discourse# ls /mnt/volume-2/standalone/ -al
total 64
drwxr-xr-x 16 root            root     4096 Feb  5  2021 .
drwxr-xr-x  3 root            root     4096 Aug 30  2020 ..
drwxr-xr-x  3            1000 www-data 4096 Aug 30  2020 backups
drwxr-xr-x 10 root            root     4096 Nov 20 08:35 letsencrypt
drwxr-xr-x  4 root            root     4096 Aug 30  2020 log
drwxr-xr-x  2 systemd-resolve input    4096 Aug 30  2020 postgres_backup
drwx------ 19 systemd-resolve input    4096 Nov 20 12:01 postgres_data
drwx------ 20 uuidd           uuidd    4096 Feb  5  2021 postgres_data_old
drwxrwxr-x  5 systemd-resolve input    4096 Nov 20 12:01 postgres_run
drwxr-xr-x  2 messagebus      syslog   4096 Nov 20 08:38 redis_data
drwxr-xr-x  2 root            root     4096 Dec  1  2020 ssl
drwxr-xr-x  3 root            root     4096 Aug 30  2020 standalone
drwxr-xr-x  4 root            root     4096 Aug 30  2020 state
drwxr-xr-x  4            1000 www-data 4096 Nov 20 08:36 tmp
drwxr-xr-x  2 root            root     4096 Aug 30  2020 uploads
drwxr-xr-x  4 root            root     4096 Aug 30  2020 uploads.orig

因此,即使没有容器,数据库的某些状态似乎仍然完好无损。无论您进行何种实验,请妥善保管一份副本。

按照目前的设置,您通常可以从容器内部访问数据库,因为它位于 Docker 卷上。

如果您能重新构建一个容器,您或许可以再次访问它,否则您需要将 PostgreSQL 安装在服务器上(但这在您再次恢复工作后将是多余的)。

最难的部分就是让重建工作正常进行。如果没有这个,我基本上就完蛋了,看起来是这样。

不过,我一定会把这个文件夹的内容复制到我的本地机器上,以防万一。

在我看来,这似乎是一次失败的 PostgreSQL 更新。@Headless 你上次从命令行更新你的网站是什么时候?

是更新,就像拉取和重新构建一样?我每隔几个月左右就会这样做一次。

最近的备份是什么?

ls /var/discourse/shared/standalone/backups

这是一个一年前的备份,之前已经提到过。

我最终在某个时候关闭了备份,那是我的错。

要恢复此站点将是一场非常冒险的牛仔竞技。我有一段时间没做过这些恢复了,所以我的记忆有点生疏。让我看看是否能找到任何关于恢复的现有主题。

我感谢您的支持!