Популярность твердотельных накопителей на основе флеш-памяти неуклонно растет, и они не ограничиваются потребительским уровнем. В частности, за последние годы компания Kingston вывела на рынок много SATA и NVMe SSD серверного класса (A2000, DC500 и т.д.) с длительными гарантийными сроками (до пяти лет).
Этот факт заставил нас задуматься: а нужны ли в нынешних серверах SAS-накопители? Почему производители накопителей все чаще выводят на рынок твердотельные решения корпоративного класса с поддержкой SATA и NVMe, которые даже позиционируются надежнее SAS-решений (если смотреть на сроки гарантии, например)? Не стал ли протокол SAS лишним?
Давайте сразу ответим на вопрос «почему же в последние пару-тройку лет производители начали выпускать корпоративные решения на базе SATA и NVMe, как горячие пирожки?». Нетрудно догадаться, что на рынок твердотельных накопителей влияют многие факторы, наиболее очевидным из которых является ежегодное снижение цен на флеш-память NAND, которая используется в картах памяти и твердотельных накопителях.
Снижение стоимости чипов флеш-памяти подтолкнуло производителей на разработку соответствующих решений для центров обработки данных и корпоративных сценариев использования. С другой стороны, более низкая стоимость клиентских твердотельных накопителей побуждает производителей оригинального оборудования (OEM) встраивать их в потребительские ПК и растущее число корпоративных устройств хранения данных.
В этой статье мы разберем все типы накопителей и постараемся разобраться для каких задач они подходят лучше всего: в каких сценариях можно отдать предпочтение SATA и NVMe-решениям, а в каких по-прежнему стоит полагаться на SAS. В конечном счете, чтобы правильно выбрать твердотельный накопитель для различных серверных нагрузок, ИТ-менеджеры должны знать плюсы и минусы всех интерфейсов SSD.
SATA SSD, SAS SSD и NVMe SSD: в чем разница между накопителями и протоколами подключения?
SATA, SAS и NVMe – это три наиболее распространенных интерфейса. Первые два используют наборы команд ATA и SCSI соответственно. NVMe, по сравнению с ними, – это относительно новый набор команд, который работает по шине PCI-e.
Разница лишь в том, что если SATA и SAS SSD мешает ограничение по скорости, которое диктуют интерфейсы SATA III и SAS III, то NVMe-накопители не утыкаются в потолок своих «собратьев», предлагая более высокую производительность. А для грамотного применения накопителей NVMe в центрах обработки данных разработаны специальные стандарты передачи команд NVMe через RDMA (поверх InfiniBand или Ethernet — RoCE и iWARP) и Fibre Channel без трансляции в SCSI под названием NVMe over Fabrics.
По сути, на все эти интерфейсы возлагается одна и та же задача – передача данных и обеспечение взаимодействия серверов с контроллерами и накопителями. Но дьявол, как говорится, кроется в деталях. Так и в нашем случае – в основе каждого протокола лежат разные принципы работы, а на выходе получаются разные результаты в отношении скорости обработки данных, времени доступа к ним и т.п.
1. SATA SSD (Serial ATA)
Многие представители отраслей корпоративного хранения данных полагают, что интерфейс SATA достиг предела производительности. Более того, в его дальнейшем развитии и улучшении уже давно не предвидится никаких разработок.
Что ж..., с одной стороны производительность SATA SSD находится на стабильном уровне. Но в то же время она может быть узким местом для серверов, не позволяя процессору своевременно обрабатывать необходимые операции. Как итог: недостаточное использование вычислительных возможностей сервера повлияет на количество пользователей, которые могут обслуживаться одновременно, и вызовет лишь неудобства для последних.
В частности, команды ввода-вывода при развертывании твердотельных накопителей SATA на сервере должны проходить через программный стек, который не может полностью использовать производительность флеш-памяти, потому что набор команд изначально был разработан для недорогих жестких дисков низкого уровня. Из-за этого серверы с мощными многоядерными процессорами и большим количеством DRAM могут ждать завершения операций или транзакций, что не позволяет использовать весь потенциал вычислительных ресурсов на максимум.
2. SAS SSD (Serial Attached SCSI)
По сравнению с корпоративными твердотельными накопителями SATA SSD, SAS-накопители предлагают значительные улучшения по части полосы пропускания и пропускной способности. При передаче данных SATA использует только полудуплекс и одновременно задействует только одну полосу. Но SAS – полнодуплексный. Это означает, что твердотельные накопители SAS имеют гораздо более высокую скорость передачи данных.
Кроме того, твердотельные накопители SAS III обеспечивают скорость передачи данных от 6 Гбит/с до 12 Гбит/с, что в два раза быстрее, чем SSD-накопители на базе SATA III (до 6 Гбит/с). А значит интерфейс SAS всегда в два раза быстрее, чем SATA, и в 4 раза быстрее, если учесть, что SAS двухпортовый и дуплексный. Если исходить из теории, пропускная способность SATA III при манипуляции блоками 4K равна 150 000 IOPS (операций в секунду). И это максимальная скорость в двух направлениях (чтение/запись). Потенциальная скорость для SAS 6Gb в этом случае будет 300 000 IOPS (полный дуплекс), а для SAS 12Gb – 600 000 IOPS (300 000 IOPS при чтении и 300 000 IOPS при одновременной записи).
По сравнению с SSD на основе SATA, твердотельные накопители на основе SAS обеспечивают лучшую общую сквозную целостность данных и обладают более гибко настраиваемой структурой отчетности. Наконец, если массив или сервер поддерживает интерфейс SAS, к нему можно подключить твердотельные накопители на базе SAS или SATA, и оба будут работать. Однако в массивы или сервера с объединительной платой SATA накопители SAS установить не получится: в этом случае будут работать только твердотельные SATA-решения.
Отметим, что раньше SATA использовался как недорогой интерфейс для жестких дисков потребительского уровня. В то время как SAS был разработан для улучшения инфраструктуры и возможностей управления дисками в серверных массивах. То есть у SAS изначально больше возможностей, чем у SATA. Например, он умеет работать с несколькими устройствами одновременно, в то время как SATA работает по принципу «устройство-хост» и никакой мультизадачности не подразумевает. SAS-накопители предлагают несколько уровней безопасности и шифрования данных, поддерживают восстановление ошибок и создание отчетов об ошибках. Безусловно, все эти опции предлагают и современные SATA- и NVMe-SSD на уровне контроллера, но разница в работе все-таки перевешивает.
3. NVMe SSD (Non-Volatile Memory Express)
NVMe намного быстрее, чем интерфейс SATA: за счет прямого подключения к шине PCI-e максимальная скорость передачи данных достигает 985 Мбайт/с на полосу, при этом накопители NVMe могут использовать четыре полосы PCI-e 3.0 и достигать скорости в 3940 Мбайт/с (3,9 Гбайт/с). Это отличный потенциал, если учитывать, что стоимость NVMe-решений практически сравнялась с SATA-устройствами.
Вкупе с NVMe-решениями клиент получает независимость от ограничений стеков SATA и SAS, предлагая новый набор команд, принцип обработки очередей и поддержку многопоточных нагрузок. Это как раз тот накопитель, который может задействовать процессорные ресурсы на полную мощность, если мы говорим о связке NVMe с мощными многоядерными процессорами.
К сожалению, серверный рынок медленно поддается изменениям, поэтому NVMe-решения в системах хранения и обработки данных встречаются реже, чем SAS- и SATA-решения. Это связано с тем, что работа с устройствами на базе новых стандартов требует изменений в подходах к масштабированию и обслуживанию. Например, клиентские устройства должны обладать поддержкой форм-фактора M.2 или U.2/U.3 (для этого в серверах могут использоваться гибридные объединительные панели U.2/SAS/SATA).
Однако стандартных софтверных средств бывает недостаточно, чтобы раскрыть потенциал NVMe в рамках сервера на полную. Сейчас эту проблему помогают решить трехрежимные аппаратные RAID-контроллеры Broadcom, которые позволяют обслуживать все накопители (NVMe/SAS/SATA) через SAS-стек микросхемы RoC (RAID on Chip). Но в этом случае контроллер выступает посредником между NVMe и процессором. А еще подобное подключение не позволяют использовать больше двух или четырех NVMe SSD. Связано это с тем, что контроллеры, обычно, поддерживают 8 линий PCI-e (реже 16).
Выходит, что с одной стороны гибридные платформы удобны своей универсальностью, а с другой стороны – будущее серверных систем заключается в полном переходе на U.2/U.3-накопители. Тогда мы и сможем воочию оценить максимальную производительность без вкрапления так называемых «посредников».
SAS-, SATA-, NVMe SSD: в каких серверах и для каких целей использовать
Наше сопоставление накопителей SAS, SATA и NVMe полностью базируется на сценариях использования и на финансовых затратах для организации, а не просто сравнении скоростей передачи данных, скорости интерфейсов, времени доступа и т.п. Поэтому мы просто составили несколько советов, которые помогут определиться: для каких целей использовать то или иное хранилище.
1. Если нужно хранить много данных в общем доступе
В случае, когда основной задачей является общее хранение файлов на сервере – можно ограничиться SATA SSD, ведь SATA-интерфейс лучше всего работает при передаче данных на накопитель. RAID-массив в этом случае станет здравым вариантом для ускорения, при этом скорость интерфейса не будет выступать ограничением.
Рекомендация эта применима по большей части к малому бизнесу с небольшим штатом сотрудников, которые могут одновременно использовать серверное пространство. Для сервера, в котором установлено от двух до четырех накопителей использование SATA-решений также вполне приемлемо. А вот при использовании большого количества накопителей с перспективой расширения офисной экосистемы — логичнее полагаться на SAS.
2. Если нужно минимизировать задержки доступа
В ситуациях, когда клиенту необходимо обеспечить максимальную скорость отклика для систем ввода/вывода данных – логичней использовать сервера с поддержкой NVMe SSD (латентность, по скромным меркам, снижается примерно в три раза). Такие накопители оптимально подходят для систем видеоаналитики, обучения нейросетей, высокочастотного трейдинга и распространения контента.
Необходимы они и VPS-провайдерам, которые разворачивают игровые площадки (в духе Steam и Epic Games Store) или игровые сервера под MMO-игры. А при условии, что стоимость U.2 NVMe-накопителей (таких как Kingston DC1000M) не сильно отличаются от ценников на SATA SSD – вопрос выбора особо и не стоит. Единственный минус – такие накопители не получится объединить в аппаратный RAID-массив. Если такая необходимость есть – переходим к третьему пункту.
3. Если нужны минимальные задержки и аппаратный RAID
В случае с твердотельными SAS-накопителями мы получим быстрое чтение и быструю запись данных непрерывно. К тому же SAS работает со множеством устройств, как с единой сетью, позволяя объединить их в аппаратный RAID. Альтернативы в этом плане у них попросту нет.
Да, и в целом SAS — более быстрая технология, чем SATA, поскольку передает данные из хранилища так же быстро, как и в хранилище. Серверы и рабочие станции в значительной степени зависят от передачи данных, поэтому в серверах, подразумевающих сильную нагрузку, лучше иметь оборудование, которое может отправлять и получать информацию в быстром темпе.
Итоги
Если принимать во внимание, что SATA-интерфейс пришел в промышленную сферу с потребительского рынка, накопители SAS применять предпочтительнее, а SATA SSD, как мы уже отметили выше, подойдут для менее серьезных задач, которые не предполагают серьезных затрат на развертывание корпоративной сети и высокую нагрузку. А когда NVMe-решения прочно придут на смену SAS и SATA, вытеснив их с рынка – у нас будет новый повод поговорить об этом. Делитесь в комментариях своими наблюдениями и рассказывайте, какие накопители выбираете для собственных нужд. А главное – почему?
Для получения дополнительной информации о продуктах Kingston Technology обращайтесь на официальный сайт компании.
pnp2000
SATA полудуплекс? Вы серьезно? Основное различие в SATA и SAS, если не вдаваться в различия в протоколах, в том что в SATA один канал передачи данных, а в SAS их два, что позволяет подключить диск к разным контроллерам и таким образом защитится от выхода из строя контролера или какого-то элемента «по пути» к диску.
DaemonGloom
В данной ситуации они правы, SATA — полудуплекс, SAS — полнодуплексный. Причём по каждому порту одновременно.
pnp2000
Да, но в серверах ставят SAS по другой причине.
maxzhurkin
pnp2000
Но не это ключевое отличие SAS и SATA, тем более для серверов, для Workstation может да, но не серверов.