Как и было обещано в публикации «Цельность и преимущества использования серверных дисков, построения RAID-массивов, стоит ли экономить и когдаЭ» , остановимся подробнее на проблеме выбора твердотельных накопителей.
Но сначала немного теории.
Твердотельные накопители (SSD) — это накопители, нацеленные на обеспечение минимальной задержки (задержки перед началом операции чтения или записи) и большого количества IOPS (операций ввода/вывода в секунду, операций ввода/вывода в секунду).
При выборе SSD пользователь ориентируется в первую очередь на то, насколько быстро накопитель будет решать его задачу и насколько надежным будет хранение данных на нем.
Твердотельные накопители состоят из микросхем NAND, образующих массив памяти; они не имеют недостатков HDD-накопителей, так как отсутствуют движущиеся части и механический износ, за счет чего достигается высокая производительность и минимальная задержка (в жестких дисках основная задержка связана с позиционированием головки).
Каждая ячейка памяти может быть перезаписана определенное количество раз.
Операции чтения не влияют на износ SSD. Используются три основных типа микросхем NAND: SLC (Single Level Cell), MLC (Multi Level Cell) и TLC (Three Level Cell) — микросхемы с одноуровневыми, многоуровневыми и трехуровневыми ячейками.
Соответственно, ячейки в SLC могут использовать два значения напряжения 0 или 1 (могут хранить 1 бит информации), в MLC 00, 01, 10 или 11 (хранить 2 бита информации), в TLC 000, 001, 010, 011. , 100, 101, 110 или 111 (хранить 3 бита).
Становится понятно, что чем больше значений может принять ячейка, тем больше возрастает вероятность неправильного чтения этого значения, чем больше времени требуется на исправление ошибок, тем больше информации может хранить накопитель.
Именно по этой причине TLC требует большего количества ECC (кода исправления ошибок).
При этом количество циклов перезаписи уменьшается с увеличением плотности хранения информации и максимально у SLC, а потому эта память является самой быстрой, поскольку чтение одного из двух значений происходит гораздо проще.
Теперь немного об особенностях самих микросхем.
Память NAND, в отличие от памяти NOR, используемой во флэш-накопителях, более экономична и имеет ряд преимуществ и недостатков.
К преимуществам относятся гораздо большая емкость массива и возможность более эффективного последовательного чтения.
Недостатками являются постраничный режим доступа, отсутствие произвольного доступа к данным, появление дополнительных ошибок из-за высокой плотности записи данных в ячейках.
Каждый чип NAND разделен на страницы по 512 или 256 КБ, которые, в свою очередь, разделены на блоки по 4 КБ.
Можно читать и писать на отдельные страницы, если они пусты.
Однако после размещения информации ее нельзя перезаписать, пока не будет стерт весь блок страниц.
Это основной недостаток, который оказывает огромное влияние на эффективность записи и износ накопителя, поскольку чип NAND имеет ограниченное количество циклов перезаписи.
Чтобы обеспечить равномерный износ всех ячеек и равномерную утилизацию накопителя, контроллер во время записи перемещает записанные данные с места на место, тем самым увеличивая влияние WAF (Write Amplification Factor) на работу SSD, из-за чего количество реально записанной информации значительно больше, чем логической информации, записанной пользователем, в результате чего скорость случайного чтения снижается.
По сути, данные перемещаются с места на место более одного раза, поскольку информация в памяти должна быть стерта перед повторной записью, и чем эффективнее реализован алгоритм WAF, тем дольше проживет накопитель.
Технология Over-Provisioning позволяет оптимизировать основной недостаток, связанный с записью/перезаписью, а также улучшить производительность и увеличить срок службы накопителя.
Он заключается в том, что на каждом из накопителей выделяется недоступная пользователю область, которую контроллер использует для перемещения данных, тем самым нивелируя скорость износа ячеек, так как для стирания ячейки размером 4 КБ необходимо стереть всю строку ячеек (256 или 512 КБ), что логичнее выполнять в фоновом режиме, используя для записи в первую очередь нераспределенную область.
Несложно понять, что чем больше площадь ИЛИ, тем легче контроллеру будет выполнять возложенные на него функции, тем меньше будет WAF и тем эффективнее будет случайная запись и случайное чтение.
Производитель отводит под ОР от 7% до 50% объема накопителя, за счет чего скорость записи существенно увеличивается, как видно из графиков, представленных ниже (ОР 0%, 12%, 25%, 50%).
Как мы видим из графиков, производительность существенно возрастает даже при RR 25% и выше.
Большинство производителей твердотельных накопителей позволяют управлять этими параметрами; У Samsung также есть полезная утилита для этих целей:
В чем разница между сервером и настольным диском? Самая важная разница заключается в том, насколько эффективно обрабатывать операции непрерывной записи, и это в основном определяется типом чипа, используемыми алгоритмами и областью избыточного выделения ресурсов, выделенной производителем.
Например, для серии Intel 320 Over-Provisioning составляет 8% от мощности его чипов, а для Intel 710 — 42% накопителя, который, кажется, имеет идентичный тип чипа.
Более того, Intel рекомендует оставлять нераспределенными как минимум еще 20% при создании раздела, чтобы их также можно было автоматически использовать для избыточной подготовки, даже на серверных дисках, где 42% уже выделено.
Это продлит срок службы накопителя до 3 раз, так как WAF сократится, и повысит производительность записи до 75%.
Но в чем принципиальная разница между дисками для настольных ПК и дисками для серверов? Возьмем для примера накопители Intel 320 и 520 — хорошие настольные твердотельные накопители, последний использует «хитрость» в виде контроллера LSI SandForce, который сжимает записанные данные и передает их на накопитель в сжатом виде, таким образом увеличение скорости записи.
И сравните их с серверным накопителем Intel серии 710. Инте отличается от других производителей тем, что довольно подробно и честно пишет технические характеристики, и мы всегда можем знать производительность в разных режимах использования накопителя, что очень полезно в нашем случае.
Именно поэтому мы выбрали их для сравнения, хотя некоторые уже сняты с производства и есть более новые модели, но дело не в этом.
Наша цель — разобраться в различиях и принципах выбора, которые, несмотря на обновления, особо не изменились.
http://ark.intel.com/ru/products/56563/Intel-SSD-320-Series-120GB-2_5in-SATA-3Gbs-25nm-MLC - смотрим и видим, что: Случайное чтение (раздел 8 ГБ) — 38000 IOPS Случайное чтение (сегмент 100%) – 38000 IOPS Произвольная запись (область 8 ГБ) — 14000 IOPS Произвольная запись (100% площадь) – 400 IOPS То есть, если мы на нашем SSD на 120 ГБ занимаем всего 8 ГБ, отдавая более 90% емкости Over-Provisioning, то производительность произвольной записи вполне хорошая и составляет 14 KIOPS. если использовать все пространство — всего 400 IOPS на случайную запись, производительность падает в 35 раз и оказывается на уровне пары хороших SAS-дисков! Теперь давайте рассмотрим http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/ssd-710-series-specification.pdf , как мы видим, даже при 100% заполнении доступной емкости скорость записи вполне приличная — 2700 IOPS, а при наличии 20% емкости для Over-Provisioning она увеличивается до 4000 IOPS. Это следствие небольшой, но все же другой памяти, с High Endurance Technology (HET), проще говоря, это использование выделенной памяти.
Также используется другая прошивка с другим алгоритмом записи, что снижает количество ошибок и продлевает срок службы накопителя.
И что очень важно, используется другой алгоритм очистки свободного места.
Благодаря этому производительность практически всегда поддерживается на достойном уровне при НЕПРЕРЫВНОЙ работе; диск постоянно очищается в фоновом режиме и оптимизируется распределение данных.
В настольном Intel 320 оно может несколько падать при постоянной работе, так как процессы очистки происходят не постоянно.
Вывод — десктопный диск проживет довольно долго на небольших объемах данных и может обеспечить достаточно хорошие результаты по скорости, если имеется большое пространство для Over-Provisioning. Когда это выгодно? Допустим, есть база данных, та же 1С, к которой нужен доступ 10-20 пользователей.
База данных имеет объем 4 ГБ.
Для Over-Provisioning мы выделяем более 90% емкости хранилища и выделяем только то, что необходимо, с небольшим запасом, скажем, 8 ГБ.
В результате мы имеем достаточно хорошую производительность и экономичность решения при очень хорошем показателе надежности.
Конечно, в случае с 40-50 пользователями 1С все равно будет лучше использовать серверный накопитель, так как при постоянной нагрузке производительность десктопного SSD все равно будет падать.
Теперь подробнее рассмотрим накопители с контроллерами SandForce. Просмотр спецификаций http://download.intel.com/newsroom/kits/ssd/pdfs/intel_ssd_520_product_spec_325968.pdf , приходим к выводу, что Intel 520 — очень хороший вариант в случае со сжатыми данными, обеспечивающий до 80 000 IOPS на запись, но в случае несжимаемых данных, например видео, производительность падает существенно — до 13 KIOPS. или менее.
Помимо прочего, в небольшой сноске (цифра 2) указано, что такие фантастические скорости записи (80 KIOPS) достижимы только в тех случаях, когда выделяется всего 8 ГБ, что в случае накопителя емкостью 180 ГБ составляет всего около 3% его емкости.
, остальное отведено под Over-Provisioning, в результате снова можно сделать вывод, что этот диск будет хорошо работать с небольшими базами данных и текстовыми файлами, а если вам нужно быстро записать несжимаемые данные, например видео, то все же лучше используйте полноценные серверные диски.
Также стоит отметить, что 320-я серия хоть и считается настольной, но на самом деле является полусерверной, поскольку, помимо всего прочего, накопитель содержит суперконденсатор, который в случае сбоя питания позволяет сохранить данные с кэш самого диска.
А у 520 этого нет. Поэтому очень важно при выборе накопителей обращать внимание на подобные особенности.
Таким образом, 320-я серия будет медленнее 520-й, но надежнее.
Справедливости ради стоит поговорить о накопителях других популярных производителей — Seagate и Kingston. В чем разница? Seagate Pulsar, в отличие от рассмотренных выше накопителей, имеет интерфейс SAS, а не SATA, и в этом его главное преимущество.
Твердотельные накопители с интерфейсом SATA имеют контроллер безопасности данных на накопителе и контроллер безопасности данных на самом контроллере, но то, что происходит с данными на этапе их передачи, отслеживается недостаточно хорошо.
Интерфейс SAS решает эту проблему и полностью контролирует канал передачи, а в случае возникновения какой-то ошибки из-за тех же помех – исправит ее, интерфейс SATA – нет. Кроме того, он использует надежность самого интерфейса SAS, когда вместо 512 записывается 520 байт вместе с 8 байтами четности.
Помимо прочего, мы можем воспользоваться преимуществами дуплексного интерфейса SAS, но о том, где это можно использовать, лучше рассказать в отдельной публикации.
Что касается серии накопителей Kingston, то это не только надежные накопители, но и очень производительные.
До недавнего времени их серия серверов была одной из самых быстрых, пока на рынке не появился Intel 3700. При этом цена на эти накопители вполне приятная, соотношение цена/производительность/надежность, пожалуй, самое оптимальное.
Именно по этой причине в нашей «новой» линейке серверы в Нидерландах с кем мы начал распродажу , мы предложили именно эти диски, тем самым предоставив достаточно интересное ценовое предложение, в результате чего серверов с этими дисками осталось очень мало:
Эти накопители имеют 8 чипов по 32 ГБ каждый, образующие общий объем 256 ГБ, около 7% емкости отведено под Over-Provisioning, чистая квота одного диска равна 240 ГБ.
Контроллер SandForce положительно влияет на прирост производительности при работе со сжатыми данными, а именно с базами данных, и зачастую удовлетворяет потребности в IOPS 95% наших клиентов.
В случае несжатых данных или данных с высокой энтропией, таких как видео, пользователи в основном используют их больше для распространения контента, чем для записи, и производительность чтения падает не так существенно, что также удовлетворяет потребности большинства пользователей, и если это необходимо для обеспечения большей производительности записи — просто увеличьте избыточное обеспечение.
Как видно из графика, прирост производительности для данных с нулевым сжатием (100% энтропии) при увеличении Over-Provisioning максимальный:
Также стоит отметить честность производителя; тесты очень консервативны.
И зачастую реальные результаты оказывались на 10-15% выше гарантированных.
А для тех, кому нужна емкость побольше, мы подготовили специальную.
предложение:
Трафик можно увеличить, как и канал, апгрейды доступны по очень выгодным ценам:
1 Гбит/с 150 ТБ — +99,00$
1 Гбит/с безлимитно — +$231,00
2 Гбит/с безлимитно — +$491,00
Что касается использования твердотельных накопителей в RAID-массивах, то не будем повторять особенности их использования в RAID, есть волшебная авторская статья.
Амарао , который я рекомендую прочитать SSD+raid0 — не все так просто и что поможет сформировать полное взаимопонимание.
В этой же статье я немного расскажу о SSD-накопителях с интерфейсом PCI-Express, в которых уже используется встроенный RAID-контроллер.
В случае задачи построения очень быстрого решения, скажем, для нагруженной биллинговой системы, такие накопители незаменимы, так как способны обеспечить скорость сто KIOPS за запись и более, а также, что очень важно, очень низкую задержка.
Если латентность большинства твердотельных накопителей находится в пределах 65 микросекунд, что в 10-40 раз лучше, чем латентность жестких дисков, то топовые PCI-Express SSD достигают значений 25 микросекунд и меньше, то есть практически скорость оперативной памяти.
Конечно, из-за самого интерфейса PCI-Express наблюдается снижение производительности по сравнению с оперативной памятью, однако вскоре ожидаются заметные улучшения в плане задержки.
Емкость накопителя с интерфейсом PCI-Express увеличивается за счет «банков памяти»; на плате уже имеется чип SandForce, а также аппаратный RAID-контроллер.
То есть это уже зеркало со скоростью реакции 25 микросекунд со скоростью записи более 100 KIOPS, имеющее очень высокую надежность.
Эффективная емкость таких накопителей обычно невелика и может составлять 100 ГБ.
Цена тоже весьма внушительная (7000-14000 евро).
А вот в случае, как уже отмечалось, загруженных биллинговых систем, очень загруженных баз данных, а также с целью быстрого формирования бухгалтерской отчетности 1С в крупных компаниях (скорость построения увеличивается почти на 2 порядка, в 100 раз быстрее) - такие решения незаменимы.
Пока мы можем предложить подобные решения только в серверах под заказ с гарантией долгосрочной аренды, так как спрос достаточно ограничен и не каждый согласится платить за производительность столь внушительные деньги; кстати, это не всем желательно.
Возможно, позже, в отдельной публикации, мы рассмотрим подобные решения более подробно, если будет соответствующий интерес со стороны бизнес-абонентов.
Теги: #Over-Provisioning #server SSD #SSD-серверы в Нидерландах
-
Tech Junky – Помоги Мне, Рэй!
19 Oct, 24 -
Количество Патентов Бьет Все Рекорды
19 Oct, 24 -
Пример Полезного Комментария
19 Oct, 24 -
Нам Не Нужна Отдушина, Нам Светит Солнце...
19 Oct, 24 -
Кабель Тебе Дорог
19 Oct, 24