我如何读取这个raid信息输出?

我如何读取这个raid信息输出?

我目前正在远程 ubuntu 18.04 服务器上工作,我需要设置一个新的 raid 阵列 (raid1),然后将其作为可用分区安装到活动文件系统。对我来说,第一步是了解目前正在发生的事情。我知道活动系统中有 2 个硬盘驱动器连接在 raid 1 阵列中。我使用该lsblk命令来收集一些信息。输出如下:

NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
nvme0n1     259:0    0 894,3G  0 disk  
├─nvme0n1p1 259:1    0     4G  0 part  
│ └─md0       9:0    0     4G  0 raid1 [SWAP]
├─nvme0n1p2 259:2    0   512M  0 part  
│ └─md1       9:1    0 511,4M  0 raid1 /boot
└─nvme0n1p3 259:3    0 889,8G  0 part  
  └─md2       9:2    0 889,6G  0 raid1 /

那么这是否意味着我的物理设备就是所谓的设备nvme0n1?它被分为 3 个部分(交换区、引导区和 /)。如果它是同一个物理设备(nvme0n1),为什么分区(nvme0n1p1,nvme0n1p2,nvme0n1p3)还被分成md0,md1,md2nvme0n1p1和 和有什么区别md0

如果我cat /proc/mdstat进一步得到以下输出:

md2 : active raid1 nvme0n1p3[1]
      932840768 blocks super 1.2 [2/1] [_U]
      bitmap: 7/7 pages [28KB], 65536KB chunk

md1 : active raid1 nvme0n1p2[1]
      523712 blocks super 1.2 [2/1] [_U]
      
md0 : active raid1 nvme0n1p1[1]
      4190208 blocks super 1.2 [2/1] [_U]

这显示了 3 个活跃的 raidblock。我只有一个 raid 阵列正在运行。我无法解释输出...我需要一些帮助。

谢谢

答案1

如果这是完整的lsblk输出,那么恐怕它只显示一个物理存储设备,nvme0n1.

您的nvme0n1分区分为三个分区,每个分区都单独设置为软件 RAID1 镜像。这为您提供了三个软件 RAID 设备:md0md1md2。其中每一个都对应于一个软件 RAID 分区,而不是整个磁盘。

像这样为每个分区设置 RAID 使得 BIOS 可以将磁盘识别为分区磁盘,即使 BIOS 根本不支持 Linux 软件 RAID。这可以使启动和某些恢复场景更易于处理,并且可以在需要时轻松恢复到非 RAID 配置。

在正常的镜像状态下,md0将引用nvme0n1p1+的镜像集nvme1n1p1、+md1的集等。您可以使用、和设备挂载文件系统并激活交换:一旦这些设备打开使用,软件 RAID 子系统将锁定底层物理分区以进行独占访问,要求在 RAID 处于活动状态时对分区的所有访问都必须经过 RAID 层。nvme0n1p2nvme1n1p2md0md1md2

然而,每个软件 RAID 集都缺少 RAID1 对的后半部分。这可能意味着系统在两个相同的 NVMe 设备上使用软件 RAID 设置,但其中一个(可能nvme1n1)已经发生故障。或者系统可能是在单个 NVMe 磁盘上设置为 RAID1 集的一半,以便在获得第二个 NVMe 设备后可以轻松过渡到真正的 RAID1...但由于某种原因,这种情况从未发生过或其他。

您的首要任务可能应该是更换出现故障的 NVMe(或添加丢失的 NVMe),然后恢复现有的 RAID 对:

  • 将分区表从现有磁盘复制到新磁盘
  • 将新磁盘上的分区初始化为相应mdN设备的备用分区
  • 在每对上启动 RAID1 恢复
  • 将引导加载程序的第二个副本安装到第二个磁盘,因为 MBR 和部分 GRUB 位于镜像分区之外。
  • 设置对 RAID 设备的监控,以便其中一个物理设备的故障不会再次被忽视。

完成后,您可以考虑设置新 RAID 阵列的原始任务。为此,您将需要更多的物理存储,因为现有的物理存储似乎nvme0n1已完全使用(一旦当前的半反射镜完全恢复,其镜像同伴也会如此)。

答案2

是的,输出仅显示一个物理设备 (nvme0n1)。

是的,输出显示它有 3 个分区。

有趣的部分是来自的信息/proc/mdstat,它显示了3配置好的raid设备,所有这些都显示[_U]。在一个健康的系统中应该这样说[UU]。 3 个 raid 设备配置为 raid1(镜像),因此第二个驱动器的(假定)故障尚未导致您任何数据丢失。当然,第二个驱动器可能无法检测到,因为它已被删除。

对启动日志的研究可能会提示您是否有第二个驱动器。

nvme0n1p1 是一个分区。它在开始时会有一个 raid 标头。分区中的其余扇区用作 md0 设备的数据。如果连接了第二个驱动器(可能是传统spinning rust硬盘驱动器),则预计它至少有 3 个分区,其中一个(按照惯例,您将拥有第一个分区,因此 /dev/hda1)也将有一个 raid头,然后其余扇区将用于保存 /dev/md0 设备的数据的第二个副本。

相关内容