Целесообразность использования SSD дисков в RAID массивах

Введение

Сравнивая производительности различных систем хранения данных, довольно часто апеллируют только к скоростям передачи данных при записи/чтении, измеряемым в мегабайтах в секунду. И действительно для многих задач, связанных с большими по размеру файлами (обработка цифрового аудио и видео, резервное копирование и т.д.) этого параметра для анализа вполне достаточно. Но далеко не всегда. Например, для корпоративных баз данных, к которым одновременно обращаются десятки, а порой и сотни пользователей, гораздо важнее такой показатель как Input-Output Operations Per Second (IOPS). Он показывает количество операций ввода-вывода в секунду, которые способно обработать устройство. Операции базы данных обычно характеризуются обменом относительно небольшими блоками в 512 байт - 8 килобайт, и  каждая такая операция по считыванию или записи и является одним IOPS-ом. Таким образом, чем выше показатель производительности в IOPS (т.е. чем больше скорость обработки коротких запросов), тем выше результирующая производительность базы данных. Этот параметр актуален, например, для банков и страховых компаний.
Решая задачу достижения максимальной IOPS производительности, начинать надо с подбора соответствующих жестких дисков. Хорошо известно, что самые доступные по цене и как следствие самые популярные 3,5” SATA 7200rpm диски выдают в максимуме всего 50-100 IOPS, и по этому параметру существенно проигрывают SAS дискам со скоростями 140-160 IOPS при 10Krpm и 180-200 IOPS при 15Krpm. При распараллеливании потока запросов между объединенными в единый RAID массив дисками удается пропорционально увеличить скорость обработки. Так для 16-дискового массива при уровне RAID 5 максимальную результирующую скорость можно оценить как 1500 IOPS при использовании SATA дисков и 3000 IOPS для SAS 15Krpm дисков. Но что делать, если и 3 тысяч недостаточно? Если требуется обеспечить десятки тысяч IOPS? Увеличивать количество SAS дисков? Возможный путь, но очень дорогой. Сегодня есть более эффективный путь  -  использование SSD.

Несколько слов о SSD

Напомним, что SSD (Solid State Drive) или, по-русски, твердотельный накопитель – это устройство хранения данных с использованием твердотельной (точнее полупроводниковой, обычно - флеш) памяти. SSD логически эмулирует обычный жёсткий диск (HDD) и теоретически везде может применяться вместо него. SSD не имеет механических частей, не имеет и собственно дисков, хотя эти накопители по привычке и по аналогии с HDD часто называют флеш-дисками. Для SSD в настоящее время применяются два типа NAND-Flash памяти: SLC (Single Level Cell) и MLC (Multi Level Cell), отличающиеся плотностью хранения информации. SLC позволяет хранить в каждой ячейке только один бит информации, а MLC - два, что делает память MLC более дешёвой относительно ёмкости, однако MLC обладает меньшим ресурсом (в среднем 10000 циклов стирания/записи против 100000 у SLC) и худшим быстродействием.
Среди преимуществ SSD накопителей:

  • очень малые времена задержки при записи и чтении;
  • высокая производительность, фактически  ограниченная только пропускной способностью самого интерфейса (SATA/SAS) и используемых соответствующих контроллеров;
  • устойчивое время считывания файлов вне зависимости от их расположения или фрагментации;
  • низкая потребляемая мощность и полное отсутствие шума;
  • высокая механическая стойкость и широкий диапазон рабочих температур.

Среди наиболее существенных недостатков:

  • ограниченное количество циклов перезаписи;
  • очень высокая относительная цена за 1 ГБ (на порядок больше чем у HDD), причем стоимость SSD-накопителей прямо пропорциональна ёмкости, в то время как стоимость традиционных жёстких дисков зависит от количества пластин и при увеличении объёма диска растет сравнительно медленно.

Высокая цена, конечно, является основным сдерживающим фактором широкого внедрения  SSD. Надежды на ее снижение за счет более массового производства пока не оправдываются, и даже средним компаниям решения на SSD пока не по карману. Тем не менее, медленно, но верно твердотельные накопители начинают реально использоваться для решения серьезных задач в корпоративном секторе. Более того, в некоторых случаях такие решения позволяют им, как это ни странно, экономить десятки тысяч долларов. 
Возникает резонный вопрос - почему вы пишете, что решения дороги и не всем по карману? Ведь стоимость SSD дисков на 128 GB начинается от $250, что вполне приемлемо для построения RAID на 4-6 дисков. Ответ, к сожалению, неутешителен - SSD диски, имеющие высокие показатели как по скоростям чтения/ записи, так и по количеству IOPS (операций ввода/вывода в секунду), и гарантирующие большое количество циклов перезаписи (т.е. несколько лет работы), стоят на порядок дороже. Так, на осень 2010 года высокопроизводительный и надежный SSD диск емкостью всего 100 GB, но поддерживающий десятки тысяч IOPS, стоит уже около $2000. Массив из 5 таких дисков видимой емкостью 400 GB при уровне RAID 5 обойдется даже без стоимости собственно RAID контроллера в $10000. Если же необходима емкость в пару терабайт, то стоимость дисков превысит $40000. Ужас?!?
Тем не менее, если решаемая задача требует от системы хранения данных главным образом скорости обработки в десятки тысяч IOPS, то альтернативы нет - применение SSD экономически оправдано. Мало того, даже финансово выгодно, так как построение такой системы на обычных SAS дисках потребует их в количествах, измеряемых сотнями штук.

Тестирование

Чтобы на деле разобраться, что реально сегодня можно достичь при использовании современных SSD, мы провели тестирование. В качестве тестовой платформы мы выбрали серверную платформу от Intel SR2600URLX с двумя процессорами Intel Xeon E5507 2.26 GHz с 12 GB оперативной памяти и установленным контроллером Qlogic QLE2560. В качестве системы хранения мы использовали RAID массив Maxtronic TS-4801R (с двумя RAID контроллерами, работающими по избыточной схеме с дублированием), рассчитанный на применение 24-х 2.5" SAS/SATA дисков. И, наконец, самое интересное - мы установили в TS-4801R новую модель SSD дисков компании OCZ 100Gb OCZSSD2-2VTXEX100G на базе SLC флэш-памяти. Для справки основные характеристики этих дисков:

  • Скорость чтения: до 285 МБ/с
  • Скорость записи: до 275 МБ/с
  • Скорость обработки в произвольном порядке блоками по 4 Кб: 50000 IOPS
  • Среднее время безотказной работы: 10 млн. часов

Результаты тестирования производительности с помощью IOMeter нас не разочаровали. Мы свели их в таблицу ниже.


 Access Specification Name

IOps

Read IOps

Write IOps

MBps

Read MBps

Write MBps

2K OLTP

7884.673461

5279.230028

2605.443433

15.399753

10.310996

5.088757

4K OLTP

7698.744569

5154.872972

2543.871597

30.073221

20.136223

9.936998

8K OLTP

7543.867217

5049.232812

2494.634406

58.936463

39.447131

19.489331

512 Byte Data Streaming Read

23300.953381

23300.953381

0.000000

11.377419

11.377419

0.000000

512 Byte Data Streaming Write

16303.418694

0.000000

16303.418694

7.960654

0.000000

7.960654

8K Data Streaming Write

13748.972614

0.000000

13748.972614

107.413849

0.000000

107.413849

64K Data Streaming Read

5160.189793

5160.189793

0.000000

322.511862

322.511862

0.000000

64K Data Streaming Write

5315.871922

0.000000

5315.871922

332.241995

0.000000

332.241995

File Server

6893.353715

5513.288378

1380.065338

74.547189

59.658997

14.888192

Web Server

5500.100971

5500.100971

0.000000

84.079757

84.079757

0.000000

Заключение

Результаты тестирования системы на SSD в первую очередь говорят о том, что с учетом постоянно снижающейся стоимости SSD дисков сложные системы хранения, построенные на десятках/сотнях высокооборотных SAS дисков, со временем могут значительно уменьшить свое присутствие на рынке. Для задач, не требующих огромной дисковой емкости, но требующих большого количества операций ввода/вывода SSD станут наиболее выгодным решением, а для создания хранилищ с большими потребностями в объемах прекрасно подойдут SATA диски enterprise класса.