黑群晖(XPEnology)无法启动&重建系统并保留数据经验总结

预备知识

本篇所涉及到的技术主要涉及fdisk磁盘管理、mdadm软阵列管理与lvm逻辑卷管理,不熟悉这方便知识的朋友请先打开鸟叔的Linux私房菜学习下相关知识。

  • 鸟哥Linux私房菜 - 磁盘配额、阵列、逻辑卷管理,点击这里打开;
  • LVM逻辑卷管理相关命令 - 点击这里打开

防爬虫专用,作者的主要博客地址:点击这里, 全路径:blog.csdn.net/littlebrain4solving。

情况说明

由于不知什么情况导致/dev/md0阵列丢失(查看下面异常图片),而里面的磁盘内容是装着群晖的系统,群晖SHR2原理会在每个物理硬盘上分区创建一个2G的分区组成RAID1(这样每个硬盘中都会存在一份拷贝的系统),但我没找到更好的恢复方式,查了很多方式只有手动把/dev/md0进行了重建,然后再利用群晖的Synology Assistant进行系统重装,最后恢复了系统并且磁盘其他的数据也没有丢失,虽然系统之前的预设程序和用户设置丢失了,但是总算是恢复了系统并且保留了数据。

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

黑群晖(XPEnology)无法启动&重建系统并保留数据经验总结_第1张图片

步骤说明

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

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

注意:执行上述命令之前,请使用一个空闲的U盘烧一个Ubuntulive/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重置功能的逻辑类似),我想其实我们可以利用这一知识对系统进行升级处理(保留原始数据盘数据),我这里由于时间的关系就不做这样的测试了。

参考资料

https://www.ibm.com/developerworks/cn/linux/l-cn-raid2/index.html
https://www.ibm.com/developerworks/cn/linux/l-cn-raid/index.html
http://cn.linux.vbird.org/linux_basic/0420quota.php#raid_what
http://www.cnblogs.com/hzl6255/p/3341374.html

SEO

synology /sbin/e2fsck exists, checking /dev/md0…
1.42.6-5565: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
/sbin/e2fsck returns 4, move into netowrk install…
Checking upgrade file
Killed

你可能感兴趣的:(日常记载)