使用软件RAID1时我的交换分区应该在哪里?性能? LVM?

Modified on: Fri, 19 Jul 2019 16:20:03 +0800

当我搜索RAID1安装时,似乎管理员倾向于将他们的交换分区放在RAID1下。

对我来说,拥有两个磁盘更为直观,每个磁盘都有一个大的分区供RAID1和系统分区使用,并且在RAID阵列之外有一个较小的交换分区。

  1. 如果我在系统运行时丢失磁盘并实际占用了一半的交换空间,那么最糟糕的情况是什么?

  2. 在镜像交换卷与在RAID之外有两个单独的交换卷时,我是否应该看到性能增加或减少?

  3. 如果要镜像交换,给交换自己的RAID1阵列更有意义,还是用LVM分区一个大的RAID1阵列更有意义呢?

  4. 醇>

    (注意/ 4。我不确定mdX是否可以在没有LVM的情况下进行分区,但是debian安装程序让我相信它不能)

最佳答案

  1. 如果您使用的是RAID1,则不会丢失一半的交换,只会丢失两个镜像中的一个。这里最糟糕的情况是你将失去你可能获得的任何性能优势。如果在各个驱动器上有两个独立的交换区域,内核将以类似于RAID0的方式(如果它们具有相同的优先级集)或JBOD(如果优先级不同,使用最高优先级区域直到完全,然后是下一个)使用它们如果其中一个驱动器死机,则只要需要访问交换区域,您的系统就可能会崩溃。这就是为什么交换空间通常存在于RAID1卷上的原因 - 它更安全,而且通常比性能更重要。

  2. 将使用两个独立的交换区域,类似于RAID0,因此您可能会看到性能普遍提高,但这取决于当时驱动器所处的其他负载。使用现代内核,RAID1驱动程序可以尝试猜测哪个驱动器最适合读取每个块,这样您可能会获得一点读取性能提升,但显然写入交换时不会因为两个镜像都必须更新。在大多数现代设置中,交换的性能并不像它的安全性那么重要 - RAM现在相对便宜,所以除非你要克服主板可以承受多少RAM的限制,否则你应该有足够的RAM以便交换空间是反正尽量少用。

  3. 如果您使用同一对磁盘,那将没什么区别。交换单独阵列的一个常见原因是在主阵列上使用RAID5 / 6时(在您的情况下不是这样),以避免和分页到RAID5 / 6写入性能问题所触发的交换区域。您可以通过尝试确保交换区域靠近磁盘最繁忙的部分来调整性能(因此,如果您有一个1Tb阵列,其中250Gb逻辑卷用于最繁忙的活动数据库文件,请将您的交换卷放在旁边这是为了减少交换时的头部运动 - 但实际上这样的调整并不是很好的花费时间,因为当你重新交换时,% - 或 - 2的好处将不足以在执行OK和不执行之间产生差异。

  4. 我认为就内核而言,可以分区软件RAID卷,但这并不意味着安装人员理解这样的安排。在不使用LVM的示例中,我总是看到驱动器分为多个分区,每个分区都有一个单独的RAID阵列,而不是一个分区的大型RAID卷。我推荐使用LVM方法,除非你有特别的理由避免使用它,因为它更灵活,并且(根据我的经验)并不比其他安排更可靠。

  5. 醇>

相关问答

添加新评论