我有一个盒子,里面有一个小的RAID-1阵列用于交换空间。我之所以这样做,是因为我在系统中为每个其他分区设置了镜像。
今天我读到了这个问题,它让我想知道:“将交换空间放在RAID-1上是否理想/可取?”
今天我读到了这个问题,它让我想知道:“将交换空间放在RAID-1上是否理想/可取?”
在RAID 1上放置交换分区有时并不是很重要,但通常是有帮助的,而且经常是必要的。如果你已经在使用RAID 1,很少有理由故意将交换分区放在其他位置。
预计在RAID 1上放置交换分区的性能会比单独放置在RAID之外的交换分区要好,但不如设置了相同优先级的两个交换分区。
写入RAID 1有时比写入单个磁盘慢,因为所有数据都必须同时写入两个磁盘。通常情况下,并不真正慢,减速的影响可以忽略不计。如果你在同一个IDE控制器上有两个磁盘的RAID 1,它会慢一些。但是当访问一个磁盘不会减慢对另一个磁盘的访问时,写入RAID 1的速度不会显著变慢。
从RAID 1读取数据几乎总是比从单个磁盘读取更快,因为当一个磁盘正在读取时,可以从另一个磁盘读取更多数据。从由两个驱动器组成的RAID 1中读取数据通常比从单个驱动器中读取数据快几乎两倍。
我不知道有任何测试可以比较在RAID 1(或任何其他RAID)上的两个独立交换分区和一个单独的交换分区。没有理由认为一个单独的交换分区会表现得和或更好于RAID 1上的交换分区。如果你有两个分别位于不同磁盘上的交换分区,情况就更加复杂了。高级安装部分在Ubuntu Server文档中描述了在软件RAID 1阵列上的安装。从我所看到的,他们也在RAID上创建了一个交换分区,所以这几乎是一个“推荐”的布局。
然而,从纯理论角度来看,使用RAID 1作为交换分区可能相对于“正常”分区提供的好处较少 - 交换分区上的数据更或多或少是易失性的,因此在磁盘故障的情况下,您不太可能丢失大量数据,尽管如果交换分区突然失败,可能会导致进程崩溃或系统重新启动。
从性能角度来看,使用RAID-0或两个单独的非RAID分区可能(或可能不)更有意义,如果您关心性能,您可能需要进行一些基准测试。
此外,所有这些只有在您的系统严重受限于RAM并且交换被大量使用的情况下才会影响性能。增加更多的RAM并完全删除交换将是一种终极解决方案,无论是从性能还是可靠性的角度来看 :)