在 ZYXEL NAS 540 上重建 RAID5

在 ZYXEL NAS 540 上重建 RAID5

我的 NAS 出现了一个奇怪的问题,它是一台 Zyxel 540,配备 4 个 2TB 硬盘,配置为 RAID 5。一切都运行顺利,直到我决定用一块新的 WD Red 硬盘(大小相同)替换一个硬盘。正如大家所料,NAS 会发现插入了新磁盘并开始重建 RAID,同时数据仍然安全……我已经执行过此操作并且成功了,所以……没问题!

在我的梦里...

在我更换驱动器后,NAS 说该卷无法访问。

我很慌张,所以我重新安装了旧驱动器......什么也没发生,问题仍然存在......但是可以在 NAS 管理器中访问数据,但不能通过 LAN 访问,如果不通过终端则无法复制。

我尝试(只是为了确保)使用 PhotoRec 对一个驱动器进行部分恢复。数据仍然存在,因此问题肯定出在标题或其他方面。

我尝试通过 ssh 执行一些命令来检查 RAID 的状态,例如:

mdadm --create etc
mdadm --examine /dev/md2

而且,发现驱动器顺序已经消失,因此我开始了所有组合,例如:

mdadm --create --assume-clean --level=5 --raid-devices=4 --metadata=1.2 --chunk=64K --layout=left-symmetric /dev/md2 /dev/sdd3 /dev/sdb3 /dev/sdC3 /dev/sdA3

我以为 NAS 可以用正确的组合再次工作,直到我提交了这个组合:C / A / D / B

现在我无法改变组合,我被这条消息困住了:

mdadm --stop /dev/md2它回应道:

mdadm: Cannot get exclusive access to /dev/md2:Perhaps a running process, mounted filesystem or active volume group?

我也尝试过cat /proc/mounts,卷未安装:(

lsof | grep /dev/md2,什么都没有出现

# e2fsck -n /dev/md2
e2fsck 1.42.12 (29-Aug-2014)
Warning!  /dev/md2 is in use.
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/md2

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

LVM 配置:

输出自pvs

PV       VG          Fmt  Attr PSize PFree 
/dev/md2 vg_ca74d470 lvm2 a--  5.45t 0

输出自vgs

VG          #PV #LV #SN Attr   VSize VFree
vg_ca74d470   1   2   0 wz--n- 5.45t    0 

输出自lvs

LV          VG            Attr       LSize   [snip]
lv_be37a89a  vg_ca74d470 -wi-a-----   5.45t
vg_info_area vg_ca74d470 -wi-a----- 100.00m

软件 RAID 配置:

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md2 : active raid5 sda3[1] sdd3[3] sdb3[2]
      5848150464 blocks super 1.2 level 5, 64k chunk, algorithm 2 [4/3] [_UUU]

md1 : active raid1 sdb2[4] sdd2[6] sdc2[5] sda2[7]
      1998784 blocks super 1.2 [4/4] [UUUU]

md0 : active raid1 sdb1[4] sdd1[6] sdc1[5] sda1[7]
      1997760 blocks super 1.2 [4/4] [UUUU]

unused devices: <none>

伙计们,我没选择了......我该怎么办?

答案1

因此您的设置如下:

  • 4 个硬盘分为 3 个分区
  • 3 个 RAID 阵列(2 个 RAID1、1 个 RAID5),使用所有 4 个磁盘的分区
  • 1 个 LVM lv 使用 md2(RAID5 阵列)作为 PV

在更换硬盘之前,您应该mdadm.conf从运行配置中生成:

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

从现有驱动器复制分区结构可能更简单:

sfdisk -d /dev/sda >> partitions

然后更换磁盘,并将以前的分区应用到新驱动器:

sfdisk /dev/sda << partitions

最后,您必须将新磁盘的每个分区重新插入 3 个 RAID 阵列中:

mdadm --manage /dev/md0 --add /dev/sda1
mdadm --manage /dev/md1 --add /dev/sda2
mdadm --manage /dev/md2 --add /dev/sda3

如果你需要停止或启动 LVM 锁定阵列,请使用

vgchange -an # stop all LVs
vgchange -ay # start all LVs

答案2

好消息!

我终于找回了我的数据!

我尝试使用列出的备份通过 e2fsck 恢复超级块索引,但都不起作用 :(

所以我决定回到旧计划并再次尝试逻辑开发人员组合。

我遵循的程序如下:1)使用 vgchange -an 停用卷 2)停止 md2 3)使用新组合创建阵列

当我到达 C / B / D / A 并重新启动时,NAS 终于将我的数据返回了。

我现在真的很高兴,感谢所有参与的人,我现在肯定会更频繁地看看这个地方。

祝你好运,一切顺利!

答案3

# vgs
  VG          #PV #LV #SN Attr   VSize VFree
  vg_ca74d470   1   2   0 wz--n- 5.45t    0 
~ # lvs
  LV           VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_be37a89a  vg_ca74d470 -wi-a-----   5.45t                                                    
  vg_info_area vg_ca74d470 -wi-a----- 100.00m                                                    
~ # cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] 
md2 : active raid5 sda3[1] sdd3[3] sdb3[2]
      5848150464 blocks super 1.2 level 5, 64k chunk, algorithm 2 [4/3] [_UUU]

md1 : active raid1 sdb2[4] sdd2[6] sdc2[5] sda2[7]
      1998784 blocks super 1.2 [4/4] [UUUU]

md0 : active raid1 sdb1[4] sdd1[6] sdc1[5] sda1[7]
      1997760 blocks super 1.2 [4/4] [UUUU]

unused devices: <none>

相关内容