在同一组驱动器上混合使用RAID0和RAID1

我很快在我们的一台机器上安装了一对新的驱动器,这些驱动器作为VMWare主机盒(现在正在运行VMWare服务器)。 它们将被用作一对特定虚拟机的RAID0arrays,这些虚拟机在主动使用时会产生较高的I / O负载。 该机器托pipe许多用于testing目的的相当大的VM。

由于获得小于500G的驱动器的成本(成本方面)并不重要,所以得到的arrays的大小将达到1000G,因此我正在考虑使用大块磁盘作为RAID1arrays来存储VM备份和参考副本(释放现有RAID1arrays上的一些空间)。

会有什么伤害:

  1. 将驱动器分成5个分区
  2. 将一对分区设置为初始RAID0arrays
  3. 使用这个新的物理卷创build一个LVM组
  4. 将一对分区设置为初始RAID1arrays
  5. 使用这个新的物理卷创build一个LVM组
  6. 当任何一个卷组需要扩展时
    1. 在空闲分区对中创build一个新的R0 / R1arrays
    2. 扩展相关的LVM组以包含这个新的物理卷

我怀疑以上所有都会很好,但我想知道是否有任何我不知道的问题。 例如,将驱动器分成多个arrays会影响内核有效cachingI / O的能力吗?

我已经考虑过用所有的驱动器重新安装单个RAID10arrays的机器,但是只要这台机器离线,这是不可取的,它不允许I / O负载相同的分离有单独的数组呢。

我看到这样做没有问题。 只要RAID1 I / O负载仅在受控维护窗口期间有效,它就具有成本效益并解决了您遇到的问题。

但是,根据负载的types,一个大的RAID1可能会为您提供更简单,更高效的设置。

例如,将驱动器分成多个arrays会影响内核有效cachingI / O的能力吗?

由于caching在块级别运行,因此您将有效地销毁由于持续stream失而获得的任何caching命中。 我不推荐使用相同的驱动器分区来进行RAID,除非你只是在学习如何设置它(例如,用于实验和学习,而且是暂时的)。 你会后悔在生产机器上这样做。

我已经考虑,而不是重build与单个RAID10arrays的机器在所有的驱动器将最终与…

SF 10的其他地方讨论了RAID 10的优点。

…但是只要这台机器脱机就不会有select,它不会允许具有独立arrays的I / O负载相同的分离。

有时候,“没有痛苦,没有收获”。 坦率地说,这是你最好的select。 确保你的RAID安排是可启动的。 但在4驱动器(最低),你会得到体面的保护和体面的performance。 否则,如果你只有2或3个驱动器,只需要做RAID1(镜像)。 如果你有3驱动安排,看看使驱动器3热备份。

为什么?

Raid意在设置跨驱动,而不是跨分区。 采取一个单一的驱动器和分区,然后突击他们提供零利益。 如果驱动器,所有你的突袭“保护”。

即使在2个驱动器上进行RAID扫描(除非你只是将两个驱动器并行)浪费了时间和精力,没有任何实际的好处。

驱动器很便宜,所以如果你真的想/需要突袭,然后购买更多的驱动器,并袭击他们。

干杯,

-R