常见问题系列
🧶新手教程:Unraid版本升级和转正升级的注意事项
00 分钟
2024-1-9
2024-1-23
type
status
date
slug
summary
tags
category
icon
password
这个教程主要是为了解决很多朋友在跨大版本升级和转正升级过程中遇到的种种问题,例如:
  • 为什么升级到 6.12 版本后不能正常用了?
  • 为什么升级后无法启动阵列?
  • 为什么转正并升级后 Docker 服务不能正常使用?
以上这些问题经常能在官方的论坛中看到,所以我觉得有必要专门写个教程给到大家去参考。

1. 为什么升级之后不能正常用了,Unraid 这么垃圾的吗?

升级后不能正常用的问题比较容易出现在跨大版本升级的情况中,例如从 6.10 升级到 6.11 、从 6.11 升级到 6.12 ,甚至从 6.9 升级到 6.12 等此类情况。
我总结了一些因升级后出问题比较常见的原因,如下:
  • 内核跨度大:大版本往往内核跨度比较大,而内核跨度大意味着相应软件的版本往往也需要跟着内核的版本进行比较大的更新。你可以简单的对比为将你的 Window 7 系统升级到 Windows 11 然后出现了一些功能或者软件不能正常使用了的情况,但实际上在 Linux 中这种内核的升级所需要面对的情况要比 Windows 系统来说要复杂得多。
  • 硬件不兼容:这个问题与内核有密切相关,内核升级可能会导致不能兼容当下的硬件,例如 M2 硬盘在升级到新版本后无法识别。这个问题容易出现在阿斯加特(Asgard)的 M2 固态硬盘上,体现在 6.9 版本可以正常使用但是升级到往后的版本就识别不出来了,论坛上就有相关的案例可供参考:请问两块NVME SSD 在主页中只识别出一块怎么解决?
  • 软件不兼容:大版本的更新往往意味着相应的软件也伴随着大变动,例如 Docker 服务(这种情况比较好解决),这也是为什么有个别朋友在升级大版本之后出现 Docker 服务无法正常使用的问题(但实际上出现的不多,真正造成 Docker 不能用的情况往往不是由于 Docker 版本更新造成的)。
  • 破解版没有删掉相关的破解文件造成:实际上这种情况发生的也不少,我已经在论坛上看到过好几个网友出现类似的问题了,这也是促使我写下这篇文整的一个主要原因,具体的解决方法见第五章的内容。
除了上面提到的一些比较常见的因素其实还有不少其他的原因,但相对来说比较少见,所以基本上每一次 Unraid 更新大版本甚至小版本,都会伴随着相类似的问题出现,这种情况是可以预见的也是能理解的,我在一个帖子中表达了相应的观点:
在正经的生产领域环境,服务器有个原则就是如果现在能稳定运行就不要去随便升级,所以现在不少公司里服务器使用着十几年前的软件和系统是毫不奇怪的,这种情况下如果底层系统升级到跨度较大的新版本,那百分百会出现问题,这跟系统收费不收费没关系。
(如果是群晖,当用户升级系统后不能用了,那么被骂是应该的,因为自己的系统都适配不好自己的硬件和自己的软件,同理 iPhone/MACOS)
回到 unraid 也是一样的,虽然说 unraid 面向的是小型企业/个人业务服务器场景,系统更新比较频繁,但是本质上也还是 linux 系统,追求的是稳定,而 6.116.12 是两个内核跨度比较大的版本,跨度越大越可能出现软件或者硬件上的一些兼容性问题。比如说之前有个朋友的 M2 硬盘在 6.9.1 版本能正常用,但是升级到 6.10 或往后的系统就识别不出了,因为新版本不兼容这个 M2 固态的芯片控制器,相类似的硬件问题发生了很多。除了硬件上,可能软件上也会出现升级后不能正常用的情况,例如 unraid 上的 intel sr-iov 插件在 6.12 版本出来时不能正常使用,因为当时作者没有对新版本的内核去编译新的驱动,所以当时很多人都反映升级之后用不了插件了(当然现在解决了)。
在官方的系统升级指导手册里( Upgrading Unraid )就提到升级系统是有风险的:
Note: You can optionally install releases from the "Next" branch as well, but those releases are not considered fully "Stable", so only do so at your own risk.
我也跟身边的朋友说,如果你需要升级系统就一定要做好备份,并且如果不是有什么硬需求就不需要去升级系统,保证稳定才是首要的。
如果需要升级,可以参考上面官方的升级指导手册或者我写的资料:《unRAID 6.12 版本升级前的注意事项(附:解决 2.5G 网卡升级后无法进入 unRAID 的问题)》
并且我在去去年的八月份也专门写过一篇文章来进一步说明相关的观点和其中的逻辑:
总之,我的观点很简单,适合自己的才是最好的。
Unraid 不是十全十美的,我也从来不会给网友无脑推荐,甚至我先前还劝一位朋友去从 Unraid 转去用群晖,因为在我了解他对 NAS 的需求之后,我发现群晖才是最适合他的,后来从结果上看也确实如此。
同时理性的说,Unraid 作为一款收费的 NAS 系统可以立足市场十几年,也想必有它自己的技术含量和特色在里面,不然即使是免费的系统也没人愿意用它。加上 Unraid 有一个活跃的用户社区,大多数的问题都能在上面找到解决办法,而且论坛上不少国内国外的网友都是十分的热心和友好,所以这也促使我在论坛上为大家提供力所能及的帮助,以及在博客上写更多的教程帮助国内的用户去更好的使用 Unraid 。

2. 升级前的需要做的事情

这里我整理了一些具体的步骤帮助大家能够顺利的升级到新版本,但需要说明的是,并不是说这么做了就一定能够保证升级后不出现问题(原因上面讲过了),但可以最大程度避免。

2.1 备份!备份!备份!

重要的事情说三遍,请在进行任何的系统相关文件的更改之前备份系统盘内的所有文件。
备份方法很简单,你可以直接在 Unraid 的 Web 界面按照下面的步骤进行备份,另外你也可以将系统 U 盘插上你的电脑,然后手动将里面的所有文件拷贝一份出来。
notion image
notion image

2.2 更新所有的插件

请在插件页面检查所有插件,并更新所有可以更新的插件:
notion image
之所以需要升级插件是因为插件的开发者在新版本发布之前,基本都会提前对新版本做适配(尤其是官方自己的插件),以避免出现不兼容甚至影响系统稳定的情况,因此在升级之前提前升级插件是很有必要的一个步骤。

2.3 使用 Update Assistant (升级助手)做升级前的检查

首先你需要安装 Fix Common Problem 插件,安装了之后才会后有 Update Assistant 这个功能:
如果你无法通过应用商店安装,那么你可以使用这里手动安装的方式安装(已经安装了就不需要重复安装)。
复制粘贴下面的命令到 Unraid 的命令行窗口中运行:
notion image
notion image
FCP 插件是官方开发的用于检测 Unraid 上是否存在可能影响用户使用问题的插件。
FCP 插件是官方开发的用于检测 Unraid 上是否存在可能影响用户使用问题的插件。
安装好插件之后:
notion image
notion image
升级助手提供两种检测模式,分别对应稳定版(也就是正式版)和测试版,一般来说不建议普通用户去使用测试版,所以多数情况下我们使用左侧的稳定版本检测功能去执行升级前检测即可。
notion image
检测完成后,如果没有发现潜在的问题,那么会在最后一行提示:
No issues were found with your server that may hinder the OS upgrade. You should be good to go. 你的服务器未发现可能妨碍操作系统升级的问题。你应该可以进行系统升级。

2.4 暂停定时脚本

如果你安装了 User Script 插件并且设置了相应的脚本,那么你可以先把所有定时脚本暂时都停掉,等升级到新版本调整完成之后再打开。
在脚本的最右侧的菜单中选择 Schedule Disabled 并点击左下角的 APPLY 即可将脚本禁用。
notion image

3. 升级系统

系统升级一般都 Web 界面进行自动化升级即可,但是如果说你的 Unraid 无法正常联网到 Unraid 的服务器(下载文件),或者说下载速度很慢,那么你也可以考虑使用手动替换系统文件的方式来进行系统升级,具体操作方法请参考博主的另一篇文章:常见问题-3:如何安装/重装/更换unRAID系统(附安装包下载地址)
notion image
选择希望升级的版本:
点击 CHECK FOR UPDATES,然后点击 UPDATE
点击 CHECK FOR UPDATES,然后点击 UPDATE
开始升级
开始升级
系统下载完成后,重启系统即可完成系统升级。

4. 破解版转正升级前的注意事项

如果你使用的是破解版(也就是常说的“开心版”),那么当你购买了正版并在系统内进行升级了,那么系统升级后百分百无法正常使用,例如下面的例子:
所以在升级前你需要删除 U 盘 config 文件夹中的下述相关文件(记得先备份):
  • hook.so
  • unraider
  • 破解密钥文件 .key :删掉所有非正版的 .key 文件,常见的破解密钥文件有 BTRS.keykey.keytrial.keytrial.key 不一定是破解文件,但删除不影响)。
  • go 文件:破解版往往需要配合 go 文件来使用,如果你的 go 文件里面的内容和下面代码框内的内容类似:
    • 那么请删除掉破解相关的参数,如果你不知道该删除哪些,那么你可以将下面默认的 go 文件内容覆盖到现有的 go 文件上面:
      你可以在 Unraid 还在运行的时候,复制下面的命令到命令行窗口运行,以实现 go 文件的修改:

5. 解决 2.5G 网卡升级新版本后无法进入 unRAID 的问题

方法我已经写在另一篇文章《unRAID 6.12 版本升级前的注意事项》

6. 其他

待更新

评论