基于 LVM 的 Linux RAID

基于 LVM 的 Linux RAID

我在 RAID 上配置了 LVM,但我想知道如何在 LVM 上执行 RAID。

场景如下:

我有一个带有 4 X 3TB 驱动器的 RAID 6 阵列。1 个驱动器发生故障,badblocks 报告有 73 个坏块(集中在约 400 个块范围内)。

我想在坏块所在的位置之前和之后创建一个分区,并创建一个逻辑卷以尝试将其添加到阵列中。

我的问题是:1)这可能吗?2)我需要创建一个完整的逻辑卷,还是可以将其设为卷组并使用它?3)如何处理扩展?保留默认值,还是使扩展等于整个组合磁盘大小?

此外,对于存档来说,这几乎是 WORM 类型的情况,因此最佳性能并不是很重要(但会很好)。

而且,因为我知道我会收到“只有当你想丢失数据时”的答复,所以数据每晚都会在异地备份。

答案1

首先要提醒大家的是,几个坏块可能预示着驱动器出现故障。我不会花精力去修复它,因为驱动器可能会在不同的块上再次出现故障。

是的,如果你确实想这样做,这是可能的,但我会用不同的方法。你不需要使用 LVM 来完成这项任务;使用 raid 线性模式(请参阅https://raid.wiki.kernel.org/index.php/RAID_setup#Linear_mode

在故障驱动器上创建不包含坏区域的磁盘分区,然后使用以下命令创建 raid 来组合它们:

mdadm --create /dev/mdx --level=linear --raid-devices=2 /dev/sdy1 /dev/sdy2

接下来,您可以将 mdx 作为组件添加到现有 raid 阵列中。由于 mdx 设备比原始磁盘略小,因此您可能需要稍微缩小阵列的大小。

相关内容