黑群晖 NAS 无法启动,重建系统并保留数据

由于未知因素出现/dev/md0 阵列丢失 (查看下面异常图片),这块磁盘是安装群晖系统的硬盘,群晖 SHR2 原理会在每个物理硬盘上分区创建一个 2G 的分区组成 RAID1(相当于每个硬盘中都会存在一份拷贝的系统) 。

虽然我知道上述内容,但是找不到更好的恢复方式,查了很多方式只有手动把/dev/md0 进行了重建,然后再利用群晖的 Synology Assistant 进行系统重装,最后恢复了系统并且磁盘其他的数据也没有丢失,虽然系统之前的预设程序和用户设置丢失了,但是总算是恢复了系统并且保留了数据。

提示:我主要查看引导 U 盘的 syslinux.cfg 发现/dev/md0 作为引导进入系统设备,具体可以打开你们的 U 盘查看 APPEND 参数内容,另外引导中有些 LABEL 可以自定义,并且我百度看有些人好像可以在引导中隐藏 U 盘设置 (进行到系统中后) 。

步骤说明

由于我有两块硬盘,所以群晖系统各分区了/dev/sda1/dev/sdb1 进行组 RAID1,当然在某种情况下我是推测的 (根据所查询的资料),我就利用以下命令,针对这两块分区进行了 RAID1 阵列重建,mirror 表示 RAID1,有多少块硬盘的话也请根据命令调整--raid-devices 数量,分区数与此选项一定要一致。

mdadm --create /dev/md0  --level=mirror --raid-devices=2 /dev/sda1 /dev/sdb1

注意:执行上述命令之前,请使用一个空闲的 U 盘烧一个 Ubuntu 的 live/CD, 或任意一个 Debian 变种的 live/CD 即可;因为群晖也是 Debian 的变种之一。

然后,重启电脑利用 U 盘的引导系统启动,选择第一个菜单,当加载完毕之后,再打开 Synology Assistant 自动检测到主机,然后右键 Install, 输入预设密码,顺着安装原来的*.PAT 即可。

注意事项

在使用 Ubuntu Live/CD 的时候不会自动扫描加载已存在的阵列 (重要数据设备内容),因为 mdadm 套件没有安装,所以需要先安装然后再手动扫描已存在的历史阵列信息,参考下面命令;另外注意的是所有最终的挂载设备都是由 LVM2 进行管理的。

apt-get install -y mdadm

mdadm -Asf && vgchange -ay

lvs

为了确保数据没有丢失的话,可以利用 LVM2 相关的命令把设备挂载到某个目录中进行查看,参考下面挂载。

lvdisplay

mkdir /volume1

mount /dev/vg_volume1/volume1 /volume1

ls /volume1

结论

当熟悉了群晖的磁盘管理的方式之后 (其实我想就是和群晖的 reset 重置功能的逻辑类似),我想其实我们可以利用这一知识对系统进行升级处理 (保留原始数据盘数据),我这里由于时间的关系就不做这样的测试了。

THE END