25 апреля 2010 г.

Основные характеристики дисков (часть 2)

Необходимо всегда понимать, в каком из контекстов используется значение емкости:
  • значение емкости полученное, так называемыми, десятичным (decimal) или двоичным (binary) способами.
  • номинальное значение емкости до форматирования и доступное для использования (usable) значение емкости после форматирования
Ни для кого не открою секрета утверждением, что байт состоит из 8 бит, а килобайт из 1024 байт. Однако производители жестких дисков традиционно так не считают. Для “удобства потребителя” маркетинг предложил использовать альтернативный десятичный способ, позволяющий в полной мере оценить эстетику больших круглых чисел. К сожалению, такая забота, по сути, завышает реальную емкость дисков. 10% различия в дисках объемом 1TB будут равны 93GB. Согласитесь, что это достаточно ощутимая разница.

Единица измерения
Двоичные байты
Десятичные байты
Разница %
Kilobyte
1 024
1 000
2
Megabyte
1 048 576
1 000 000
5
Gigabyte
1 073 741 824
1 000 000 000
8
Terabyte
1 099 511 627 776
1 000 000 000 000
10

Для того, чтобы избежать недоразумений, ПО управления дисковыми массивами Clariion Navisphere показывает емкость дисков как двоичным, так и десятичным способом.

Все производители накопителей данных постоянно участвуют в гонке за повышение емкости своих жестких дисков. Существуют несколько способов ее увеличения:
  • повышение плотности записи данных (areal density) – перспективный путь, которым пытаются идти все производители при разработке продуктов следующих поколений (в наших примерах обратите внимание на разницу плотности записи между Cheetah 15K.6 и Cheetah 15K.7).
  • увеличение количества магнитных пластин и головок – этими показателями часто отличаются диски различной емкости в рамках одной продуктовой линейки (например, Cheetah 15K.7 600GB и Cheetah 15K.7 450GB).
  • увеличение диаметра магнитных пластин – по этим параметрам чаще всего отличаются накопители, относящиеся к продуктовым линейкам различных нишевых категорий.

Рассмотрим последний пункт более подробно. Например, диски Cheetah 15K.6 450GB 15K RPM и Barracuda ES.2 1TB 7,2K RPM (см. таблицу из прошлого поста) имеют равное количество пластин и головок и практически одинаковые значения плотности записи. В тоже время их емкость очень сильно отличается. Это объясняется тем, что в накопителях Barracuda используются пластины большего диаметра. К сожалению, за все нужно платить. При применении крупных и, соответственно, более инертных магнитных пластин приходится использовать меньшую частоту вращения шпинделя, что в свою очередь, ведет к увеличению Avg. Rotational Latency. C другой стороны, больший диаметр пластины означает увеличение длины хода блока головок чтения-записи, что, естественным образом, приводит к росту Avg. Seek Latency. Разные значения производительности, емкости, надежности и цены дисков дают нам возможность выбора оптимальной конфигурации хранилища данных.

На полезную емкость дисковых накопителей, конечно, влияет способ их форматирования. Жесткие диски персональных компьютеров и серверов всегда поставляются заказчику отформатированными на низком уровне. Их логическая структура секторов уже размечена еще на заводе. Сектора обычно имеют стандартный размер 512bytes (в простонародье “полкило”). Но в дисковых массивах Clariion размер сектора увеличен до 520bytes. Дополнительные 8bytes используются для функций обеспечения целостности данных.

Операционная среда FLARE также резервирует некоторый объем для своих служебных нужд. На каждом из первых 5 дисков полки DAE0 (vault drives) для хранения внутренней базы данных, загрузочных образов и дампов кэш зарезервированы следующие объемы:
  • CX4 - 62GB
  • CX3 - 33GB
  • CX - 6GB
На всех остальных дисках массива для служебных целей резервируется крохотный объем 34MB (см. комментарии к этому посту). Полезный объем накопителей в дисковых массивах Clariion CX4 показаны в таблице.

Емкость
Полезный объем
Диски Vault GB
Другие диски GB
1TB
855,182
917,1492
600GB
474,8083
536,7751
450GB
340,6062
402,5730
400GB
304,7978
366,7646
300GB
206,4041
268,3709
200GB
121,4444
183,4112
146GB
71,6806
133,6473
73GB
4,6387
66,6055

Добавлено:
В VNX в качестве Vault используются 4x диска (вместо 5x в CX4) на каждом из них под служебные нужды выделяется 192GB .

Новые дисковые массивы Clariion CX4 и AX4-5 в момент написания этого документа продавались с накопителями, описанными в таблице. При модернизации массивов предыдущих поколений  до CX4, соответствующие диски также поддерживаются.

Емкость
Интерфейсы
Тип
Скорость вращения
CX4
1TB
4 Gbps FC
ж. д.
7.2K rpm
4 Gbps FC
ж. д.
5.4K rpm
600GB
4 Gbps FC
ж. д.
10K rpm
450GB
4 Gbps FC
ж. д.
15K rpm
4 Gbps FC
ж. д.
10K rpm
400GB
4 Gbps FC
ж. д.
10K rpm
4 Gbps FC
SSD
-
300GB
4 Gbps FC
ж. д.
15K rpm
200GB
4 Gbps FC
SSD
-
146GB
4 Gbps FC
ж. д.
15K rpm
73GB
4 Gbps FC
SSD
-
AX4-5
1TB
SATA II
ж. д.
7.2K rpm
750GB
SATA II
ж. д.
7.2K rpm
600GB
3/6 Gb SAS
ж. д.
10K rpm
450GB
3 Gb SAS
ж. д.
15K rpm
400GB
3 Gb SAS
ж. д.
10K rpm
300GB
3 Gb SAS
ж. д.
15K rpm
146GB
3 Gb SAS
ж. д.
15K rpm

Не стоит забывать, что на уровне ОС, разбиение на разделы (partitions) и создание файловой системы также несколько уменьшают доступную для использования емкость. Объем метаданных зависит от применяемой файловой системы. Так, например, ext3 занимает под служебные нужды заметно меньший объем, чем NTFS.

Размер буферов
Контроллеры современных жестких дисков имеют буферы, которые используются для кэширования запросов. Типичный размер таких буферов 16MB. Накопители SATA обычно имеют увеличенный объем 32MB. Одним из методов оптимизации производительности доступа к данным на диске является предварительная выборка (prefetch) читаемых блоков. Эта операция никоим образом не зависит от prefetch на уровне кэша Clariion. Иногда бывает так, что read-miss запрос в кэш дискового массива будет обработан как read-hit буферами соответствующих накопителей.

Единовременно жесткие диски могут обслуживать только один запрос на чтение или запись. Обработка потока данных осуществляется классическим способом - организацией очереди в специальном буфере на контроллере накопителя. Однако, в случае устройств хранения с механическим позиционированием, простейший алгоритм обработки очередности запросов FIFO (First In First Out) будет очень неэффективным.
Для оптимизации этого процесса все накопители в современных дисковых массивах Clariion поддерживают аппаратную установку очередности команд. В FC и SAS это реализовано за счет технологии Tagged Command Queuing (TCQ), а в дисках SATA за счет применения Native Command Queuing (NCQ). Суть этих технологий заключается в том, что поступающие команды накапливаются в буфере и далее, в зависимости от адресов блоков и текущего положения головки чтения-записи, сортируются и выполняются в последовательности, позволяющей минимизировать количество перемещений головок и времени ожидания нужного сектора. Однако стоит заметить, что контроллеры накопителей FC и SAS используют систему команд SCSI, что позволяет более эффективно работать с блоками данных, чем при помощи команд ATA.


О накопителях Flash здесь и здесь...

5 комментариев:

  1. Вопрос можно? - что располагается в этих 34Мб на каждом диске в системе хранения?

    ОтветитьУдалить
  2. Вот что удалось раскопать по данному вопросу.

    Во первых туда записывается CRU Signature в которой обозначено место установки диска (slot/enclosure), номера LUNs, которые на нем находятся, а также "адреса" других дисков, на которых расположены эти тома, тип RAID, значение rebuild time (что это такое я не знаю). а также версия внутренней базы данных Flare, которая использовалась при установке диска.

    Во вторых на первые 2 диска каждого LUN записывается информация Clean/Dirty Sector. По ней можно определить, что к соответствующим томам есть не сброшенные данные в кэш.

    Может Flare еще чего-нибудь туда пишет...

    ОтветитьУдалить
  3. Ну в первом абзаце практически все можно отнести к процедуре "форматирования" диска/LUN-а. Вещи однократные.

    А вот про rebuild time, первые 2 диска и clean/dirty sector интересней.

    Т.е. в тот момент когда начинается запись в кеш СХД-ки получается начинается запись на первые 2 диска LUN-ов? Даже если это просто флаги, то очень небольшая нагрузка на СХД-ку, а если это именно bitmaps, то уже нагрузка должна быть интересней. Как это бы померить? 8-) ну или хотя бы внятное описание нарыть бы.

    (c) villain

    ОтветитьУдалить
  4. Ну, насчет внятного описания таких вещей сразу могу сказать, что его в открытом доступе не найти в принципе. Единственный способ - это неформально общаться с конкретными знающими людьми...

    Как померить? На тестовом Clariion инициировать интенсивный по сбросу кэш random write на том, поставить rebuild priority ASAP и аналайзером сравнить нагрузку на первые два и остальные диски RAID group. Идея простая, но не уверен, что усреднение аналайзером результатов позволит говорить о какой-то точности.

    ОтветитьУдалить
  5. Жалко что нет внутренних описаний. Ну да ладно, большинство простых вопросов сами запланировали потестить по прихода следующих Кларионов. А остальное - оставим на потом, вдруг где-нть появится инфа 8-)

    ОтветитьУдалить

Примечание. Отправлять комментарии могут только участники этого блога.