Целесообразность использования 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 |