Я только что добавил в свой массив запасной диск:
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). Единственная разница заключалась в том, что на другой машине массив состоял из дисков WDC WD2002FYPS-02W3, к которым был добавлен один. В этом массиве массив состоял из дисков ST32000542AS, к которым был добавлен WDC WD2002FYPS-02W3.
Это предупреждение о типе интерфейса, но все они SATA, поэтому я не понимаю.
Может ли это иметь какое-то отношение к тому факту, что WDC WD2002FYPS-02W3 - это диск с размером сектора 4k, а ST32000542AS - нет?
Возникает дополнительный вопрос: как 9650 SE согласовывает данные? Он совместим с 4к? Или, может быть, он выровнен только по 4k, когда он обнаруживает диски с 4k секторами (в этом случае добавление диска 4k в качестве запасного представит проблему).
Предупреждение о типах интерфейсов для вашего оборудования можно игнорировать, поскольку 9650SE является контроллером только для SATA. Однако ту же утилиту tw_cli можно использовать для управления новыми картами, такими как 9690SA, которые поддерживают диски SATA и SAS, но смешивание SATA и SAS в одном массиве не допускается.
WDC WD2002FYPS, похоже, не использует 4k секторов - по крайней мере, лист спецификации нигде не упоминается «Расширенный формат», поэтому с ним не должно быть никаких проблем с выравниванием. Этот накопитель даже включен в официальный список совместимости с 9650SE (хотя КБ 15573 говорит, что ограничение скорости до 1,5 Гбит / с необходимо только для 9690SA, в фактическом списке совместимости для 9650SE указано: «Совместимо, только если скорость соединения установлена на 1,5 Гбит / с; см. KB 15573 ”).
Контроллеры серии 3ware 9xxx размещают DCB (данные конфигурации массива) в конце каждого диска, и пользовательские данные записываются, начиная с LBA 0 (например, см. этот и этот сообщения), поэтому не должно быть проблем с выравниванием от самого контроллера.
Но есть проблема с выравниванием, которая присутствует даже с дисками с 512-байтовым сектором (проверено на 9690SA, не уверен, есть ли у 9650SE такая же проблема). Когда вы создаете несколько томов из одного массива либо с авторезанием (/cx set autocarve=on
, или эквивалентный вариант в BIOS) или с параметром «Boot Volume» в BIOS, указанный размер тома будет уменьшен на 1 (512-байтовый) сектор, и все тома, кроме первого, не будут выровнены по отношению к нижележащим полосам RAID. . Это можно наблюдать в tw_cli /cx show diag
output - журнал контроллера включает номера начальных секторов для томов в шестнадцатеричной форме, которые обычно должны заканчиваться на 00000 (1 ГиБ - это 0x200000 секторов), но в плохом случае они заканчиваются на FFFFF, FFFFE,…, поэтому вы увидите что-то вроде:
LUN 0x0 Start LBA 0x0 Size 0xf9ffffff
LUN 0x1 Start LBA 0xf9ffffff Size 0xd7a80001
или (с загрузочным объемом 40 ГиБ и авторезкой 2048 ГиБ - обратите внимание на накопление сдвига выравнивания):
LUN 0x0 Start LBA 0x0 Size 0x4ffffff
LUN 0x1 Start LBA 0x4ffffff Size 0xffffffff
LUN 0x2 Start LBA 0x104fffffe Size 0x583e0002
(Что ж, в этом случае ограничение размера autocarve 0xffffffff является разумным, но не может быть оправданием для нарушения выравнивания следующего тома - либо следует пропустить лишний сектор, либо максимально разрешенный размер autocarve должен быть установлен на 2047 ГиБ.)
Единственный вариант, который работает правильно, - это tw_cli /cx add ... vol=a:b:c:d
(с явным указанием размеров всех необходимых томов, кроме последнего). Он дает правильно выровненные стартовые сектора - например, для vol=2000
:
LUN 0x0 Start LBA 0x0 Size 0xfa000000
LUN 0x1 Start LBA 0xfa000000 Size 0xd7a80000