我刚刚添加了一个备用磁盘到我的arrays:
Unit UnitType Status %RCmpl %V/I/M Stripe Size(GB) Cache AVrfy ------------------------------------------------------------------------------ u0 RAID-6 OK - - 256K 5587.9 RiW ON u1 SPARE OK - - - 1863.01 - OFF VPort Status Unit Size Type Phy Encl-Slot Model ------------------------------------------------------------------------------ p0 OK u0 1.82 TB SATA 0 - ST32000542AS p1 OK u0 1.82 TB SATA 1 - ST32000542AS p2 OK u0 1.82 TB SATA 2 - ST32000542AS p3 OK u0 1.82 TB SATA 3 - ST32000542AS p4 OK u0 1.82 TB SATA 4 - ST32000542AS p5 OK u1 1.82 TB SATA 5 - WDC WD2002FYPS-02W3
当我做了,tw_cli说:
Creating new unit on controller /c0 ... Done. The new unit is /c0/u1. WARNING: This Spare unit may replace failed drive of same interface type only.
这个警告是什么意思?
最近,我添加了一个备份到另一个几乎相同的机器(与9650SE以及)没有问题。 唯一的区别是在另一台机器上,arrays是由WDC WD2002FYPS-02W3磁盘组成的,其中添加了一个磁盘。 在此arrays中,arrays由添加了WDC WD2002FYPS-02W3的ST32000542AS磁盘组成。
这是关于接口types的警告,但都是SATA,所以我不明白。
这可能与WDC WD2002FYPS-02W3是一个4k扇区驱动器和ST32000542AS不是这个事实有关吗?
这引出了一个问题:9650 SE如何alignment数据? 它是否与4k兼容? 或者,也许它只有4kalignment,当它检测到4k扇区磁盘(在这种情况下,添加一个4k驱动器作为备用会出现问题)。
有关接口types的警告可以忽略您的硬件,因为9650SE是一个SATA只有控制器。 但是,同样的tw_cli实用程序可以用来pipe理像9690SA这样支持SATA和SAS驱动器的新型卡,但是不允许在同一arrays中混合使用SATA和SAS。
WDC WD2002FYPS似乎没有使用4K扇区 – 至less在规格表中没有提到“高级格式”的地方,所以不应该有任何alignment问题。 这个驱动器甚至包括在9650SE的官方兼容性列表中(尽pipeKB 15573说只有9690SA需要限制速度到1.5Gbps,9650SE的实际兼容性列表是“只有链路速度设置为1.5Gb / sec ;见KB 15573“)。
3ware 9xxx系列控制器在每个驱动器的末尾放置DCB(arraysconfiguration数据),并且用户数据从LBA 0开始写入(例如,参见本文和本文 ),所以不应该存在来自控制器本身的任何对准问题。
但是,即使512字节扇区的磁盘也存在alignment问题(在9690SA上testing,不确定9650SE是否具有相同的问题)。 当您使用自动备份( /cx set autocarve=on或BIOS中的等效选项)或使用BIOS中的“Boot Volume”选项从单个arrays创build多个卷时,指定的卷大小将减less1(512-字节)扇区,除第一个以外的所有卷将相对于底层RAID条带未alignment。 这可以在tw_cli /cx show diag输出中观察到 – 控制器日志包括hexforms的卷的起始扇区号,通常以00000结尾(1 GiB为0x200000个扇区),但在不好的情况下,它们以FFFFF结尾, FFFFE,…,所以你会看到像这样的东西:
LUN 0x0 Start LBA 0x0 Size 0xf9ffffff LUN 0x1 Start LBA 0xf9ffffff Size 0xd7a80001
或(使用40 GiB启动音量和2048 GiB自动加油 – 注意alignment移位累积):
LUN 0x0 Start LBA 0x0 Size 0x4ffffff LUN 0x1 Start LBA 0x4ffffff Size 0xffffffff LUN 0x2 Start LBA 0x104fffffe Size 0x583e0002
(嗯,在这种情况下,0xffffffff autocarve的大小限制是合理的,但不能成为打破以下卷的alignment的借口 – 要么超出的部分应该跳过,或者允许的最大autocarve大小应该设置为2047 GiB。)
唯一正常工作的选项是tw_cli /cx add ... vol=a:b:c:d (显式指定除最后一个以外的所有所需卷的大小)。 它给出了适当alignment的开始部分 – 例如,对于vol=2000 :
LUN 0x0 Start LBA 0x0 Size 0xfa000000 LUN 0x1 Start LBA 0xfa000000 Size 0xd7a80000