0%

家用服务器升级始末

最近(真的近吗?)我使用的设备经过了一系列设备升级. 这篇blog旨在对Debug过程做一些记录.

事情的起因是, 突然有一天, 我原先使用的机器的/home目录挂载的文件系统会在开机后的一段时间进入只读挂载(Read Only).查看内核log可知设备初始就报告了数千个corrupt blocks, 随后btrfs_commit失败, 强制转入只读挂载.

原先使用的机器由一些便宜硬件组成. 本着能用就行的原则, 这台机器包含了Intel CPU ES版(QYGD), 精粤760M, 以及我刚刚从笔记本上拆下来, 读写上万小时的SSD. 虽然这些硬件都很可疑, 但是他们都坚挺的运行了近两年, 并且还在继续服役, 并不是导致初号机崩溃的罪魁祸首.

总之我先把数据复制到冷备盘, 并且尝试更换硬盘. 然后我发现我使用的硬盘背板的地4个SATA接口发生一些轻微的破裂, 这可能会使得这个接口接触不良. 我意识到这可能是这崩溃的真正原因.

由于我直接把硬盘背板贴到硬盘后, 没有除了4个SATA接口以外的固定. 这使得脆弱的SATA接口容易在插拔硬盘的时候发生弯曲形变. 随后, 我意识到使用这些硬件虽然便宜, 但是总会有哪一天因为我不知道的原因会被创飞, 于是我决定更换设备.

在价格和功耗的权衡下, 我换了一台Dell R730, CPU为E5 2973*2, 64G内存. 在不装显卡时整机静态功耗约为130W. 为了节约电费, 我拆除了一颗CPU, 此时的功耗约为80W(以上功耗数据来自我的记忆, 未必准确).

Dell R730没有M.2插槽, 因此我使用了M.2转PCIE加装了一块1T SSD固态硬盘, 随后很快发现, 其官方的BOIS不支持从SSD启动, 于是我改为使用前面板SD卡划分了4G的vFlash用于引导系统. vFlash读写速度不快, 会拖慢启动速度. 不过BIOS启动自检就需要大量时间, 所以引导系统需要的时间就可以忽略不计了.

我希望继续使用文件系统(Btrfs或者ZFS)自带的Raid, 因此我把Raid卡H730改为HBA模式. 此时我在PVE 8.0和和Archlinux(内核为当时的最新版Linux-zen)下均无法识别到Raid卡下的的任何硬盘, 而内核中理应有这张卡的驱动. 在摸索一段时间后, 我发现Raid卡有单独的固件并且我手上这张的固件版本太旧了, 更新新版固件后即可正常使用.

此后正常安装系统即可.

参考