RAID硬盘configuration

我正在build立一个租用线路连接的Linuxstream量整形路由盒。 这个盒子必须是可靠的,所以我打算在RAID 1configuration上安装操作系统和数据文件。 我的问题是双重的:

  1. 我打算使用Linux软件突袭。 我听说硬件RAID确实只会给你提供任何显着的好处,一旦你为高质量的RAID卡 – 至less有一个电池备份。 我不太在意速度 – 我根本不会使用这些磁盘,但是我担心在发生事故时的数据恢复。 正在为一个价值不菲的硬件RAID卡爆出? 如果是这样,任何人都可以推荐一张卡使用?

  2. 在同一时间购买硬盘的时间之前,我一直处于这样的状况,即同一时间内几乎同时发生故障 – 即在一周之内。 为了避免这种情况,我想使用来自不同制造商的磁盘填充我的RAIDarrays。 只要磁盘大小,速度和caching大小相同,任何人都可以看到这个问题?

干杯,

1)Linux软件RAID现在已经非常成熟了,每次从一台机器上卸下驱动器并放置在另一台机器上都是可行的。 使用硬件解决scheme,您需要获得一张备用卡,因为该特定芯片的RAID方式可能与其他芯片不一样,并且您可能丢失了数据。 使用现代CPU,软件RAID可以安全使用,而且速度也很快 – 除非您有高端RAID卡的预算,否则我相信它不仅仅是硬件解决scheme。 这些的好处是,他们有电池备份单位,在停电的情况下存储数据。 通常情况下,你不会受到停电的影响 – 驱动器本身也会caching,所以你将会丢失一些数据,只是做Linux软件RAID。 或ZFS – 这是非常好的,非常安全,有用的function,但一个不同的范例。

2)没关系。 只要它们相差在1%左右,就可以得到一个最小驱动器大小的RAID组。 我也这么做 – 我倾向于坚持使用同一个制造商,但是获得不同的构build集合。

请记住,RAID也不是备份。

硬件RAID有两个优点,可能或者不值得:

  • 设置软件RAID时必须小心,以确保系统从两个驱动器启动,并且在主驱动器发生故障时以相同的方式工作。 在开始时忘记在第二个驱动器上放置一个工作的MBR是很容易的,如果你不小心,非RAID引导分区可能会在两个驱动器之间不同步。 硬件RAID卡要容易得多,所以如果出现故障,系统将始终工作。
  • 当驱动器出现故障时,如果他们在扔垃圾,他们可以使整个系统在这个过程中变得疯狂。 您的主板可能没有经过testing,在这种情况下如何行事。 硬件RAID控制器往往采取更明智的做法来隔离坏的驱动器,忽略它正在做的事情。 不止一次,我在Linux软件RAID设置中遇到了一个失败的驱动器,把整个系统取出,直到它被删除 – 没有数据丢失,但服务器不得不停下来,直到我能弄清楚哪个是坏的一。 提示:在设置完arrays之后,总是记下所有的驱动器序列号,这样可以更容易地找出停止工作时丢失了哪一个序列号。
  • 更换硬件RAID系统上的故障驱动器通常足以启动重build,而您必须自己将新驱动器添加到Linux软件RAID中。 一般来说,硬件RAID越容易,学习曲线就越容易。 有人可能会认为软件RAID解决scheme由于其复杂性而更加强大,有时候人们只是想replace坏的硬盘而继续前进。
  • 如果您有一个调用fsync的应用程序将数据强制传输到驱动器,那么可以通过使用其caching的硬件RAID卡来加速该数据,这样您就无法安全地进行其他操作。 写入交给电池支持的caching,应用程序继续运行,即使电源丢失,写入仍然安全(在电池持续的时间范围内)。 通常数据库是这样做的主要应用程序,也可能发生邮件或logging数据。 能够像这样caching写入可以显着加快性能,通过停止等待fsync和重新sorting写入,以便减less对物理磁盘的查找。 但是,如果你没有一个需要的应用程序,这种事情是没有价值的。 操作系统会caching写入,并以一种减less写入的方式将它们caching起来,如果不强制这些写入,大多数应用程序不会依赖于所有情况下写入磁盘的写入操作 – 只会丢失最后一个点数据并继续前进。

硬件RAID的主要缺点是超出成本的是,如果从服务器中取出驱动器不会给你一个可以在另一个没有相同RAID卡的服务器上使用的情况。 在这里的另一个答案有关于这个问题的充分讨论。

对于供应商来说,3ware的RAID卡具有最好的Linux支持,只要确保他们提供的tw_cli程序与您的系统兼容即可。 我从来没有在主stream的Linux版本/硬件上有问题,但这是要检查的东西。 来自Areca的卡片有点快,但是他们的pipe理软件很糟糕,你需要在pipe理接口通过networking连接提供之前获得其中一个模型。

不同大小的磁盘在硬件或软件RAID中都不会有问题,只要您小心使用最小的驱动器的大小。 您可能需要在大小上缩小一点,这样可以提高replace相似大小的可能性。

这里的所有答案都很不错。 有一点你可能要考虑,特别是如果你有UPS电源的话,就是使用最低限度的安装,把整个系统加载到RAM中。

在这种情况下,硬盘基本上只是一个保存configuration数据的地方。 看看Puppy Linux 。 一个朋友几年前为一个项目做了这个,实际上保存了一个运行了大约一年的硬盘故障的系统!

免责声明:我链接我的答案类似的问题:-)

这个线程可以相关:什么时候RAID值得麻烦?

另一个:使用戴尔PERC 6或软件RAID的硬件RAID?

对于#2,尽pipeLinux RAID会自动降低到您的磁盘组的最小大小,但是您可能希望使您的RAID分区比您购买更小一些的replace磁盘时要小几GB。

您可以使用磁盘上的额外空间作为交换。 (如果您希望机器在发生磁盘故障的情况下不发生故障,请进行RAID交换!)