非标准RAID与标准RAID以及如何select?

当购买RAID解决scheme时,我注意到有很多公司销售带有非标准专有RAID控制器卡的解决scheme。 这对我来说意味着,如果我使用镜像RAID 1,并且我有一个全面的灾难(卡片死亡,无论什么原因我无法取代它),我不能只采取镜像集合中的一个驱动器,将它连接到任何一台计算机,并能够从中检索所有的数据。 如果这是一个标准的RAID实现,那么我可以做到这一点。

我的问题是具有专有RAID实施的优点是什么? find标准RAID卡是不是总是更好? 同样,在购物时,你会发现什么样的RAID实现,因为它不像他们在盒子上清楚地标记这些信息。

任何想法家伙?

编辑:OOPS ..错别字…我的意思是RAID 1不RAID 0 ….

当你有一个RAID设备,即使是一个简单的镜像的,也需要一些关于数组存储的元数据。 至less需要一种方法来确定arrays中涉及的设备列表,而在更复杂的设置中,可能会有关于条带大小和其他可调参数的信息。

那么你在哪里存储元数据? 有两个select。 第一种可能性是将磁盘configuration存储在与卡相关联的存储器中,可能是使用BIOSconfiguration或卡本身的非易失性存储。 另一种是将其存储在磁盘上,通常在开始或结束时。 开始的时候更加健壮,因为即使在磁盘大小不一样的情况下(通常是受支持的选项(数组只是最小的大小)),您仍然可以轻松地find它。 这可以让你在遇到磁盘故障时使用dd等工具将磁盘到磁盘克隆到更大的设备上,或者想要使用其他技巧来升级arrays; 如果你知道你在做什么,那就更加灵活了。 为了防止操作系统覆盖这个元数据,通常卡会重新映射驱动器,以便第一个柱面(或最后一个)保留给卡使用,而不是显示给BIOS。

将元数据存储在磁盘上的优点是,如果停电时间足以使卡关联的电池耗尽,则不会丢失任何configuration信息。 这也意味着您可以将磁盘放入另一个系统,只要您拥有相同的控制器,就可以随时了解如何configurationarrays。 这些对于一些应用程序来说是重要的要求,特别是当你进入更复杂的条带化configuration时,如果你丢失了这些信息,那么你很难猜测正确的命令来重新组合。

将configuration存储在磁盘上的缺点是,显而易见的地方,一开始就是操作系统有分区表,引导logging和其他重要的东西。 因此,如果您将带有RAID元数据的磁盘存储在那里,并将其放到另一个没有该控制器的系统中,您将无法读取它,除非有些毛毛细节的技巧跳过元数据。

既然使用情况,内存和磁盘元数据,都有他们的权衡,你不能用任何一种方法来满足每个人。 你认为这个或那个是“标准RAID”并不是真的准确,RAID元数据没有强大的标准。 我唯一知道的是SNIA RAID磁盘数据格式(DDF) ,我没有看到在商用RAID供应商中有足够的吸引力,但除了参考标准之外,还没有真正被认为是什么东西。 这将元数据置于磁盘的物理端,只处理增加的复杂性,所以SNIA DDF兼容的RAID1应该可以独立工作。 并不是所有的供应商都是如此的有能力,有的正在使用古老的devise,没有考虑到这个问题,现在没有人愿意重新devise。 现在你知道正确的问题了:“设备元数据存储在哪里?”,如果它在磁盘上,“磁盘的哪一部分是物理存储的?”。

我更喜欢标准选项,因为你指定的原因。 如果事情(在这种情况下RAID控制器)死亡如何恢复我的数据,如果该卡不可用,或需要几个星期才能find我。

所有的硬件RAID卡都是以某种方式专有的。 如果你决定交换RAID控制器(不同的品牌),你通常不会有一个愉快的经验,试图让arrays再次工作。 一般来说,如果没有RAID卡(这将取决于控制器和显示arrays的types),您也将无法将驱动器插入机器并从中取出数据。

我必须问,为什么你会有一台生产的机器,你没有备件?

有软件解决scheme可以恢复驱动器上的数据,如果您知道磁盘上的块和条带大小,那么在最坏的情况下,您可以让它做到这一点,它会复制所有的数据为你。

你有一个非常有道理的理由,所以如果你最终得到这样一个场外卡,试着购买一个额外的,以防万一 – 然后你可以交换它,如果需要的话。

也就是说,如果你只是使用RAID 1(镜像), 而没有条带,如果控制器死亡,你可以直接插入到一个非RAID接口,他们应该开箱即用。

更新:刚刚看到您的编辑从RAID10更改为RAID1,如果是这种情况,从RAID控制器上拔下磁盘并将其直接插回主板应该在这种情况下工作得很好。

没有简单的答案,因为它将取决于标准配备的控制器。 有些标准卡比一些非标准卡更难取代。 无论哪种方式,最重要的是确保控制器质量好,随时可用。

读取数据(假设使用RAID1arrays)的可能性取决于RAID控制器放置元数据的位置。 例如,几年前的3Ware控制器曾经把它放在磁盘的开头,所以当你把磁盘挂在主板控制器上时,你什么都看不到。 但是,在Linux内核中使用一些技巧和使用loopback驱动程序(指定块偏移量),它可以像正常的磁盘和分区一样读取。

如果你想坚持硬件RAID,那么你的研究关于这个问题。 更简单但更昂贵的解决scheme是购买2张相同types的卡片,所以当南下的时候,你的抽屉里有一堆书。

如果您正在寻找基于主机的RAID,那么仍有相当less的服装仍在生产RAID控制卡。 在给定的制造商中,RAID元数据的格式往往不会改变。 在某些情况下,这甚至适用于由同一制造商销售的SAN和基于主机的RAID解决scheme。 几个例子是:

  • Mylex用于制作使用相同RAID元数据的SAN控制器(DAC-FFX)和基于主机的F / C RAID控制器(ExtremeRAID 3000)。 您可以从基于DAC-FFX的SAN中获取磁盘,并将它们放在ExtremeRAID 3000上,并期望它可以正常工作。

  • HP SmartArray和MSA1000 / 1500(FC-SCSI)SAN系统使用相同的格式,可以以相同的方式交换数组。

不过,我从来没有find一个可以从制造商获得关于RAID元数据格式的文档的例子。

你可能得到的最好的结果是让制造商告诉你哪些卡支持兼容的RAID元数据格式,并获得一些eBay的二手作为备份来读取arrays,如果你的主卡去了。

这可能是您最好坚持“有信誉的”制造商或让供应商在RFP提交中指定灾难恢复策略的一个领域。