所以我一直在研究 Synology 和他们的想法混合 RAID使混合驱动器 RAID 阵列既具有容错能力又高效。
因此,我正在测试一个想法(这里不需要考虑性能),使用混合阵列
- 2x 2TB
- 1x 250GB
我在想,如果将它们分成最低面额的一半大小 - 那么将 RAID 与 LVM 结合起来可以有效地产生跨越 3 个磁盘(或更多)的冗余 FS。
| 250GB | | 2TB | | 2TB |
|---------------| |----------------| |----------------|
| 125GB | 125GB | | 1.87TB | 125GB | | 1.87TB | 125GB |
| sda1 | sda2 | | sdb1 | sdb2 | | sdc1 | sdc2 |
| | | | | |
| | | | | |
|-------|-----------|-------| | |
| 0 | | |
|----0------|--------------------|--------|
0 | 1 |
0 |-------1------------|
0 1 2
md0 md1 md2
md0 = 125GB + 125GB
md1 = 125GB + 125GB
md2 = 1875GB + 1875GB
= 2125GB Spanned RAID1 storage
那么,在 LVM 上创建一个由物理卷组成的卷组md0
,md1
然后md2
在其上创建逻辑卷。
从理论上讲 - 这是完全没问题的 - 而且我知道这会对性能产生影响(这不是一个问题)。
因此,下一步的发展是能够添加任意大小的磁盘 - 并让其自动进行数学运算。
但我遇到的一个小问题是如何继续分割主磁盘分区——在运行活动 VG 的磁盘上
即,如果您在上面的示例中添加了一个 500GB 的磁盘 - 则需要在其他任何磁盘上创建 2x 250GB 的分区(或 2x 125 和 2x 250 - 但不要陷入复杂情况),
这不像您可以fdisk
运行 LVM 卷组,采用 1875GB 的主分区,然后创建 1625GB 和 250GB 的分区,设置 RAID 阵列,然后将它们添加回现有卷组。
答案1
似乎没有真正的问题,但是这里有一些想法:
- 只有当你的时间不值钱时这才值得;否则,只需再买一个 2 TB 的硬盘,将它们组成 3 驱动器 RAID 5 组,然后就别再乱搞了。
- 如果可以在 Linux 下扩展软件 RAID 10 卷,那么这将解决您的问题,因为您只需添加驱动器,它就会解决问题。不幸的是,情况似乎并非如此(至少在我的系统上的 mdadm 和 md 版本上)。但如果您不关心扩展阵列,RAID 10 肯定比上面的设置更好。
- 最后,如果不进行大量手动数据移动,实际上没有任何方法可以添加您提到的 500 GB 驱动器。要实现这一点,您可以(但我不会):
- 在新驱动器上创建 2 x 125 和 1 x 250(假设它们是 sdd1-3)
- 将 sda1 移动到 sdd1:将 sdd1 添加到 md0;将副本数更改为 3;等待重新同步;从 md0 中删除 sda1;将副本数更改为 2
- 对 sda2 -> sdd2 (md1) 重复上述操作
- 删除 sda2,将 sda1 调整为 250 GB
- 从 sda1 和 sdd3 创建 md3
- 将 md3 添加到卷组
希望这是有意义的。
边注:
- 亲爱的 HP,AutoRAID 阵列是自切片面包以来最棒的东西。把它们带回来吧。
答案2
RAID-1 意味着您浪费了空间,而 md0 实际上只有 125G(md1 也是如此)。您运行的模式没有什么特别之处 — 您可以在 sda 和 sdb、sdc 的部分上使用 RAID-5(或者在其上使用 RAID-10,因为 Linux 软件 RAID 可以在奇数个磁盘上为您执行此操作);而 sdb、sdc 的其余部分实际上具有 RAID-1。