由于未知因素出现/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重置功能的逻辑类似),我想其实我们可以利用这一知识对系统进行升级处理(保留原始数据盘数据),我这里由于时间的关系就不做这样的测试了。

发表评论

您的电子邮箱地址不会被公开。