22 апреля 2010 г.

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

Об адресации жестких дисков здесь...

Основными характеристиками жестких дисков являются:
  • тип дисков
  • внешний интерфейс
  • частота вращения шпинделя
  • емкость.
  • размер буферов
Тип дисков
Тип диска, по сути, определяется тремя основными характеристиками:
  • плотностью записи данных на магнитных пластинах
  • частотой вращения шпинделя
  • надежностью
Если говорить о накопителях одного типа, модельный ряд формируется использованием различных внешних интерфейсов, а также разным количеством пластин и головок чтения-записи. Использование дисков с различными характеристиками и стоимостью позволяет гибко подходить к комплектации хранилища, учитывая реальные требования производительности доступа к данным.

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


Внешний интерфейс
Основными внешними интерфейсами в настоящий момент являются FC (Fibre Channel), SATA (Serial ATA) и SAS (Serial Attach SCSI). Так, в приведенном примере, диски семейства Seagate Cheetah могут выпускаться с интерфейсами FC 4Gbps, SAS 3Gbps или SAS 6Gbps, а Barracuda с интерфейсами SAS 3Gbps или SATA 3Gbps.

Обратите внимание, что внешний интерфейс никоим образом не определяет производительность или отказоустойчивости жестких дисков. Поэтому утверждения вроде “диски SAS надежнее/быстрее SATA” совершенно бессмысленны.

Важно, что внешние интерфейсы имеют принципиально более высокие характеристики, по сравнению с реальной производительностью доступа к данным жестких дисков. Например, теоретические 600MB/s интерфейса SAS 6Gbps почти в 3 раза превосходят реальные показатели Bandwidth дисков Cheetah 15K.7. А вот в случае с flash-дисками, может случиться обратная ситуация и уже внешний интерфейс (например, SATA II 3Gbps) уже может стать узким местом.

Диск
Transfer Rate интерфейса
Плотность записи Gbits/inch2
Кэш MB
Макс. внутренний Bandwidth MB/s
Avg. Rotation Latency ms
Avg. Seek Latency read/write ms
Кол-во пластин/ головок
AFR %/ MTBF млн. ч.
Cheetah 15K.7 600GB 15K RPM
4Gbps FC
6Gbps SAS
225
16
204
2
3,4/3,9
4/8
0,55/1,6
Cheetah 15K.7 450GB 15K RPM
4Gbps FC
6Gbps SAS
225
16
204
2
3,4/3,9
3/6
0,55/1,6
Cheetah 15K.6 450GB 15K RPM
4Gbps FC
3Gbps SAS
165
16
171
2
3,4/3,9
4/8
0,55/1,6
Cheetah 15K.6 300GB 15K RPM
4Gbps FC
3Gbps SAS
165
16
171
2
3,4/3,9
3/6
0,55/1,6
Cheetah NS.2 600GB 10K RPM
4Gbps FC
6Gbps SAS
225
16
150
3
3,8/4,4
4/8
0,55/1,6
Cheetah NS.2 4500GB 10K RPM
4Gbps FC
6Gbps SAS
225
16
150
3
3,8/4,4
3/6
0,55/1,6
Cheetah NS 400GB 10K RPM
4Gbps FC
3Gbps SAS
N/A
16
97
3
3,9/4,2
N/A
0,62/1,4
Barracuda ES.2 1TB 7,2K RPM
3Gbps SAS 3Gbps SATA
164
32SATA
16SAS
105 SATA
116
SAS
4
8,5/9,5
4/8
0,73/1,2
Barracuda ES.2 750GB 7,2K RPM
3Gbps SAS 3Gbps SATA
164
32SATA
16SAS
105 SATA
116 SAS
4
8,5/9,5
3/6
0,73/1,2
 
Частота вращения шпинделя
Частота вращения шпинделя с закрепленными на нем пластинами является основным фактором, определяющим производительность жестких дисков. Обычно ее измеряют в количестве оборотов в минуту (Revolutions Per Minute, RPM). Для сокращения записи, тысячу RPM часто обозначают символом K (Kilo). Наиболее используемыми являются частоты 15K, 10K, 7,2K и 5,4K RPM.

Процесс передачи данных с/на жесткий диск состоит из 3 фаз:
  1. перемещения блока головок чтения-записи на соответствующую группу треков и более точного позиционирования на нужный трек (Seek)
  2. ожидания поворота пластин, пока соответствующий сектор не появится под головкой (Rotation)
  3. считывания или записи данных (Transfer)

Соответственно, общая задержка передачи будет состоять из Seek Latency, Rotation Latency и Transfer Time:


Расстояние, на которое необходимо переместиться блоку головок чтения-записи для того, чтобы позиционироваться на нужный трек, называется Seek Distance. Обычно его считают не в количестве треков, а гигабайтах разницы между адресуемыми блоками LBA. Например, если последовательно запрашиваются блоки с адресами 100 и 1000100, Seek Distance будет равно 0,5GB (512bytes*(1000100-100)/1024/1024/1024).

Если приложение работает с данными, средние значения Avg. Seek Distance которых <25% от общей емкости накопителя, можно сделать вывод о том, что наиболее востребованные данные расположены очень локально. Снижая Seek Latency на уровне приложений, мы можем добиться заметного увеличения производительности доступа к данным. Если же востребованные данные разбросаны по всей поверхности диска и Avg. Seek Distance >75% от емкости, необходимо быть готовым к тому, что производительность доступа будет более скромной.

Rotational Latency напрямую зависит от частоты вращения шпинделя. Так, диск, вращающийся с частотой 15K RPM, будет иметь среднее значение Avg. Rotational Latency, т. е. время совершения половины одного оборота, равным 2ms (60сек. / 15000об. / 2).

Transfer time, прежде всего, зависит от объема считываемых или записываемых данных, а также внутренней Bandwidth диска. Последняя, в свою очередь, повышается с увеличением частоты вращения шпинделя и плотности записи данных на магнитной пластине. Обратите внимание на разницу в Bandwidth накопителей Cheetah 15K.6 и Barracuda ES.2. При практически одинаковой плотности записи данных их внутренние Bandwidth заметно отличаются за счет разницы частот вращения.

Суммируя вышесказанное, можно утверждать, что диски с высокой частотой вращения шпинделя имеют достаточно низкие значения Seek и Rotational Latency даже при произвольном доступе к данным малыми блоками. Поэтому они лучше подходят для throughput oriented приложений
Характеристики производительности накопителей с частотой вращения 7,2K и 5,4K RPM заметно хуже. Но при последовательном доступе к данным большими блоками, разницей в Seek Latency можно пренебречь. И хотя значения их внутренней Bandwidth все же уступают дискам 15K и 10K RPM, учитывая их достаточно низкую стоимость, можно рекомендовать их для хранения данных bandwidth oriented приложений.

Обращаю ваше внимание на то, что в таблице приведены максимальные значения Bandwidth. На самом деле, за счет неравномерности распределения плотности записи по поверхности магнитных пластин, производительность доступа на внешних треках несколько выше, чем на внутренних. Разница может более 10%. За счет кэширования запросов при небольших и средних нагрузках это различие будет практически не заметно. В случае же высокой нагрузки, грамотное распределение данных поможет оптимизировать производительность. Это можно сделать на этапе создания LUNs на RAID Group. Например, в дисковых массивах EMC Clariion, при использовании утилит конфигурации в первую очередь создаются LUNs на внешних треках дисков и затем дисковое пространство заполняется по направлению к шпинделю.

Какое же распределение LUNs будет наиболее эффективным, если в одной GAID Group мы используем высоко и средне нагруженные тома? Рассмотрим примеры на рисунке.


Очевидно, что вариант 1 является неграмотным. Располагать нагруженный том на внутренних треках не разумно.
Вариант 2 кажется более правильным. Оба нагруженных тома находятся рядом на внешних треках накопителя. Но для работы с данными ненагруженных LUNs блоку головок чтения-записи будет необходимо регулярно перемещаться по всему диапазону треков. Издержки увеличение Avg. Seek Distance могут быть больше, чем преимущества, полученные от расположения данных на внешних треках.
Вариант 3 будет наиболее оптимальным решением. Расположение нагруженных томов “посередине” пластины позволит с одной стороны воспользоваться преимуществом приемлемой производительности средних треков, а с другой стороны, почти в 2 раза уменьшить Avg. Seek Distance.

Для грубой предварительной оценки производительности дисков можно использовать данные из таблицы.

Диск
Throughput IOPS
Bandwidth MB/s
EFD
2 500
-
15K RPM  FC
180
12
10K RPM  FC
140
10
7,2K RPM  SATA
80
8
7,2K RPM  ATA
60
7

Несколько заниженные значения Throughput были получены из экспериментальных данных о поведении дисков при произвольном доступе блоками 2-8KB. Данные Bandwidth рассматриваются в контексте последовательной активность блоками 128KB.

Емкость и размеры буферов дисков мы обсудим во второй части...

3 комментария:

  1. Вася, привет. Это опять тот же самый аноним :) Какой смысл в технологии 6 GB/s если существующие диски не достигли даже предыдущего стандарта? Задел на будущее? Или при использовании внутреннего кэш дисков данные по производительности кардинально отличаются? Но опять же слышал, что в системах хранения буферы отключаются для обеспечения целостности данных в случае пропадания питания. Так ли это?
    Еще вопрос по распределению томов по цилиндрам, как на практике это реализуется в системе хранения?

    ОтветитьУдалить
  2. А 4Gbps интерфейсы тебя не смущают? ;) Там ситуация такая же...
    Я думаю, что причин две:
    -маркетинг. Это основная причина. Сам понимаешь, 6GB/s просто звучит круче, а потому его легче втюхать тем, кто не понимает... ну и надо постоянно говорить заказчикам, что, мол, мы всегда используем самые распоследние передовые интерфейсы... :)
    -производители не сами делают всю электронную обвязку своего оборудования. Намного проще купить у другого вендора уже готовые элементы и использовать их в своих продуктах. Современные разработки чипов не только дают более крутые маркетинговые цифры, но и позволяют выиграть по другим параметрах, например, энергопотреблению и тепловыделению. Я не знаю, какова ситуация с приведенными здесь Seagate, но допускаю, что основные чипы SAS-интерфейсов они где-нибудь покупают и последние модели дают такие дополнительные преимущества.

    Кто-то кэш действительно выключает, а кто-то нет.
    При выключенном кэш диска управлением очередями на низком уровне занимается контроллер дискового массива. При сбое диска или питания, данные на запись сохраняются в кэш самого массива.
    Можно подойти к проблеме с другой стороны. Оставить кэш включенным, заставив диск самостоятельно работать с очередями. Но при этом отпускать данные в кэш дискового массива только после того, как придет ответ от диска, что данные были действительно записаны. В случае сбоя, консистентные данные, опять же, остаются в кэш массива.

    Мне кажется, что кэш напрямую особенно bandwidth не повысит. Он ведь маленький.

    ОтветитьУдалить
  3. ясно, так все таки в массивах ЕМС кэш дисков отключается? или нет?
    второй вопрос относительно эффективного распределения LUN по дорожкам (цилиндрам). Как это делается в случае RAID группы? как поместить том на определенные цилиндры группы дисков?

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

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