我可能需要很多帮助。将 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”。
然后,我感觉到有些不对劲;因为尽管我看到md0
了lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
,但看起来它需要格式化。然后,我运行了mdadm --stop /dev/md0
。
(顺便说一句,我是在犯错后才收到上述所有消息的。因此,消息可能会略有不同。在的情况下fdisk -l
,分区顺序可能会有所不同。在中mdadm --create
,警告消息可能是“分区表存在于/dev/sda1`...”;但我不是100%确定。:( )
我真的很想恢复我的 raid0 阵列。有人可以指导我吗?
--------------------更新_001--------------------
原来服务器有双启动。不知何故,它不再工作了,而且 GRUB 没有显示任何 Windows 启动选项。这也许可以解释 中显示的 GPT 格式
fdisk -l
。可以在 BIOS 中设置 RAID。我们购买系统的公司指导我从 BIOS 重建 RAID。这可能是其中一个 RAID 硬盘中可能存在“windows”分区的原因。
不幸的是,它没有恢复数据。虽然我看到了 /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 --examine
。mdadm --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/
但正常情况下,系统应该自动安装它们。
希望它能帮助其他人
亲爱的鲨鱼贸易