安装时创建交换空间失败

我正在按照官方安装指南操作,但在运行以下命令时遇到了错误:

./discourse-setup

我收到了这条错误信息:

root@server:/var/discourse# ./discourse-setup
警告:当运行内存为 2GB 或更少时,Discourse 至少需要 2GB 的交换空间。此系统似乎没有足够的交换空间。

如果没有足够的交换空间,您的网站可能无法正常工作,并且 Discourse 的未来升级可能无法成功完成。

按 Ctrl+C 退出,或等待 5 秒以创建一个 2GB 的交换文件。
install: 无法删除 '/swapfile':操作不允许
fallocate: fallocate 失败:文本文件正忙
mkswap: 错误:/swapfile 已挂载;无法创建交换空间
swapon: /swapfile: swapon 失败:设备或资源忙
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
创建交换空间失败:您是 root 用户吗?您是在真实硬件上运行,还是在完全虚拟化的服务器上运行?

我拥有一台 2GB 内存和 50GB SSD 的 VPS,并且已经为 Discourse 设置了一个子域名。

为什么会报这个错误?

这通常意味着您使用的并非“真正”的 VPS,即不是基于 KVM 的。请问您的 VPS 提供商以及具体产品或套餐是什么?

哦,我之前不知道,而且这是 atlantic.net。不过有解决办法吗?

这是他们免费的 VPS 服务吗?请联系支持团队,询问该产品是 KVM 还是 OpenVZ。

好吧,所以免费的话就不可能了,对吧?

嗯,如果要我猜的话,我会打赌它不是 KVM,因为那通常成本更高。不过,问问他们的团队也无妨,毕竟他们的常见问题解答中根本没有提及虚拟化技术。

我会去的。谢谢!:slight_smile:

如果是真正的 KVM VPS,那么您将需要参考这篇文章:创建 Linux 服务器的交换文件

无需照此操作,因为当前版本的 discourse-setup 脚本会自动处理。

在我遇到的几个 Ubuntu 实例(来自不同提供商)上都失败了,Ramnode 就是其中之一。

是的,我通过创建交换文件解决了这个问题。

不过我有一个问题:安装后,我需要保留那个文件,还是可以直接删除?

哪个文件,交换文件?是的,你需要保留它。

是的,我以为那只是安装时才需要的。:joy:

别删掉它,否则你会很麻烦。

你是说 Discourse 设置失败,未能创建交换文件?你完全无法创建交换文件吗?还是你的虚拟机不允许你这样做?

不确定你是在跟我说话,还是在跟 @Timelord 说话。

如果是我的话,是的,我已经成功创建了该文件,安装过程也很顺利。