# Discourse升级因25G droplet磁盘空间不足而失败

**URL:** <https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062>\
**Category:** Self-hosting\
**Tags:** server-resources\
**Created:** [2022年三月27日 01:01 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062 "2022-03-27T01:01:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 01:01 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/1 "2022-03-27T01:01:07Z")

</div>

我有一个 25g 的液滴，Discourse 声称它足够大，但我无法升级到最新版本，因为我存储空间不足。我的论坛非常小，流量也很少。

**我运行了** `./launcher cleanup` **甚至删除了旧的备份，但仍然没有成功。**

我该怎么办？

```plaintext
root@DO-Discourse:/var/discourse# ./launcher rebuild app
检测到 x86_64 架构。

警告：我们将开始下载 Discourse 基础镜像
此过程可能需要几分钟到一小时，具体取决于您的网络速度
请耐心等待

2.0.20220224-2005：正在从 discourse/base 拉取
5eb5b503b376：拉取完成
35b2f73fc27b：拉取完成
44526e3ec669：拉取完成
摘要：sha256:8a8bb9525882220196c0faa8ce95c62a7fb607fc203d4247b3d5985f3ca9c3d8
状态：已下载 discourse/base:2.0.20220224-2005 的更新镜像
docker.io/discourse/base:2.0.20220224-2005
您在 /var/lib/docker 所在的磁盘上剩余的可用空间不到 5GB。您需要更多空间才能继续
文件系统 大小 已用 可用 使用率 挂载点
/dev/vda1 25G 22G 3.0G 88% /

您想尝试通过清理系统中的 docker 镜像和容器来恢复空间吗？ (y/N)y
如果清理成功，您现在可以重试
root@DO-Discourse:/var/discourse#

```

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 02:08 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/2 "2022-03-27T02:08:55Z")

</div>

```plaintext
root@DO-Discourse:/var/discourse# df -h
文件系统 大小 已用 可用 已用% 挂载点
udev 448M 0 448M 0% /dev
tmpfs 99M 1.1M 98M 2% /run
/dev/vda1 25G 18G 6.2G 75% /
tmpfs 491M 0 491M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 491M 0 491M 0% /sys/fs/cgroup
/dev/vda15 105M 9.2M 96M 9% /boot/efi
overlay 25G 18G 6.2G 75% /var/lib/docker/overlay2/d319d95263d87c2a75a4bc9a9f03a25ea7f6eb1f7bac687e7ae7d45522939dc0/merged
/dev/loop10 56M 56M 0 100% /snap/core18/2284
/dev/loop7 44M 44M 0 100% /snap/snapd/14978
/dev/loop5 62M 62M 0 100% /snap/core20/1361
/dev/loop2 68M 68M 0 100% /snap/lxd/22526
/dev/loop1 62M 62M 0 100% /snap/core20/1376
/dev/loop3 44M 44M 0 100% /snap/snapd/15177
/dev/loop4 56M 56M 0 100% /snap/core18/2344
/dev/loop6 68M 68M 0 100% /snap/lxd/22753
tmpfs 99M 0 99M 0% /run/user/0
root@DO-Discourse:/var/discourse# 

```

---

<div class="post-metadata">

**Author:** ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)\
**Post date:** [2022年三月27日 05:08 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/3 "2022-03-27T05:08:53Z")

</div>

您可以尝试运行 `./launcher cleanup`，但如果这没有帮助，您将不得不为服务器添加更多磁盘。

---

<div class="post-metadata">

**Author:** ![Benjamin\_D](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benjamin_d/32/277831_2.png) [@Benjamin\_D](https://meta.discourse.org/u/Benjamin_D)\
**Post date:** [2022年三月27日 05:29 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/4 "2022-03-27T05:29:47Z")

</div>

您可以（但不应）  
`./launcher rebuild app --skip-prereqs`

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 06:42 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/5 "2022-03-27T06:42:06Z")

</div>

> [@itsbhanusharma](#):
>
> 你可以尝试运行 `./launcher cleanup`，但如果这没有帮助，你将不得不为你的服务器添加更多磁盘。

正如我之前所说，已经做过了，实际上是做了几次。  
我读到过 discourse 理想情况下需要 20-30gb。我有 25gb，所以它需要更多是很奇怪的。要求是否已更改？

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 06:42 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/6 "2022-03-27T06:42:58Z")

</div>

> [@Benjamin\_D](#):
>
> 你可以（但 **不应该** ）  
> `./launcher rebuild app --skip-prereqs`

不确定您的意思。

---

<div class="post-metadata">

**Author:** ![Benjamin\_D](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benjamin_d/32/277831_2.png) [@Benjamin\_D](https://meta.discourse.org/u/Benjamin_D)\
**Post date:** [2022年三月27日 06:55 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/7 "2022-03-27T06:55:00Z")

</div>

我的意思是，在测试实例上短期使用，我试过了（我认为有 4.6GB 剩余空间还可以），但我不会在生产环境中使用它。

---

<div class="post-metadata">

**Author:** ![Benjamin\_D](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/benjamin_d/32/277831_2.png) [@Benjamin\_D](https://meta.discourse.org/u/Benjamin_D)\
**Post date:** [2022年三月27日 06:57 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/8 "2022-03-27T06:57:52Z")

</div>

`sudo apt autoremove --purge` 也许？

---

<div class="post-metadata">

**Author:** ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)\
**Post date:** [2022年三月27日 08:57 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/9 "2022-03-27T08:57:52Z")

</div>

另请检查您是否有大量备份。

---

<div class="post-metadata">

**Author:** ![itsbhanusharma](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/itsbhanusharma/32/180717_2.png) [@itsbhanusharma](https://meta.discourse.org/u/itsbhanusharma)\
**Post date:** [2022年三月27日 10:22 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/10 "2022-03-27T10:22:54Z")

</div>

存储要求取决于上传到您的 discourse 实例的媒体量。

---

<div class="post-metadata">

**Author:** ![geoff777](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/geoff777/32/202388_2.png) [@geoff777](https://meta.discourse.org/u/geoff777)\
**Post date:** [2022年三月27日 10:52 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/11 "2022-03-27T10:52:27Z")

</div>

我感到惊讶的是，当我随意玩弄时，我的 DO 沙盒网站的增长速度如此之快。  
如果您现在遇到问题，您可能只需要删除足够的内容就可以让 Discourse 升级，但下次数据库会更大一些，您可能会有更多的媒体。  
如果您确实有很多媒体，迁移到 S3 存储可以释放空间，否则调整 droplet 大小可能是您唯一的选择。

在 DO 上，AMD droplet 应该会好很多……我的基准测试不是这样（我在网上看到的 🤨） - [这里](https://blog.speedvitals.com/digitalocean-premium-amd-vs-intel/)

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 17:12 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/12 "2022-03-27T17:12:52Z")

</div>

> [@itsbhanusharma](#):
>
> 存储需求取决于有多少媒体被上传到您的 discourse 实例。

明白了。已使用的存储量显示在哪里？

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 17:14 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/13 "2022-03-27T17:14:05Z")

</div>

> [@geoff777](#):
>
> 如果您现在遇到问题，也许可以删除足够的东西让 Discourse 升级，但下次数据库会稍大一些，您可能会有更多媒体。

明白了。我的数据库是 60MB，我删除了所有备份。

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 17:16 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/14 "2022-03-27T17:16:01Z")

</div>

> [@pfaffman](#):
>
> 另外，看看你是否有大量的备份。

正如我之前所说，删除了所有备份。（不过我的数据库只有 60MB，所以这并没有带来什么实质性的改变）

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 21:35 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/15 "2022-03-27T21:35:41Z")

</div>

> [@Benjamin\_D](#):
>
> `sudo apt autoremove --purge` 也许？

root@DO-Discourse:/var/discourse# apt autoremove --purge  
Reading package lists… Done  
Building dependency tree  
Reading state information… Done  
0 upgraded, 0 newly installed, 0 to remove and 94 not upgraded.  
root@DO-Discourse:/var/discourse#

---

<div class="post-metadata">

**Author:** ![Simon\_Manning](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon_manning/32/198596_2.png) [@Simon\_Manning](https://meta.discourse.org/u/Simon_Manning)\
**Post date:** [2022年三月27日 21:53 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/16 "2022-03-27T21:53:41Z")

</div>

您可以尝试清除 apt 缓存。

```plaintext
apt clean

```

您也可以尝试运行

```plaintext
du -h -s /* | sort -h -r

```

来找出空间被用在哪里。例如，如果大部分空间在 `/usr` 下，您可以重复使用

```plaintext
du -h -s /usr/* | sort -h -r

```

依此类推。如果运气好的话，这会找到一些可以清除的大东西，但显然不要在不了解是什么的情况下删除任何东西——也就是说，除非您确定可以安全删除，否则不要删除任何东西。

---

<div class="post-metadata">

**Author:** ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)\
**Post date:** [2022年三月27日 22:17 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/17 "2022-03-27T22:17:12Z")

</div>

> [@AndyBr](#):
>
> 收到。已用存储量显示在哪里？

快速查看的话，你的 `/admin` 仪表板上有一个“上传量”：

 ![Screenshot_20220327_231859](https://global.discourse-cdn.com/meta/original/3X/c/7/c78b28abfc0b1a8568da3a5884a9aad2fc51ef4f.jpeg)

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 22:25 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/18 "2022-03-27T22:25:51Z")

</div>

我之前的命令是否提供了这些信息？

> [@Discourse upgrade fails due to insufficient disk space on 25G droplet](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space/222062/2?u=andybr):
>
> root@DO-Discourse:/var/discourse# df -h Filesystem Size Used Avail Use% Mounted on udev 448M 0 448M 0% /dev tmpfs 99M 1.1M 98M 2% /run /dev/vda1 25G 18G 6.2G 75% / tmpfs 491M 0 491M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 491M 0 491M 0% /sys/fs/cgroup /dev/vda15 105M 9.2M 96M 9% /boot/efi overlay 25G 18G 6.2G 75% /var/lib/docker/overlay2/d319d95263d87c2a75a4bc9a9f…

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 22:31 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/19 "2022-03-27T22:31:00Z")

</div>

![PNG image](https://global.discourse-cdn.com/meta/original/3X/3/4/34b24f58d7efea437234e83a38d8b68932caca08.png)

---

<div class="post-metadata">

**Author:** ![AndyBr](https://avatars.discourse-cdn.com/v4/letter/a/ce73a5/32.png) [@AndyBr](https://meta.discourse.org/u/AndyBr)\
**Post date:** [2022年三月27日 22:41 UTC](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062/20 "2022-03-27T22:41:46Z")

</div>

```plaintext
root@DO-Discourse:/var/discourse# cd ..
root@DO-Discourse:/var# cd ..
root@DO-Discourse:/# du -h --max-depth=1 -x
13G ./var
301M ./boot
5.4M ./etc
116K ./tmp
4.0K ./srv
4.0K ./home
28K ./snap
4.0K ./media
3.3G ./usr
4.0K ./mnt
901M ./root
24K ./opt
16K ./lost+found
19G .
root@DO-Discourse:/#

```

[下一頁](https://meta.discourse.org/t/discourse-upgrade-fails-due-to-insufficient-disk-space-on-25g-droplet/222062.md?page=2)
