`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Что для вас является метрикой простоя серверной инфраструктуры?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Выбираем серверные SSD

+55
голосов

SSD для серверов и систем хранения отличаются от SSD для ПК. Время от времени приходится напоминать, чем именно.

Как выбирают серверные SSD, подробно описано в документе Western Digital (pdf). Продукты этой компании наполняют весь стек хранения, персонального и корпоративного. Продавая все всем, важно разграничить области применения и обозначить основные принципы целевого распределения SSD. Ниже вольный пересказ с дополнениями и вариациями.

Форм-фактор

Форм-фактор определяет конструктивную совместимость SSD, можно ли накопители менять «на горячую» и сколько их поместится в сервер.

Со времен обзора "Три лика NVMe: AiC, M.2, U.2" стандартные платформы 1-2U обзавелись универсальными бэкплейнами SAS/SATA/NVMe и бортовыми коммутаторами PCIe – что расширило применимость форм-фактора 2.5” (он же Small Form Factor, SFF, он же U.2 – если речь об NVMe). В сервер 1U можно установить до 12 таких накопителей с горячей заменой, в 2U стандартно помещается до 24. К каждому U.2 подводится четыре линии PCIe.

SSD формата add-in card (AIC) еще называют HH-HL (half height, half length). Это платы, устанавливаемые в слот PCIe. Как все внутренние устройства, они не меняются «на горячую». Зато, благодаря подключению х8-х16 PCIe и лучшему, чем у 2.5”, теплоотводу, потенциал производительности AIC SSD выше.

Формат M.2 – наиболее компактный формат SSD для подключения непосредственно в материнскую плату (без возможности горячей замены), по интерфейсу NVMe (x2-x4 PCIe) или SATA. Длина планки M.2 варьируется от 42 до 110 мм (2242-22110).    

M.2 SSD в серверах используются под загрузку. AIC SSD обычно ставят в уже имеющиеся серверы, не оснащенные бэкплейнами под NVMe. Унификация под SFF удобна типоразмером и возможностью горячей замены.

Выбираем промышленные SSD

Интерфейс

Интерфейс - тип электрического и логического взаимодействия SSD и CPU. От него зависят ширина полосы пропускания, задержки обращения, расширяемость пула хранения и возможность горячей замены накопителей.

В ходу три логических протокола (интерфейса) общения SSD с хостом: SATA, SAS, NVMe. За каждым интерфейсом – своя целевая группа. SATA – фаворит домашних систем (откуда его активно вытесняет M.2 NVMe) и популярен в нижнем серверном сегменте. SAS привлекает производительностью, поддержкой двухпортового доступа, масштабируемостью хранения, включая смешанные SSD/HDD-системы. NVMe – протокол исключительно под SSD и приложения, критичные к низким задержкам обращения к данным с широкой полосой доступа.

SATA – самый дешевый, низкоскоростной и наименее расширяемый интерфейс для SSD. Его последнее поколение SATA-III не позволяет пропустить поток больше 600 MB/s, а высокие задержки обращения к данным обусловлены протоколом. Для механических дисков все это не имело значения – они больше выдать не могли физически. Не то, что SSD. SATA SSD уместны в качестве загрузочных устройств или в приложениях, не критичных к отклику. Их объединяют в массивы средствами ОС или аппаратных контроллеров – если надо обеспечить защиту данных.

SAS  – куда более «промышленный» интерфейс (важная для отказоустойчивых систем хранения двухпортовость, масштабирование хранения, высокая пропускная способность). SAS 12G держит поток свыше 1GB/s по каждому из двух подключений. Накопителям SAS нужен HBA или RAID-контроллер. У современных контроллеров широкие возможности управления массивами SSD или смешанными SSD/HDD. Для расширения подсистемы хранения одиночного сервера к RAID-контроллеру можно подключить JBOD, например, 2U на 24 SSD.

Интерфейс NVMe обеспечивает включение SSD непосредственно в шину PCIe, линии которой ведут прямиком в CPU – без промежуточной логики, чипсета или коммутатора. Интерфейс с самого начала создавался как скоростное соединение на уровне производительности динамической памяти. На шине PCIe 3.0 c ее полосой до 1 GB/s на линию, слот x4 PCIe потенциально способен доставлять к NVMe SSD 4GB/s. Устранены стеки SAS/SATA c их ограничениями и задержками, что сократило отклик до 1-2 микросекунд. Пока что внутрисерверный интерфейс, NVMe скоро выйдет за его пределы – в виде NVMe over Fabric. 

Выбираем промышленные SSD

NVMe вытесняет SATA SSD из потребительских устройств – с одиночными носителями это просто. В серверах и системах хранения, с их массивами SSD, пока есть место всем трем интерфейсам. Критичные к задержкам и потоку данных приложения переводят на NVMe, SAS остается средством масштабирования, а SATA – экономичного хранения.

Типы флэш-памяти

Сегодняшние SSD построены на множестве вариаций флэш-памяти: от одноразрядных ячеек до трехмерных пакетов, где каждая ячейка размещает до 16 различных уровней заряда. Понимание преимуществ и недостатков каждого типа NAND помогает оптимизировать подбор SSD под конкретные приложения.

Ячейка памяти NAND – базовый элемент твердотельного хранения. В каждой такой ячейке можно разместить более одного разряда данных, подстройкой алгоритмов чтения и записи и наращивая емкость хранения, оставаясь в приемлемых ценовых рамках. 

В одноуровневых ячейках SLC, изначально ставших компонентной базой для SSD, было два состояния – 0 и 1. В пришедших им на смену многоуровневых ячейках MLC используется один из четырех уровней  заряда для двухбитного представления. Технология MLC удвоила емкость ячейки против SLC и привела к  массовому распространению твердотельного хранения. Следующим шагом стали треухровневые ячейки – TLC NAND, где размещаются три бита на ячейку на восьми уровнях заряда. Производительность чтения у TLC на уровне MLC, но показатели записи значительно хуже.
 
Первые поколения SSD имели плоскую полупроводниковую архитектуру – 2D NAND, где для увеличения емкости надо было уменьшать размер ячеек – чему есть физический предел. С переходом на 3D NAND – объемное формирование запоминающих элементов и многослойную литографию – появилась возможность существенно увеличить емкость твердотельных устройств.
 
Дошло и до четырехуровневых ячеек  QLC NAND: четыре бита на ячейку, шестнадцать разных уровней заряда. Известные давно, они только в 2018 году вышли за пределы лабораторий. У них такая детализация по уровням хранения в каждой ячейке, что запас ресурса перезаписи невелик. Накопители на QLC-элементах годятся разве что для архивного хранения с нечастым обновлением.
 
Собственно, у SSD с 3D NAND TLC характеристики тоже далеки от идеальных: высокие задержки обращения к ячейкам с вертикальным наращиванием емкости порождают сложности в управлении стеком слоев. Впрочем, у таких устройств больше/дешевле объем хранения и скорость потоковой передачи данных. Здесь нужно быть готовым к компромиссу: или скоростные, но ограниченные в объеме, либо медлительные и емкие. В этой формуле явно присутствует еще и фактор цены.
 
Фактически, за нас многое решили производители: современные элементы NAND как хамелеон могут менять свою структуру. В условия вялого трафика они становятся TLC/QLC, если нужно – прикидываются SLC. Эту технологию называют SLC-кэшированием, хотя это и не вполне отражает ее суть. Ее алгоритмы сложны и адаптируются к трафику, развиваясь в сторону машинного обучения и насыщаясь элементами искусственного интеллекта. Серверостроителю нужно брать в расчет, что результаты предварительного тестирования могут не совпадать с характеристиками SSD в эксплуатационных нагрузках. Варианты с настольными накопителями, контроллеры которых с недавних пор тоже оснащены  SLC-кэшированием, не дадут реальной картины, так как поведение серверных алгоритмов будет кардинально отличаться от пользовательских.
 

Выбираем промышленные SSD

Особняком стоит Intel Optane на основе памяти 3D XPoint, демонстрируя свое преимущество над классической архитектурой SSD. Тот случай, когда в погоне за низкими задержками цена не так критична.
 
От использования 3D XPoint пользователь только выиграет, если будет доработана инфраструктура его поддержки. Есть еще потенциал для полного погружения Intel Optane в операционную среду: драйверы нуждаются в постоянной оптимизации с учетом персистентных свойств нового твердотельного носителя. Но даже в текущем исполнении реализация от Intel по производительности опережает и конкурентов, и время.
 
Появление Optane придало системам хранения неожиданный импульс. Пока Intel «раскачивается» с внедрением  революционного подхода к расширению памяти   Direct Access, DAX), Western Digital пошла эволюционным путем: до сотни терабайт ОЗУ можно получить относительно дешевыми накопителями Ultrastar DC ME20 – было бы это нужно.
 
Обработка ошибок

Важное отличие серверных SSD от потребительских – в защите данных. У SSD три зоны риска: ошибки NAND, отказы питания, угрозы целостности уже записанных данных.
 
Базовую защиту обеспечивает коррекция ошибок ECC. Она помогает даже стареющим, «шумящим» ячейкам сохранять данные достоверными. Алгоритмы коррекции зависят от типа и геометрии NAND: чем больше уровней (от SLC к QLC) – тем затратнее ECC-код. Некоторые контроллеры SSD умеют модифицировать программирование ячеек и алгоритмы чтения по мере старения устройства – чтобы уменьшить количество ошибок чтения/записи, упростить их выявление и исправление.
 
Защита по питанию критична для транзакционных баз данных и других приложений, где сбой записи данных обходится дорого. У SSD есть небольшой объем RAM для обработки данных перед записью в предварительно освобожденную область флэш-памяти. Обесточивание приводит к потере части данных и возможному нарушению их целостности. Обычно, в серверных SSD ставят суперконденсаторы (ultracapasitors), емкости которых достаточно для безопасного переноса данных из RAM в NAND. 
 
Проверки целостности записанных в NAND данных (end-to-end data path protection или коротко E2E) с помощью контрольных разрядов четности помогают отловить «тихие» ошибки (случайную смену разрядов с 0 на 1 и наоборот). Для SSD-накопителей технология E2E обобщает защитные механизмы на весь тракт передачи данных и делегирует управление этим процессом хост-платформе. Оснащение SSD защитными функциями – тоже всегда компромисс с производительностью. Единичная потеря битов восстанавливается «малой кровью». Продвинутые алгоритмы, способные гарантировать достоверность данных с множеством искажений, требуют вычислительных затрат со стороны управляющих контроллеров. Нужно быть готовым к тому, что у слишком «умного» накопителя и латентность будет повыше, и производительность похуже.
 
В оценке нештатных ситуаций существует расхожее мнение, что все интеллектуальные усилия SSD тратит на достоверность записи. Но изнашивающим фактором для ресурса твердотельных устройств является также и чтение. Тенденция в дизайне серверных накопителей – на усиление интеллекта читающих технологий. SSD-контроллеры отслеживают деградацию NAND и готовят метаданные с таблицами опорных напряжений чтения в зависимости от износа групп ячеек.
 
Метрики производительности

Сравнивают SSD под репрезентативной нагрузкой. Избирательного чтения спецификаций недостаточно.  Метрики оценки SSD: пиковая производительность (IOPS), пропускная способность (MB/s), задержки одиночного обращения и в очереди запросов (ms), качество сервиса (QoS).
 
IOPS – число операций ввода-вывода (I/O), которые SSD может обслужить за секунду, в привязке к размеру блока данных (обычно, 4 KB). Не так важны показатели чистого чтения и записи, как производительность в смешанной нагрузке  – более реалистичной для SSD (и более сложной).
 
Пропускная способность (throughput) – объем передаваемых к/от SSD данных в единицу времени. Имеют значение направление потока и его структура (чистые чтение, запись, или их смесь).

Задержка (latency) – отрезок времени от обращения приложения через ОС и тракт данных к SSD до получения подтверждения (что данные записаны) или порции данных (чтения). Задержки обычно измеряются милли- и микросекундами, в будущих устройствах постоянной памяти дойдет до наносекунд. Обозначая задержки, важно понять, о каком количестве отдельных команд I/O речь. Одно дело – одиночные запросы (unloaded latency), другое – очередь запросов глубиной X c параллельным исполнением X команд I/O (loaded latency). Более информативны показатели задержек на ожидаемом уровне нагрузок.

Качество обслуживания (QoS) – это постоянство производительности в течение определенного промежутка времени с фиксированным уровнем достоверности. Обычно «макро QoS» относится к среднему по времени показателю IOPS, в то время как «микро QoS» отображает задержки отдельных операций I/O и выход измерений за пределы.

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

В реальной жизни практически нет 100%-чтения и 100%-записи. Поскольку оторванные от практики показатели производительности бесполезны, нужны замеры под смешанной нагрузкой  – например в отношении 60:40 или 70:30 при тестировании баз данных OLTP или OLAP, или с профилем нагрузок 90:10 – если речь идет о ненагруженных базах или журналах транзакций.

К любым тестам SSD нужно «готовить» (preconditioning). Производительность «из коробки» (fresh out of the box, FOB) и производительность «в состоянии насыщения» (steady state), замеренная после продолжительной серии операций I/O, сильно различаются (см. рис 2). Влияние SLC-кэширования и других «умных» алгоритмов иногда просто обескураживающее.

Выбираем промышленные SSD

Постоянные устройства Intel Optane на памяти 3D XPoint, как уже сказано, обладают выдающимися характеристиками производительности. В отличие от NAND SSD, Intel Optane выходит на высокие показатели на одиночных запросах, не на длинных очередях (типичный пример злоупотребления в рекламе, редкий в реальной практике). А еще нужно быть готовым к тому, что низкая латентность Optan может вызвать неожиданно высокую загрузку CPU – процесс парадоксальный, но вполне объяснимый.

Ресурс, питание, производительность и служебный резерв ячеек

Прогноз ресурса SSD дает паспортный параметр Endurance – в терминах суточной перезаписи накопителя или предельного объема записи на всем сроке эксплуатации.

Устойчивость к перезаписи в DWPD (Drive Writes Per Day) зависит от типа ячеек флэш-памяти, контроллера SSD, алгоритмов записи в ячейки и выравнивания износа. А еще – от размера области служебных ячеек (overprovisioning). Серверные SSD поставляются с фабричным запасом 1…20% и выше от общей емкости ячеек – что в большой степени определяет их позиционирование (Read Intensive – Mix Load – Write Intensive). Пользователь может  отформатировать SSD на меньшую емкость, подняв его производительность записи случайного доступа и ресурс.

Настраивать можно и энергопотребление. В спецификации серверных SSD приводятся значение энергопакета по умолчанию, в пределах требований интерфейса: порядка 25 ватт для NVMe SSD, 10-14 ватт для SAS, 5-10 ватт для SATA. Показатели можно принудительно «прижать» – разумеется, ценой потери производительности – если специфические нагрузки накладывают жесткие ограничения по тепловыделению.

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

В индустрии давно наметился тренд на снижение ресурса SSD: c переходом на новые NAND -технологии и увеличением емкости накопителей ранний износ флэш-памяти кажется меньшей угрозой, чем раньше. Это связано с тем, что не все корпоративные приложения порождают интенсивную запись случайного доступа, ОС сглаживают нагрузки в оперативной памяти, а пользователи покупают SSD c меньшим DWPD, но существенно большей емкости – облегчая контроллерам выравнивание износа.

Мониторинг и управление

Инструментальные средства мониторинга здоровья и производительности SSD помогают прогнозировать отказы.

Базовая технология мониторинга состояния SSD SMART (Self-Monitoring, Analysis, and Reporting Technology) доступна и для твердотельных накопителей SATA, SAS, NVMe, и для твердотельной памяти на 3D XPoint. Продвинутые производители SSD используют расширенные возможности интерфейса SAS по журналированию ошибок – для более детального анализа состояния накопителей, создают инфраструктуру мониторинга для NVMe, интегрируют сервисные утилиты в программные средства управления хранением.

NVMe, кроме того, могут оснащаться своим BIOS, наподобие SCSI-адаптеров. Это полезно для отказоустойчивых массивов на твердотельных накопителях и не только: управление становится эффективнее за счет ПО, уже включенного в поставку SSD-диска. В частности, серверные Intel Optane в обязательном порядке содержат свою прошивку, доступную из ОС по открытым протоколам. Проприетарные протоколы обслуживают микрокод NVMe и его обновление.

К чему все это?

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

+55
голосов

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT