前言

一直用着esxi虚拟化的DS918+虚拟机,redpill引导。Jellyfin装在esxi上的archlinux虚拟机,通过NFS的方式挂载过来实现硬解。虽然能用,但是每次还要走网络总觉得浪费性能。直到去年SA6400机型出现,群晖上了5.10内核,今年有大佬公开backport的i915驱动,SA6400的引导也差不多稳定了,决定迁移一下,毕竟群晖迁移机型基本上是可以保留设置的。


过程

步骤其实就是换引导,我更换为redpill recovery。大体步骤是rr的img引导文件转vmdk,上传到esxi,切换到这个引导,开机进入引导配置选择sa6400进行编译,网上这块教程很多不再过多说明。


问题

引导编译完成后,启动进群晖的安装界面,因为迁移是要覆盖SA6400的系统。上传pat后进入安装,结果卡在了54/55/56%,无法安装DSM。参考网上大部分说法是和三码以及硬盘有关,一开始以为是硬盘没读到,telnet进去发现是读到了的。重启后再安装变成存储空间不足。

翻了很多资料,没找到在迁移机型上出现这种的,后面翻XPE论坛的时候发现这个提示原来是真的存储不足一开始还是以为它不认盘,telnet进去一开看系统分区的可用空间满了。


解决

先说为啥满了。锅其实是群晖的。群晖给盘是分成三个linux raid分区,第一个是系统,第二个我不确定,看有人说是swap,第三个是用户存储空间。DSM6年代群晖给系统分区分的是2.4G左右的空间,而DSM7开始插入的盘都会把系统分区分8G。我是从6.2开始用的,结果现在2.4G的空间不够它用,毕竟长期的使用肯定会增加一些数据以及日志之类的。群晖的升级是pat放在系统分区里,然后把pat解包提取,提取的东西也在系统分区里,也就是说差不多要预留2倍的pat空间大小。sa6400的pat比918的大,在我这边就存储空间不足了。

上图空间为0是因为群晖安装失败了并没有清理掉它的安装文件

解决该问题只能手动清理空间,在安装界面telnet进去,先挂载系统分区。

做任何改动前理应做好相应的备份

mount /dev/md0 /mnt

cd到mnt下,ls能看到有个文件夹大概叫@autoupdate,该文件夹内有pat文件,也就是系统安装包,既然都安装失败了我就先删了。
其次还有个文件夹,这里面是pat解包后的东西,也把里面文件删了。
删完发现空间还是不够,在mnt下

du -ch | sort -h | tail -50

排列一下哪些文件最大,看看有没有可以上的。比如有些是root下自己放了东西,挪出来或者清理掉就好了,但是我这基本没有大文件。。。。
最后把/var/log下的日志都删了,腾了100M+,剩余空间有780M,安装SA6400的系统安装过了。


小提醒

群晖系统分区其是ext4,披着linux raid的皮,但是不要尝试用e2fsck去修复它。我不会说我修复完了群晖直接认定我系统设置已损毁,要我重新灌入系统还恢复了出厂设置。