Твердые телом. Как раз такие в серверах и нужны

21 май, 2012 - 17:30Юрий Жуковский

Универсальных рецептов повышения производительности серверов не существует. Принимая решения об изменениях серверной инфраструктуры без детального понимания среды исполнения приложений, надо быть готовым к любым результатам. В том числе — к отсутствию результатов.

Анатомия узких мест серверов

Постоянное обновление процессоров и платформ производителями подталкивает к поверхностному взгляду на эволюцию серверов, как на гонку процессорных мощностей. Такой прямолинейный подход к модернизации серверного парка гарантирует только одно — затраты. Если уж бороться за уместность и эффективность использования вычислительных средств, начинать надо с анализа особенностей приложений, препарирования всех вычислительных подсистем и их взаимосвязей.

Под «капотом» сервера есть много потенциально узких мест, которые не становятся шире с добавлением процессорной мощности. Это проявляется не только в специализированных приложениях с избирательной нагрузкой. Так, мода на виртуализацию подняла планку требований к общему балансу подсистем массовых серверов. Не случайно Intel уделяет сейчас так много внимания шинным обменам, сетевому и дисковому вводу/выводу. Относительно скромный прогресс и ограничения периферийных систем обмена данными обесценивают достоинства основного продукта компании — процессоров. Наиболее радикально пересматриваются модели хранения данных и транспортных средств их доставки — благодаря стремительному распространению твердотельных накопителей SSD на флэш-памяти NAND. Для объемного хранения основным носителем еще долго будут оставаться HDD. Но, при всем прогрессе стандартов, протоколов и интерфейсов от жестких дисков с вращающимися поверхностями невозможно добиться скачка производительности — из-за механических ограничений. Пришло время других технологий. Пока что SSD прочно обосновались в персональных устройствах. Посмотрим на положение дел на консервативном рынке корпоративных приложений.

Производительность дисковых подсистем

Для оценки производительности дисковой подсистемы пользуются двумя параметрами: потоковой скоростью чтения/записи (Megabyte per second, MBps) и количеством обрабатываемых в единицу времени операций ввода/вывода (Input/Output operations Per Second, IOPS). Какому из них отдавать приоритет и за что бороться — зависит от реального набора приложений. Скорость потоковых обменов важна при работе с данными преимущественно последовательного доступа (Sequential Read/Write): передаче видеопотоков высокого разрешения, в графических приложениях, в задачах 3D-моделирования, при операциях с файловыми архивами. Способность подсистемы хранения данных быстро обслуживать множественные запросы критична в операциях с преимущественно случайным доступом (Random Read/Write) — как в серверах баз данных, электронной почты и приложений, в виртуализированной среде.

Выбор носителей в серверах и системах хранения данных (СХД) диктуется характером приложений и требованиями доступности данных. Для долговременного статичного размещения больших объемов (например, как в файловых серверах) используют недорогие и емкие диски SATA RAID Edition 7200 rpm. В станции разработчика уместны диски SATA 10k rpm, а в среде коллективного доступа к объемным материалам (например, в сервере документооборота) — диски SAS NL 7200 rpm. В задачах с высокой интенсивностью конкурентных запросов (как в серверах нагруженных баз данных и кворум-ресурсах) традиционно используются скоростные диски SAS 10-15k rpm. И именно здесь велики перспективы SSD. В СХД многоуровневого хранения, с сортировкой данных по ценности, критичности доступа, востребованности, сочетаются разные типы накопителей.

Производительность дисковых операций, сохранность и состоятельность данных обеспечивает дисковая подсистема, как правило состоящая из RAID-контроллера и набора накопителей. RAID-контроллер работает под управлением ОС и собственных программных средств. Производительность RAID-массива зависит от многих факторов: характера приложений и доступа к данным (последовательный/случайный), типа и количества дисков, соотношения операций чтения/записи, архитектуры RAID-контроллера, выбранного уровня RAID, степени заполнения дисков.

Кэширование дисковых операций: уровни, выгоды, риски

Для ускорения дисковых операций с данными на таких относительно медленных устройствах как HDD используется кэш — буферная среда, промежуточная память с высокой скоростью доступа. Кэширование, как оптимизация работы с часто запрашиваемыми («горячими») данными — мощный инструмент повышения производительности в многопользовательском многозадачном окружении. Кэширование дисковых операций многоуровневое, в нем участвуют операционная система, приложения, контроллеры устройств хранения, сами накопители. ОС и приложения используют под кэш дисковых операций часть оперативной памяти. У аппаратных RAID-контроллеров есть собственные процессор и динамическая память — кэш-буфер для размещения данных, вычисления контрольных сумм и обработки очередей запросов. Есть кэш и у HDD.

На поверхности лежит идея кэширования всей базы данных в оперативной памяти. Работает быстро, но небезопасно: информационная система данные не только читает, но и пишет, отказ питания или сбой ОС убивает данные. Как правило, за кэширование данных отвечают RAID-контроллеры (иногда файловые системы — как ZFS). Продуктивность зависит от процессора контроллера, его встроенных алгоритмов и политик кэширования. А вот, к примеру, размер кэш-памяти RAID-контроллера на производительность как раз влияет мало. Контроллер с 1GB кэш-памяти одного производителя не лучше и не хуже контроллера с 512MB другого производителя. Разработчик контроллера сам выбирает оптимальный (разумно-достаточный) размер кэш-буфера.

Кэширование чтения дает понятный и предсказуемый выигрыш. Сложнее обстоит с записью. Есть две основные политики записи: прямая, она же сквозная (write-through) и обратная, или отложенная (write-back). При сквозной записи контроллер, получив данные, пишет их непосредственно на диски массива и подает управляющей ОС сигнал о завершении операции. При отложенной записи контроллер тоже рапортует ОС об успешной транзакции записи, но данные записывает в свой кэш-буфер. На диски они попадут позже — в подходящий с точки зрения контроллера момент, при снижении активности приложения или по заполнению кэша. Технология обратной записи дает серьезный скачок производительности, но на некоторое время делает данные на дисках неактуальными. ОС же считает данные на дисках состоятельными всегда. В этом кроется угроза целостности информации. Сбой питания может прервать транзакции и привести к необратимому разрушению RAID-массива.

Ощутимые выгоды от включения режима write-back заставляют компенсировать возникающие риски дополнительными мерами предосторожности. Обычно кэш RAID-контроллеров защищают с помощью аккумуляторов (Backup Battery Unit, BBU), способных после обесточивания контроллера держать напряжение в течение суток-двух, сохраняя содержимое кэша. После восстановления питания прерванные транзакции завершаются, состоятельность массива сохраняется. BBU, как и любые аккумуляторы, имеют ограниченный срок службы, постепенно теряют емкость и нуждаются в замене каждые полтора-два года. Не проводя регулярной профилактики серверов, можно однажды, того и не подозревая, остаться с незащищенным контроллером. В последние годы получила распространение технология безопасной защиты кэш-памяти контроллера, не требующая обслуживания. Аварийное копирование содержимого кэша в энергонезависимую флэш-память запитывается постоянно заряженным конденсатором большой емкости. После восстановления питания данные из флэш-памяти копируются обратно в кэш контроллера. Надо сказать, у большинства RAID-контроллеров невозможно включить режим write-back при неустановленных BBU или флэш-модуле защиты кэша.

Подключение сервера через источник бесперебойного питания (UPS) снижает вероятность разрушения массива от аварии по питанию, но не заменяет BBU полностью — ведь между UPS и дисками остается много потенциальных «смертников»: блок питания сервера, материнская плата с процессором и памятью, сама память и кабельные соединения. Для надежности нужны и UPS, и BBU.

Кэш жестких дисков находится ближе всех к месту физического хранения данных в тракте ввода/вывода, но именно его рекомендуют отключать, если диски собираются в массив на аппаратном RAID-контроллере. В аппаратном RAID-массиве оптимизацией очередей записи на диски занимается контроллер, для этого у него есть мощный процессор, много памяти и развитая логика. Выгоды от включения кэша самих дисков сомнительны, а угрозы потери данных, наоборот, очевидны. Исправный диск рапортует RAID-контроллеру о завершении транзакции записи в любом случае. Но при отключенном кэше HDD данные пишутся прямо на поверхность пластин, а при включенном — в кэш. Пока диск самостоятельно занимается оптимизацией очередей (уже оптимизированных контроллером) и выполняет отложенную запись содержимого кэша на поверхность пластин, данные на диске остаются неактуальными. Сбой по питанию или отказ электроники HDD во время работы, кэш которого не защищен ничем — серьезная угроза целостности всего массива.

Как устроены SSD, и чем они отличаются от HDD

Преимущества и недостатки SSD

Первый бытовой восторг вызывает способность SSD стартовать ОС и открывать приложения за несколько секунд — против минуты с лишним для старта с HDD. Низкая латентность (малое время доступа), на два порядка меньше, чем у HDD — основной козырь твердотельных накопителей. Радикальное ускорение загрузки приложений и рост общей производительности следуют из природы работы с памятью, каковой являются SSD. В HDD головкам надо сперва выполнить прицеливание над рабочей поверхностью, а потом последовательно, оборот за оборотом, провести операцию чтения или записи. SSD — это система работающих параллельно 8-16 конвейерных линий, с высоким уровнем готовности.

В SSD нет движущихся частей, HDD построены на пластинах, вращающихся со скоростью в пределах 5400-15000 оборотов в минуту. От механической природы HDD все его беды-попутчицы: высокое энергопотребление, ограничения температурных режимов, необходимость в теплоотводе, наведенные вибрации. Риск потери накопителей и данных нарастает при плотной компоновке компьютера. Смерть HDD почти равносильна потере данных на нем (точнее, их восстановление может обойтись непомерно дорого). Когда же заканчивается жизненный ресурс SSD, становится невозможной запись на него, но данные остаются доступными. В ячейках флэш-памяти NAND информация может сохраняться годами. SSD работают в широком диапазоне температур, выдерживают большую ударную нагрузку. Типичные допустимые для SSD значения: температура от −20 до 85° С, влажность 90%, переносимая нагрузка 1500G.

Главный недостаток SSD — ограниченное количество переносимых ими циклов перезаписи (от 10 до 100 тысяч на ячейку). Тем не менее, существующий разброс технологий производства памяти, контроллеров, конструктивных решений и прошивок позволяет применять SSD в большом диапазоне персональных и корпоративных приложений. Вопрос только в цене и оправданности решения. Невысокая в сравнении с HDD емкость (или, иначе, высокая цена достижения большой емкости) — еще один недостаток SSD, хотя и относительный.

Устройство и источники производительности SSD

SSD имеют разную компоновку, форм-фактор, интерфейс, даже могут быть бескорпусными. Но во всех SSD есть основная плата (PCB), контроллер и несколько модулей флэш-памяти NAND. Как правило, SSD имеют интерфейс SATA (SATA 2 или SATA 3) и подключаются через стандартный SATA или компактный mSATA разъем. Есть SSD c интерфейсом SAS. Существуют и контроллерные сборки SSD под шину PCI Express.

Подавляющее превосходство SSD над HDD в низкой латентности понятно — работа параллельных конвейеров прямого доступа многократно эффективнее процедуры механического прицеливания к данным, с вычитыванием их одним-единственным маршрутом, тогда как контроллер SSD общается с памятью по нескольким маршрутам («каналам»). Но одной только архитектурой не объяснить природу производительности. Разница показателей двух твердотельных накопителей между собой может быть огромной, какой никогда не бывало между HDD. Источники производительности SSD — контроллер, флэш-память и прошивка. Многообразие сочетаний порождает множество продуктов для разных целевых рынков и... путаницу в головах. Один и тот же контроллер может использоваться с разными типами памяти (асинхронная, синхронная, toggle mode) — для разведения SSD по потребителям и ценовым нишам. Один и тот же производитель может использовать разные контроллеры в своих продуктах. Так, Intel ставит в свои SSD 520-й и 330-й серий контроллеры SandForce, в 510-ю серию — контроллеры Marvell, а в 320-ю и 710-ю — свои собственные. В любом случае, основным субъективным фактором для выбора SSD все равно остается предполагаемая модель применения накопителя. И рекомендации производителя.

Рабочая емкость и overprovisioning

Традиционно емкость SSD считалась в степенях двойки — от восьми ячеек по 4GB и выше, а производители поначалу заявляли весь реальный физический объем памяти, распаянной на PCB: 32 — 64 — 128 ... GB. Теперь в ходу округленные емкости: 30 — 60 — 120 — ... GB — что говорит о применении производителями избыточного резервирования (overprovisioning). Часть памяти SSD отводится под невидимую и недоступную пользователю служебную область. Известно, что по мере заполнения SSD, заметно падает его производительность, и сокращается срок службы. Причина в том, что контроллер при записи постоянно выполняет циклы переноса содержимого ячеек/их стирания. Чем меньше свободного пространства — тем затейливее алгоритмы перемещения данных и сильнее износ ячеек. Увеличением свободы маневра для контроллера за счет резерва свободных ячеек добиваются роста производительности и срока службы SSD. Не только производители SSD делают избыточное резервирование по умолчанию, они еще и рекомендуют пользователям оставлять часть емкости неформатированной. Сколько памяти резервируют сами производители — их внутреннее дело, и зависит это от позиционирования SSD. Так, у SSD Intel 710-й «серверной» серии при задекларированной емкости 200 GB и доступной пользовательской емкости 186.3 GB «сырая емкость» микросхем памяти составляет 320GB (20 микросхем по 16GB), то есть показатель overprovisioning превышает 70%.

Магия чисел и суровая правда жизни

Задача маркетинга — продавать. Потому на рынке так мало анализа отличий между SSD, и так много шумихи вокруг показателей вроде «550 MBps на чтение или 520 MBps на запись». Запустив мониторинг типичных дисковых операций даже на обыкновенном ноутбуке или ПК, можно обнаружить, что потоковые операции c большими блоками (те самые Sequential Read/Writes 550/520MBps) составляют не более 1% (!) дисковой нагрузки. В то же время более половины операций — это запись короткими блоками 4К со случайным доступом (Random Write). Потому, заглядывая в паспорт SSD, надо смотреть в первую очередь на показатели Random Write I/O, даже если речь идет о персональных приложениях. А тем более, выбирая SSD под корпоративные приложения.

Популярность контроллеров SandForce объясняется рекордной скоростью последовательной записи — благодаря сжатию информации перед ее помещением в память. Кроме скорости работы за счет этого еще и увеличивается ресурс накопителя. Если бы других операций и типов данных не было — то контроллерам без компрессии (Intel, Marvell, Everest, Samsung) не осталось бы применения. На практике и данные плохо сжимаются (современные форматы Office, изображения, видео- и аудиофайлы), и операции не потоковые. Результаты тестовых лабораторий подтверждают, что запись несжимаемых данных случайным образом — это худшее, что можно сделать с твердотельным накопителем на SandForce.

В серверах важны показатели записи в операциях случайного доступа (с чтением хорошо у всех SSD), прогнозируемый предел по числу циклов перезаписи, среднее время наработки на отказ. Если сам производитель не позиционирует SSD для применения в серверах (например, прямо пишет, что продукт — геймерский) — это значит, что компонентная база, алгоритмы работы контроллера, резерв ячеек и запас прочности не рассчитаны на продолжительную работу в ответственных приложениях. Зачем испытывать судьбу?

SLC, MLC, MLC-HET, продление ресурса

Есть две технологии изготовления флэш-памяти NAND: MLC (Multi-level cell, c многоуровневыми ячейками) и SLC (Single-level cell, c одноуровневыми ячейками). По ресурсу перезаписи SLC (более 100 000 циклов) на порядок превосходит MLC. По цене тоже. SSD на памяти SLC применяются в критичных корпоративных приложениях, большей частью в дорогих СХД. Остальные довольствуются MLC. Позиционирование SSD, выполненных на одной и той же MLC-памяти может сильно разниться. Отличаются производительность контроллеров, их способность балансировать нагрузку и компенсировать неравномерный износ накопителей. Могут применяться конструктивные решения, снижающие риск потери данных. Так, в SSD Intel сериq 320 и 710 есть ускоритель аппаратного шифрования и цепи конденсаторов для защиты данных от перепадов напряжения. SSD 710-й серии на MLC-памяти Intel выпускает для корпоративного рынка и даже ввела для них новый термин MLC —HET (High endurance technology). По сути, отличие MLC-HET — в повышенной износоустойчивости за счет производственного отбора кристаллов памяти MLC, изменения алгоритмов работы контроллера (увеличения цикла программирования страниц и усиления записи), и за счет избыточного резервирования емкости. SSD Intel 710-й (MLC-HET) и 320-й серий (MLC) сделаны на одном контроллере, но по цене различаются вчетверо. MLC-HET можно считать разумным компромиссом в борьбе за емкость, как у MLC, и выносливость, как у SLC.

Перезапись ячеек, «сбор мусора», TRIM

В отличие от HDD, в ячейку флеш-памяти NAND нельзя перезаписать новые данные поверх старых, не очистив ее перед этим. Ячейки памяти SSD сгруппированы в страницы (обычно по 4 Кбайт каждая), страницы сгруппированы в блоки (64-128 страниц). Данные можно вписать на чистую страницу, но стирать можно только блоки целиком. Запись на SSD-носитель выполняется очень быстро до тех пор, пока существуют чистые страницы, но значительно замедляется, если необходимо очищать предварительно записанные страницы.

Твердые телом. Как раз такие в серверах и нужны

Запись и стирание ячеек в SSD [источник: Wikipedia]

Для очистки ячеек от неиспользуемых данных и поддержания резерва пустых страниц контроллер SSD выполняет процедуру «сбор мусора» (Garbage collection, GC). Чтобы вернуть в обращение ячейки блока, содержащего смесь актуальных данных и мусора (невалидных данных), контроллер копирует нужное (валидные данные) на пустую страницу нового блока, а затем стирает весь исходный блок. После этого ячейки блока будут готовы принять новые данные. Избыточное резервирование емкости SSD (производителем и пользователем) облегчает труд мусорщиков и смягчает проблему снижения производительности/срока службы с заполнением SSD.

Твердые телом. Как раз такие в серверах и нужны

Перезапись страниц и «сбор мусора» [Источник: www.thessdreview.com]

Агрессивность сборщика мусора зависит от контроллера, его прошивок и назначения SSD. В десктопных SSD уборка мусора может быть вялым непрерывным фоновым процессом, тогда как в SSD для корпоративных приложений контроллер анализирует активность и использует время простоя для наведения порядка. Обратная сторона агрессивного сбора мусора — повышенный износ . В контроллерах SSD могут быть реализованы различные техники увеличения производительности и продолжительности жизни (усиление записи, выравнивание износа).

Эффективность борьбы за производительность и продление ресурса SSD зависит от обмена информацией между ОС и контроллером SSD о том, какие страницы могут считаться занятыми, а какие свободными. Накопитель не имеет доступа к структурам файловой системы, таким как список неиспользуемых кластеров, и остаётся в неведении об освобождении блоков. В последних релизах многих ОС была введена команда TRIM для своевременной очистки неиспользуемых ячеек до того, как в них будет произведена запись. TRIM — это уведомление твердотельного накопителя операционной системой о логических адресах ячеек, где хранятся неиспользуемые данные. Эти ячейки можно немедленно готовить к записи. При содействии ОС, контроллер убирает не только свой «плановый» мусор, а по команде TRIM еще и тот, на который ему указала ОС. Понятно, что применение TRIM может снизить объем операции по очистке и в какой-то степени упредить снижение производительности и ранний износ.

Модели использования SSD в серверах

Консервативный рынок корпоративных приложений оценивает не характеристики отдельно взятых накопителей, а их поведение под реальной нагрузкой. Высокие паспортные показатели 4K IOPS (на запись при случайном доступе) — еще не автоматический пропуск в серверы. Пользователей, привыкших к логике работы дисковых массивов HDD под управлением RAID-контроллеров, интересует, какими средствами обеспечивается надежность хранения на твердотельных накопителях и их практический пробег. В зависимости от модели использования SSD в сервере пользователь может остановить свой выбор на любом типе накопителя. В терминах продуктовой линейки Intel это может быть 320-я серия на MLC-памяти, 710-я серия на MLC-HET c повышенным ресурсом на износ, совместный с Hitachi продукт SAS SSD на памяти SLC или PCIe MLC SSD 910-й серии. Главное, чтобы выбор был осознанным и свободным от маркетинговых наслоений.

RAID-массивы на SSD

Основной сдерживающий фактор для распространения в серверах массивов из одних только твердотельных накопителей — ограниченные возможности RAID-контроллеров на шине PCIe по числу обрабатываемых IOPs. При типичных для SSD показателях интенсивности чтения 30-40K IOPs, вычислительной мощности процессора RAID- контроллера (100-150K IOPs) в реальных задачах может не хватить для обслуживания массива уже из 3-4 SSD. Здесь важно отметить, что обычные контроллеры рассчитаны на работу с HDD и учитывают их геометрию. Часть ресурсов процессора RAID-контроллера уходит на оптимизацию опросов и пути головок над поверхностью дисков, перестроение очередей чтения и записи. А SSD — это память, со своим встроенным контроллером, таблицей адресов и собственным кэшем. Когда контроллер воспринимает SSD, как HDD, он выполняет ряд бессмысленных вычислений. Отключение ненужных, тратящих циклы процессора проверок и оптимизаций, привело бы к скачку производительности. Разработчики RAID-контроллеров так и поступают — хотя их действия выглядят нелогично: к дорогостоящему контроллеру продается опциональное ПО (Fast Path для RAID-контроллеров LSI), роль которого — отключить «интеллект» контроллера (то, из-за чего он стоит дорого) при создании массивов из SSD. Но другого способа обслужить десяток и больше SSD пока нет. Ситуация изменится с выходом многоядерных RAID-чипов производительностью выше 450K IOPs и контроллеров на их.

Свою нишу определенно займут контроллерные сборки SSD на шине PCIe: Intel SSD PCIe 910-й серии на MLC-памяти, где на одной плате четыре контроллера Hitachi SAS SSD работают под управлением LSI RAID, и собственный продукт LSI — WarpDrive SLP-300 на памяти SLC, c шестью контроллерами SandForce-1500 под управлением LSI RAID. Розничная цена $2.5K за первый и $13.7K за второй считается адекватной ожидаемым от них показателей 75K IOPS и 190K IOPS на запись соответственно.

Гибридные массивы

Комбинирование SSD и HDD как рабочей среды хранения данных в серверах и дисковых массивах позволяет создавать эффективные по стоимости решения корпоративного класса. В большей степени «гибридизация» затронула СХД, где используется управление жизненным циклом данных. По мере «остывания» данные в них перемещаются со скоростных носителей (SSD, SAS 10-15K) на менее дорогие SAS NL, SATA. В серверах гибридные RAID-массивы из cмеси дисковых и твердотельных накопителей мало популярны и применяются как компромиссное решение для объединения преимущество быстрого чтения c SSD и предсказуемой сохранности данных на HDD. SSD вводятся в RAID-массив как основной носитель, при этом данные читаются с SSD, а пишутся на HDD и SSD одновременно. Результатом является увеличение IOPS на чтение без снижения общей производительности записи и полная прозрачность для операционной системы и запускаемых приложений.

SSD-кэширование

Этот подход продвигают производители СХД и RAID-контроллеров, адаптировав свое программное обеспечение под работу с SSD. Динамическое кэширование чтения/записи для ускорения ввода/вывода выполняют все RAID-контроллеры, в своей памяти DRAM. В RAID-массиве на дисках HDD это единственный аппаратный кэш. Логика его работы основана на анализе запросов (learned-path algorithm), и размещении в кэш-памяти часто запрашиваемых или «горячих» данных. То же самое можно делать, добавив SSD в качестве промежуточного звена между контроллером и RAID-массивом на HDD. При адаптации дисковой подсистемы под реальной нагрузкой на SSD накапливаются и в процессе работы обновляются «горячие» данные. Cмещение активности ввода/вывода с HDD на более скоростную память достаточно большого объема позволяет поднять производительность дисковой подсистемы в целом и снизить число обращений к вращающимся носителям. RAID-контроллер управляет SSD, как кэшем второго уровня, только емкость этого кэша в сотни раз больше размера собственной DRAM, а память у SSD постоянная.

Твердые телом. Как раз такие в серверах и нужны

SSD кэширование в RAID-массивах HDD [источник www.adaptec.com]

Технология позволяет поднять скорость работы массивов HDD без значительных начальных вложений, что делает ее привлекательной для массового рынка серверов ответственных приложений. Используется привычная программная среда настройки дисковой подсистемы и простые, интуитивно понятные инструменты для управления пулами SSD/HDD. Еще одно важное преимущество состоит в снижении капитальных и операционных затрат: уменьшение нагрузки на HDD упрощает дисковую подсистему и серверы в целом. Самый большой прирост производительности достигается в новостных веб-серверах и приложениях электронной коммерции — задачах с преобладанием коротких запросов случайного чтения. В разной степени эффект наблюдается под всеми рабочими нагрузками, критичными к IOPs: в cерверах баз данных, файловых серверах, системах электронной почты.

Прогноз

Серверный рынок еще не скоро откажется от HDD, как минимум объемное хранение в обозримом будущем без них невозможно. Скорее произойдет расслоение приложений и исполняющих их серверов — на устройства, чувствительные к скорости доступа к данным, и неспешные системы хранения статичного контента. Продвижению прогрессивных подходов мешает консерватизм рынка. Как ни странно, склонный к тотальной экономии заказчик сервера начального уровня скорее потратится на RAID-контроллер и связку HDD, чем поставит в сервер один-единственный SSD MLC-HET — хотя SSD обойдется дешевле, будет многократно производительней, риск потери данных минимален, а данных у предприятия — кот наплакал, и ему большой объем HDD просто не нужен.

Можно ожидать поляризации процесса проникновения SSD в серверы. Они заменят HDD в недорогих системах, ориентированных на операционную эффективность (веб-магазины, агрегаторы, маршрутизаторы, фильтры), и начнут вытеснять HDD из самых дорогих серверов — критичных приложений масштаба предприятия. Вырастет интеллектуальная составляющая дисковых подсистем, представленная RAID-контроллерами и специализированными файловыми системами. «Температурный» анализ данных станет рядовой функцией, алгоритмы работы с «горячими» данными изощреннее, а многоуровневое хранение — признак благородных СХД за $50K — будет реализовано в массовых серверах стоимостью до $10K.

Ждем развития событий.