背景

昨天DSM的pgsql坏了,修复的时候一时手贱把群晖的libc.so给弄坏了,彻底瘫了,想到的解决办法如下:

linux下读取系统区(DSM下所有初始化过的sata硬盘的头两个分区组的raid),找份完好的libc.so拷进去修复一下

读取数据区,另找硬盘备份数据,再干掉所有系统区并重装

不管怎么,反正是躲不开读取SHR/RAID卷

archlinux liveUSB

网上找到说用

mdadm -Asf && vgchange -ay

可以自动扫描 /dev/sdXX,并重组 md 和 vg,于是用手头的 archlinux 试了一下,没成功

ubuntu liveUSB

又因为网上的说明里用的都是ubuntu,于是又下了个ubuntu,结果顺利解决;

从4块硬盘接近二十个分区里,识别出了3个md(/dev/md/X),并重建了系统区和数据区的vg(/dev/vg/vgX)

(系统区1个md;数据区因为是2T3+1T1,所以组SHR的时候,vg有2个md,一个是1T4,另一个是1T3)

mount /dev/vg/vgX -o ro MOUNTPOINT后成功读取

archlinux下为什么不行?

还没去研究,目前正在备份数据,等备份完了准备把上面的命令拆开试一下,预计分成

mdadm -A --verbose --run /dev/md/X /dev/sdXX

mdadm -Sf /dev/md/X

pvscan

vgchange -ay /dev/vg1

lvdisplay vg1

这几步依次执行一遍

succeed on Ubuntu LiveUSB, Fail on Archlinux LiveUSB

with the cmd mdadm -Asf && vgchange -ay

I'll have a try under Archlinux with seperate CMDs after the data backed up.

mdadm -A --verbose --run /dev/md/X /dev/sdXX

mdadm -Sf /dev/md/X

pvscan

vgchange -ay /dev/vg1

lvdisplay vg1

The results may tell me why the integrated CMD failed.

Logo

更多推荐