如何将 Discourse 迁移到更大磁盘的简要说明

有没有关于如何将整个 Discourse 实例迁移到另一块磁盘(例如 Digital Ocean 的块存储卷)的说明?我使用的是自托管的 Docker 镜像。这里有一些相关信息,但与其他讨论内容混在一起,有点杂乱无章。我的存储空间不足,因此 Launcher 无法重建容器,即使我尝试删除了镜像也没用。

参见:

以及:

我的情况不太一样。我想把 Discourse 实例迁移到同一台服务器上的块存储,而不是迁移到新服务器。而且我想迁移所有内容,不仅仅是上传文件和备份。抱歉需要这么多手把手的指导!我不想搞砸了。

那么我想你应该看看我第一个链接的文档。基本上,你会将上传文件和备份移动到挂载的磁盘上,但数据库保留在主驱动器上。

所以,除非我理解错了,这就是你想做的吗?(当然,在做这些操作之前请先进行备份)

我还没检查,但我觉得是数据库占用了空间,需要移动它。性能不是需要考虑的因素。

你有没有尝试过使用 docker system prune 进行更全面的 Docker 清理,而不仅仅是删除镜像?

最好先测量并分享你的测量结果——关于如何推进,你的想法可能是对的,但让我们先看看实际情况。

不过,使用 docker prune 也是一个好主意。

磁盘大小:

df -h /

以及该磁盘当前的使用情况:

以及 Docker 的使用情况:

docker system df
docker images -a
docker image ls
docker volume ls -qf dangling=true

(我不是 Docker 专家——这些命令可能有点冗余,但有了所有这些输出,我们应该能看到 Docker 的占用情况)

总的来说,你的磁盘使用量将是以下各项的组合:

  • 操作系统
  • 交换文件(swap files)
  • 各种日志文件
  • 你的 Discourse 软件
  • 你的备份
  • 你的数据库
  • 你的论坛上传文件

对于许多论坛来说,上传文件占据了大头。但必须测量才能知道!

如果你不是专业的 Linux 系统管理员,系统中可能还会有一些多余的旧文件。