ubuntu 升级后 Raid0 消失了,如何恢复?

ubuntu 升级后 Raid0 消失了,如何恢复?

我可能需要很多帮助。将 ubuntu 从 16.04 ->18.04 ->20.04 升级后,我的 raid0 阵列消失了。我希望重新组装 raid 阵列。在此过程中,我可能犯了一个严重的错误(请参见下文)。

首先,我检查了硬盘和分区。sudo fdisk -l

...
...

Disk /dev/sdc: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: Samsung SSD 850 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sda: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: Samsung SSD 850 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start        End    Sectors Size Id Type
/dev/sda1           1 4294967295 4294967295   2T ee GPT


Disk /dev/sdd: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: Samsung SSD 850 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/sdb: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: Samsung SSD 850 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
...
...

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

NAME     SIZE FSTYPE            TYPE MOUNTPOINT
...
...
sda      1.9T linux_raid_member disk 
sdb      1.9T linux_raid_member disk 
sdc      1.9T linux_raid_member disk 
sdd      1.9T linux_raid_member disk 
...
...

阅读了一些博客文章后,我尝试使用此命令重新组装我的 raid0 阵列:sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd不幸的是,我可能在这里犯了一个严重的错误。

mdadm: chunk size defaults to 512K
mdadm: /dev/sda appears to be part of a raid array:
       level=raid0 devices=4 ctime=Sat Mar 26 11:25:34 2022
mdadm: partition table exists on /dev/sda but will be lost or
       meaningless after creating array
mdadm: /dev/sdb appears to be part of a raid array:
       level=raid0 devices=4 ctime=Sat Mar 26 11:25:34 2022
mdadm: /dev/sdc appears to be part of a raid array:
       level=raid0 devices=4 ctime=Sat Mar 26 11:25:34 2022
mdadm: /dev/sdd appears to be part of a raid array:
       level=raid0 devices=4 ctime=Sat Mar 26 11:25:34 2022
Continue creating array? 

这里我说的是“y”。

然后,我感觉到有些不对劲;因为尽管我看到md0lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT,但看起来它需要格式化。然后,我运行了mdadm --stop /dev/md0

(顺便说一句,我是在犯错后才收到上述所有消息的。因此,消息可能会略有不同。在的情况下fdisk -l,分区顺序可能会有所不同。在中mdadm --create,警告消息可能是“分区表存在于/dev/sda1`...”;但我不是100%确定。:( )

我真的很想恢复我的 raid0 阵列。有人可以指导我吗?

--------------------更新_001--------------------

  1. 原来服务器有双启动。不知何故,它不再工作了,而且 GRUB 没有显示任何 Windows 启动选项。这也许可以解释 中显示的 GPT 格式fdisk -l

  2. 可以在 BIOS 中设置 RAID。我们购买系统的公司指导我从 BIOS 重建 RAID。这可能是其中一个 RAID 硬盘中可能存在“windows”分区的原因。

  3. 不幸的是,它没有恢复数据。虽然我看到了 /dev/md127,但它似乎需要格式化。发生这种情况可能是因为我用 创建了一个新的 RAID mdadm --create,并且它在启动时自动重建 RAID,同时忽略了 BIOS 中的 RAID?

以下是我在 BIOS 中设置 RAID 之前执行的操作:

sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

#我也尝试过用 /dev/md127 代替 /dev/md0;但如果我的记忆没错,重启后 md0 会自动变成 md127。不过,也许我错了。

sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf update-initramfs

此外,还有/etc/mdadm/mdadm.conf文件,以防万一有用。

# mdadm.conf
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# auto-create devices with Debian standard permissions
CREATE owner=root group=disk mode=0660 auto=yes

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays
ARRAY metadata=imsm UUID=187206c9:7332f2e4:fffa5ab4:7e0e39b8
ARRAY /dev/md/RAID0 container=187206c9:7332f2e4:fffa5ab4:7e0e39b8 member=0 UUID=a3d9b7b2:6ebe6085:da76722e:c157c5da

# This file was auto-generated on Tue, 15 Nov 2016 20:06:03 -0500
# by mkconf $Id$
ARRAY /dev/md0 metadata=1.2 name=friedman-idisco:0 UUID=ab32f8a0:75049fe2:5a9fce77:246bdf00

公司的人想不通;但提到了 Intel RSTe 出版物,其中提到使用 MDRAID。有人看到恢复数据的可能性吗?禁用 mdadm 会恢复原始设置(我不知道该怎么做)?

答案1

以下是我所看到的:

您似乎不希望这些设备有分区,但有一个 (sda) 有。此分区的类型为0xee,似乎是Microsoft GPT protective MBR。这个分区来自哪里?这是 Windows 和 Ubuntu 的双启动设置吗?Windows 更新会造成这种情况吗?它是早期 Windows 安装的残留物吗?它可能不会触发 Ubuntu 16.04 和 18.04 内核,但却使 Ubuntu 20.04 内核措手不及?

使用 重新创建阵列mdadm --create不是一个好主意。它报告了appears to be part of a raid array所有四个设备,因此 mdadm 超级块仍然保留,并且从可见的内容来看似乎是正确的(全部显示level=raid0 devices=4 ctime=Sat Mar 26 11:25:34 2022)。您可能能够使用等恢复 RAID mdadm --examinemdadm --assemble

相反,您覆盖了旧的超级块,如果您现在看不到原始文件系统,则可能意味着新 RAID 很可能是以与旧 RIAD 不同的顺序创建的,或者使用了不同的块大小、不同的对齐方式或其他原因。如果您没有旧超级块的备份,并且不知道旧设置,您可以尝试不同的设置mdadm create,但我建议您开始寻找备份。

我还强烈建议从 mdadm RAID0 切换到 ZFS RAIDZ1 或 RAIDZ2。普通软件 RAID 在许多方面都严重过时了。

答案2

我在从 32 位 18.04 安装 22.04 时遇到了同样的问题,我通过阅读文档解决了该问题dmraid

尝试:

sudo dmraid -ay

事实上,您的磁盘在安装后将被停用,并应用-ay其反应性。

你可以使用以下常见命令重新挂载 RAID

sudo mount /dev/mapper/isw_hjcgfdcf_Volume2p1 /media/backup/

但正常情况下,系统应该自动安装它们。

希望它能帮助其他人

亲爱的鲨鱼贸易

相关内容