文件系统备份恢复:无法重建也无法启动

服务器的 RAID 在几天前故障,我们正尝试从文件系统备份中恢复 Discourse 实例,但至今尚未成功。

运行 ./launcher rebuild app 时出现以下错误:

FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres failed with return #<Process::Status: pid 46 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "/root/upgrade_postgres"

其输出声称只需运行 ./launcher start app 即可,但该命令同样失败:

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=3 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e DISCOURSE_DEVELOPER_EMAILS=bravit111@gmail.com,ulysses4ever@gmail.com -e DISCOURSE_HOSTNAME=forum.mmcs.sfedu.ru -e DISCOURSE_SMTP_ADDRESS=class.mmcs.sfedu.ru -e DISCOURSE_ENABLE_CORS=true -e 'DISCOURSE_CORS_ORIGIN=*' -e DONT_PRECOMPILE_CSS=1 -h users-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 8088:80 -p 2222:22 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:b1:c6:37:24:01 local_discourse/app /sbin/boot
Unable to find image 'local_discourse/app:latest' locally
docker: Error response from daemon: pull access denied for local_discourse/app, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

两个命令的完整输出请参见此处

顺便提一下,我的 docker ps 输出为空。

我不确定该如何继续,如有任何帮助将不胜感激。

为什么不使用我们官方的备份功能,将备份文件恢复到新服务器上呢?

这是我们支持的恢复方法,相关文档请参阅 创建、下载并恢复 Discourse 数据库备份

此方法假设你已有一个由运行中的 Discourse 实例准备的备份。我(现在)没有这样的备份了:cry:

默认情况下已启用备份,并保存在主机文件系统中。如果您有文件系统备份,则备份文件位于 backups 文件夹中…

备份功能似乎未启用:我只看到几个备份 tar 包,且修改日期相当久远……

我相信在标准的 Discourse 安装中,每周备份默认是开启的。

我最终可能会使用其中之一,但我仍然需要一个正在运行的实例,而且在尝试运行时,我不断遇到这些错误。

将备份文件移动到另一台服务器要容易得多,然后按照 Restore a backup from the command line 进行操作。

你说的“另一个服务器”是什么意思?我只有一台服务器。

好的,我们先退一步。

当你执行重建操作时,出现了错误。能否粘贴超过 4 行的错误信息,以便我们确切了解哪里出了问题?

您可能错过了,因为我把完整输出的链接只加在了置顶帖的更新中:

两个命令的完整输出请见此处

太棒了!

所以

源集群未正常关闭。

您需要按照以下步骤操作:

先在不进行升级的情况下启动数据库,然后再执行更新。

成功了,非常感谢!