在按照此处:Manually update Discourse and Docker image to latest 进行更新时,我遇到了以下错误:
“不支持内核版本 4.4.0-210-generic,请至少升级到 4.14.0”
我该如何处理?我找不到关于升级内核版本支持的主题。
在按照此处:Manually update Discourse and Docker image to latest 进行更新时,我遇到了以下错误:
“不支持内核版本 4.4.0-210-generic,请至少升级到 4.14.0”
我该如何处理?我找不到关于升级内核版本支持的主题。
您使用的是哪个版本的 Ubuntu?您可能需要升级或迁移到带有新操作系统的服务器。
上周我们收到了大量关于用户在 Ubuntu 14.04 上运行 Discourse 失败的支持请求,在此之后我添加了此检查。
您运行的是哪个版本的 Ubuntu?您之前是否已成功运行 Discourse 3+?
我使用的是 Ubuntu 16.04.3 x64
使用 Digital Ocean 的液滴:1 GB 内存 / 25 GB 磁盘
Digital Ocean 在此处解释了,我有一个自行升级内核的选项:
但我想知道:
它已超出生命周期。我会启动一个新的 Droplet 并从头开始。
这是一个很好的检查,但也许它可以提及操作系统可能已过时的可能性?内核是问题的根源,但对大多数人来说,它作为操作系统版本的一部分出现。
我怀疑,随着 Discourse 的普及,每次缺少内核功能变得至关重要时,受影响的人数将大大增加。
Ubuntu wiki 称 sudo apt-get -s install --install-recommends linux-generic-hwe-16.04 在重启后将为您提供他们最新支持的内核(4.15)。我建议您备份,将备份下载到本地,然后尝试一下。
您的意思是它的标准支持已到期,还是实际版本已到期?此处版本检查显示到期日期为 2026 年:Releases - Ubuntu Wiki
如果您拥有 Canonical 订阅,则为 2026 年,否则为 2021 年。不过这跑题了 ![]()
感谢您的建议。我将进行备份并尝试一下。
作为一项建议,也许我们应该将您关于检查/获取最新内核更新的说明添加到此处标准更新说明中:https://meta.discourse.org/t/manually-update-discourse-and-docker-image-to-latest/23325。正如您所建议的,看起来您收到了很多关于内核未及时更新的支持请求。
谢谢你的澄清
今天早上我们尝试更新时遇到了完全相同的障碍。我们的错误中也给出了相同的版本号。
我们也在 Digital Ocean 上运行相同的 Ubuntu 14.04。
我将在接下来的几天腾出一些时间,关闭服务器,进行完整的快照,正如 Falco 所建议的那样,然后尝试:
不过,我想知道这能为我争取多少时间,才能避免遇到下一个障碍?
有没有理由不直接运行 sudo apt-get dist-upgrade?
我的服务器上只安装了 Discourse。
在我们的案例中,是的,我们目前是 3.1.0.beta1 - Commits · discourse/discourse · GitHub
您目前使用的是内核 4.4 的 3.1.0.beta 版本吗?如果是,我将放宽内核检查。
uname -r 的输出是:
4.4.0-210-generic
并且已在 Discourse 3.1.0.beta 中得到确认 ![]()
不过我还是计划明天升级底层的 Ubuntu ![]()
Ubuntu 升级几乎总是成功的,但过程并不快,而且在此期间你的实例可能会长时间无法使用。快照可以让你在最坏的情况下回滚,但也会增加停机时间。
你是否考虑过在新版本上创建一个新服务器并恢复备份?只要你使用 TTL(生存时间)相对较短的 DNS,停机时间可能相当短,具体取决于数据库大小以及你的上传是否是本地的。
我个人没有(不确定 @AMK 是否有)——只是因为完成所有必需的工作所需的时间将比在控制台中输入单个更新命令所需的时间更长:blush:
我实际上还没有尝试创建新服务器。
就像 @Richie 一样,我在服务器上安装的唯一东西是 Discourse。而且,我宁愿运行一个命令来获取更新,也不愿完全迁移到新服务器。
我还检查了我的安装版本,看起来我的站点版本是 3.0.0.beta16。当我点击升级时,我被导向“您正在运行旧版本的 Discourse 镜像”,在那里我遇到了尝试更新时不支持的内核版本错误。
@AMK (以及其他感兴趣的人!)
我关闭了我的 Digital Ocean 虚拟机并拍摄了完整快照(大约花了 30 分钟)。
然后我运行了 do-release-upgrade,从 Ubuntu “16.04.7 LTS”升级到了“18.04.6 LTS”。
重启后,我检查了 Discourse - 一切正常。
然后我又进行了一次版本升级,将我的系统升级到了 Ubuntu 18 之后的版本。不确定具体是哪个版本,可能是 v20?
在那次重启之后,我的服务器再也无法上线了 ![]()
我不得不恢复了我的快照(花了 15 分钟),然后我再次从“16.04.7 LTS”升级到了“18.04.6 LTS”,之后我更新了 Discourse。
总耗时 1 小时 50 分钟。
这就是为什么我建议:
这可能“更难”,但你可以几乎零停机时间(如果在新服务器与旧服务器在同一数据中心创建并且使用静态IP,则可以实现零停机时间)完成它,如果出现问题,你可以切换回旧服务器。
可能是,而且你确实需要升级到 2022.04。