我想使用 LVM 设置 RAID5,具有不同的磁盘大小:
2 x 2TB
3 x 1TB
我的第一个问题是,对于我的实际配置来说,最佳/安全的设置是什么:
- 将 2TB 分区为 1TB/分区
- 7 个 PV,每个 1TB,放入一个 VG
- 1 个 LV 使用 RAID5 :
lvcreate --stripes 6 --type raid5 --size 100%VG --name lv-name vg-name
=> 结果大小为6TB
- 将 1TB 重新组合成 2TB(留下 1 个磁盘),但我不知道如何做到这一点...以及是否有可能???
- 也许...合并 1 个 4TB 的 VG(2 x 2TB:vg-name)和 1 个 2TB 的 VG(2 x 1TB:new-vg):
vgmerge -v vg-name new-vg
- 然后是 1 LV RAID5 : => 结果应该是5TB
lvcreate --stripes 2 --type raid5 --size 100%VG --name lv-name vg-name
的大小
- 也许...合并 1 个 4TB 的 VG(2 x 2TB:vg-name)和 1 个 2TB 的 VG(2 x 1TB:new-vg):
实际上,为了进行测试,我设置了第一个解决方案,其中包含 7 个 PV,第一次同步需要很长时间,已经过去了将近 24 小时,而且只有 39.45%。
所以我想知道为什么,我想获得一些关于我的配置的输出/统计/报告,以便更好地理解它。所以我的第二个问题是,如何获得一些关于统计数据的信息(速度 I/O、同步状态、健康状况等...)?
我知道:
lvs -a -o name,copy_percent,health_status,devices vg-name
- 一些有用的链接,例如有关 LVM 报告的 Red Hat Doc
lvm fullreport
(但输出不可读...我的意思是它显示得根本不好),Red Hat Doc 正在讨论它,但没有示例,也没有提示来自定义输出...
感谢您的时间。
如果您要使用 LVM 执行此操作,则无需使所有 PV 的大小相同。在 LVM RAID 中,擦除编码是针对每个逻辑卷单独进行的,而不是针对物理卷进行的。
特别是,不要将 2 TB 驱动器分区为 1 TB。您使用 7 个 PV 的“解决方案”甚至是错误的,因为它根本不是冗余的:丢失任何 2 TB 驱动器都会导致阵列丢失。此外,每个 2 TB 驱动器在每个条带中都会在不相交的区域中写入两次 - 这意味着额外的搜索。是的,这一定会严重损害性能!
选择两个或三个驱动器,在其上创建一个小型 ESP 或引导分区,并将其他所有内容划分为一个覆盖剩余空间的大分区。然后,在分配逻辑卷时,您可以随意划分空间:您可以将一些 LV 安排为像 RAID1 一样运行,一些像 RAID6 一样运行,一些根本没有冗余,全部分布在同一个 7 TB 原始空间的 VG 上。通过这种方式,您可以可靠使用的最大空间可能是 5 个驱动器上的 3 TB RAID6 + 两个驱动器上的 1 TB RAID1 = 4 TB。
仅使用 RAID1,您最终可能会拥有高达 3.5 TB 的空间,并且性能通常比 RAID6 好得多 - 所以在您的情况下我会选择这条路径;500 GB 的差异不值得为 RAID6 而苦苦挣扎。
另外,我提醒您不要在大硬盘上使用 RAID5。