当有人在有关备份的对话中提到 RAID 时,总会有人声明“RAID 不是备份”。
当然,对于条纹,这是真的。但是冗余和备份有什么区别呢?
这听起来像是一个奇怪的问题,但它引起了我与一些同事的热烈讨论。考虑一个由八个或十二个磁盘组成的中等大小的 RAID 阵列。在购买第一批磁盘,或购买替换磁盘以扩大阵列或更新硬件时,可以采用两种广泛的方法:
显然有一些中间立场,但这些是主要的对立心态。我一直很好奇哪种方法在降低阵列灾难性故障的风险方面更明智。(让我们定义为“25% 的磁盘在等于重新同步阵列一次所需的时间窗口内发生故障。”)逻辑是,如果所有磁盘来自同一个地方,它们可能都具有相同的潜在的缺陷等待打击。如果你愿意,同样的定时炸弹与时钟上的相同初始倒计时。
我为每种方法收集了一些更常见的优缺点,但其中一些感觉像是猜测和直觉,而不是基于确凿证据的数据。
如果我们仅按要点计数,“批量购买”显然会获胜。但是一些优点很弱,而一些缺点很强。许多要点只是简单地说明了其他一些要点的逻辑逆。其中一些事情可能是荒谬的迷信。但是,如果迷信在维护阵列完整性方面做得更好,我想我会愿意接受它。
哪一组在这里最明智?
更新:我有与此讨论相关的数据。我个人构建的最后一个阵列(大约四年前)有八个磁盘。我从一个供应商处订购,但将购买分成两个订单,每个订单四个磁盘,相隔大约一个月。阵列的一个磁盘在运行的最初几个小时内发生故障。它来自第一批,并且该订单的退货窗口在所有东西都旋转起来的时间内已经关闭。
四年后,七个原始磁盘加上一个替换磁盘仍然没有错误地运行。(敲木头。)
有没有办法在不重启硬件的情况下重启 Linux 系统(尤其是 Debian)?
我有一个 RAID 控制器,它需要一点时间才能在操作系统启动之前自行运行,如果有一种方法可以快速重新启动 Linux 操作系统,而不必经历重新启动 RAID 控制器的整个重新启动过程,我希望它,等等。
我已经阅读了很多关于 RAID 控制器/设置的文章,经常出现的一件事是没有缓存的硬件控制器如何提供与软件 RAID 相同的性能。真的是这样吗?
我一直认为硬件 RAID 卡即使没有缓存也能提供更好的性能。我的意思是,你有专门的硬件来执行任务。如果是这种情况,获得没有缓存的 RAID 卡(例如 LSI 9341-4i 之类的并不便宜)有什么好处。
此外,如果只有缓存才能提高性能,是否有缓存配置可以立即写入磁盘但将数据保留在缓存中以进行读取操作,从而使 BBU 不是优先事项?
我一直使用基于硬件的 RAID,因为它(恕我直言)处于正确的级别(请随意对此提出异议),并且因为操作系统故障对我来说比硬件问题更常见。因此,如果操作系统出现故障,RAID 就会消失,数据也会消失,而 - 在硬件级别上,无论操作系统如何 - 数据都会保留。
然而,在最近的 Stack Overflow 播客中,他们表示他们不会使用硬件 RAID,因为软件 RAID 开发得更好,因此运行得更好。
所以我的问题是,有什么理由选择一个而不是另一个吗?
网上有很多资源讨论在 RAID 配置中使用 SSD 驱动器——但是这些资源大多可以追溯到几年前,而且 SSD 生态系统发展非常迅速——正如我们期待英特尔在今年晚些时候发布“傲腾”产品一样这将改变一切......再次。
我将通过肯定消费级 SSD(例如 Intel 535)和数据中心级 SSD(例如 Intel DC S3700)之间存在质的差异来开始我的问题。
我的主要关注点与TRIMRAID 方案中的支持有关。据我了解,尽管 SSD 被引入消费级计算机已有 6 年多,而 NVMe 已商用 4 年——现代 RAID 控制器仍然不支持向TRIM连接的 SSD发出命令——英特尔的 RAID 控制器除外在 RAID-0 模式下。
我很惊讶TRIM在 RAID-1 模式中不提供支持,考虑到驱动器相互镜像的方式,这似乎很简单。但我离题了。
我注意到,如果您想要磁盘(HDD 和 SSD)的容错性,您可以在 RAID 配置中使用它们 - 但由于 SSD 没有 TRIM,这意味着它们会遭受写入放大,从而导致额外磨损,从而反过来会导致 SSD 过早失效——这是一个不幸的讽刺:一个旨在防止驱动器故障的系统可能最终会直接导致它。
所以:
TRIM现代(2015-2016 时代)SSD是否需要支持?
1.1. TRIMSATA、SATA-Express 和基于 NVMe 的 SSD对支持的需求有什么不同吗?
通常,驱动器被宣传为具有改进的内置垃圾收集功能;这是否排除了需要TRIM?他们的 GC 过程如何在 RAID 环境中工作?
1.1. 例如,请参阅 2010 年的此 QA,它描述了由于 not-TRIMming ( https://superuser.com/questions/188985/how-badly-do-ssds-degrade-without-trim )而导致的非常糟糕的性能下降- …
我想中断 debian 挤压软件raid 上正在运行的重新同步操作。(这是常规的计划比较重新同步。在这种情况下,raid 阵列仍然是干净的。不要将其与磁盘发生故障并被替换后的重建混淆。)
如何在运行时停止此计划的重新同步操作?另一个突袭阵列是“重新同步挂起”,因为它们都在同一天(周日晚上)一个接一个地接受检查。我想彻底停止这个周日晚上的重新同步。
[编辑:sudo kill -9 1010不停止,1010 是 md2_resync 进程的 PID]
我还想知道如何控制重新同步之间的间隔和直到下一次的剩余时间。
[Edit2:我现在所做的是使重新同步变得非常慢,所以它不再打扰:
sudo sysctl -w dev.raid.speed_limit_max=1000
Run Code Online (Sandbox Code Playgroud)
取自http://www.cyberciti.biz/tips/linux-raid-increase-resync-rebuild-speed.html
在夜间,我会将其设置回较高的值,以便重新同步可以终止。
这种解决方法适用于大多数情况,但知道我问的是否可行会很有趣。例如,似乎不可能增长数组,而它正在重新同步或重新同步“待定”]
我目前在软件 RAID 上安装了 LVM,但我想问你,你认为它是更好的解决方案,也许有一些优点和缺点?
编辑:这是关于lvm上的软件raid或软件raid上的lvm。如果我们考虑性能,我知道比硬件突袭更好。
除了一种类型的磁盘瓶颈之外,在 RAID 中混合 SSD 模型还有其他问题吗?
我的问题是,我需要使用 RAID10 中的 4x Samsung 845DC EVO 960GB 升级服务器中的存储。这些驱动器不再可用,因此我的选择是使用一些较新的类似 SSD 或完全更换阵列。