Выбор SSD

Спросили меня про SSD, написал я мануал в ответ. В чуток доработанном виде выкладываю сюда:

Следует признать, что для SSD существует некоторая корреляция между моделью контроллера и живучестью: производитель, заботящийся о живучести своих дисков, не поставит туда хреновый контроллер.

Немного теории (пункты 1 и 2 касаются скорости, 3, 4 и частично 2 - долгоживучести):

TRIM

1) SSD - это таки чипы. Чтобы они сохраняли состояние своих ячеек без питания, инженерам пришлось извращаться. Результатом стал компромисс, приводящий к тому, что самой медленной операцией стало стирание данных. Когда данные с диска “выбрасываются в корзину”, то фактически данные с диска не удаляются, они только “вычеркиваются” из файловой таблицы и файловая система на их место может записать новые данные. Но, если запись происходит на метсо, где раньше были какие-то данные, то ячейки сперва должны быть стерты, а стирание ранее заполненных ячеек сделано частью процесса записи. Такая запись сильно отличается от записи в пустые ячейки по скорости. Для уменьшения заметности этого явления в прошивке контроллеров дисков появилась такая вещь, как Garbage Collection. Она (в зависимости от разработчика) иногда сама, иногда - во взаимодействии с драйвером диска в системе, во время низкой активности операций ввода-вывода, просматривает карту разделов (их, в основном, два типа - GPT и MBR) и смотрит таблицу размещения файлов (их около 180 типов). В соответствии с картой разделов и таблицей файлов GarbageCollection потихоньку стирает места, где числится наличие стертых файлов. Если что-то неизвестно, то гарбаж коллекция предпочитает не работать, чтобы не испортить данные.

GarbageCollection от Marvell и от Samsung работает независимо от драйвера файловой системы, то есть НЕ ЗАГРУЖАЕТ ПРОЦЕССОР на выполнение технических функций. SandForce юзает проц вовсю.

Также известно, что не во всех моделях SSD эта GarbageCollection есть. Первой ее стали применять Marvel-ы. Все это для покупателей называется TRIM. TRIM, которая не грузит проц (и не может подключаться в свойствах драйвера/опциях ОС), называется GarbageCollection. В некоторых моделях дисков ее можно включать/отключать через спец программу, модифицируя состояние триггера в прошивке. Пример: Samsung 850 Pro, Plextor M6Pro.

Встроенная компрессия

2) Встроенная компрессия. Когда для повышения формальной скорости чтения-записи используется встроенная компрессия. Формальная скорость - та, что прошла от материнки по интерфейсу (сата, m-sata, pci-e или M2). Марвелы не используют встроенную компрессию (и поэтому их показатели на синтетических тестах хуже, чем SandForce). ПесочнаяСила пошла по пути обмана и использует компрессию LZ4, которая оптимизирована под синтетические тесты, но не всегда под данные. Поэтому очень часто с реальными данными диски с контроллерами SandForce начинают тупить (относительно дохлый чип контроллера начинает заниматься математикой). Кроме того, слабый чип от высокой нагрузки может тупо перегреться и сдохнуть - то есть убить диск (восстанавливать данные с горелого SSD - процедура недешевая)

Встроенная компрессия, несмотря на благие намерения производителей, вещь имхо плохая. Она нацелена на повышение формальной скорости записи-чтения, но не за счет повышения качества чипов, а за счет выполнения контроллером диска математических операций перед записью данных или после их чтения. По-уму, контроллер компрессии лучше размещать на мат. плате - тогда по сата интерфейсу сможет передаваться большее количество данных за единицу времени, но этого же никто не делает…
За исключением случаев, когда компрессию производит драйвер файловой системы, но для этого используется CPU, а не микросхема в контроллере; кроме того, в этом случае, наличие компресии и выбор типа компрессии предоставляется решать пользователю.

SLC, MLC, TLC

3) Технология чипов:

  • SLC - быстрые, но дорогие. Уже почти не производятся. Умирают внезапно.
  • MLC - более долгоживучие.
  • TLC - самые новые. И быстрые и долгоживучие (за время присутствия на рынке около 18 месяцев нареканий мало).

Over-Provisioning

4) Наличие Over-Provisioning пространства: грубо говоря, резервное место. Его размер доходит до 40%. Применяется для подмены сдохших (по мнению контроллера) блоков. Повышает ресурс живучести дисков. Самсунги на своих дисках позволяют юзерам менять размер этой области (по умолчанию ставят ее в 7%) В интеловских дисках 3700 серии размер Over-Provisioning области составляет 28%.

Как компромисс между ценой и качеством на сегодня, хорошие скорости чтения-записи при относительно неплохой живучести и приемлемой цене показывают диски Samsung 850 EVO (для дома). Для севера - не сильно дороги относительно надежные и быстрые Intel 3500 Series.

Заключение

Под высоконагруженные сервера баз данных денег жалеть нельзя, тут без компромиссов Intel DC S3710 Series минимум в зеркале (или Raid 10) с RAID-контроллером LSI не ниже 2961, если RAID5 - то LSI2980

Еще надо иметь в виду, что на SSD не надо записывать более 70% от емкости - страдает надежность (они быстрее дохнут).

То же самое справедливо для RAID, но страдает быстродействие.

Как показывает практика, даже на хорошем контроллере и с хорошей технологией чипов SSD умирают. И умирают внезапно. Пример - множество подохших Плексторов М6Про, хотя, по всем показателям эти диски должны были быть хорошими. Другие тоже дохнут пачками, но это не так заметно - если заранее известно, что SSD дешевый и УГ, то его смерть воспринимается как должное.

При выборе надежных дисков имеет смысл смотреть гарантированное количество циклов чтения-записи. Здесь лидируют Intel (еще у нас в класс серверных отнесли немного SanDisk), например диски Intel DC S3710 Series (контроллер Intel PC29AS21CA06), SanDisk X300s (Marvell 88SS9189), PNY EP700 (контроллер SandForce SF2581), В список дисков для серверов с боем пролез OCZ, таки выпустив приличный диск OCZ Intrepid 3700 (контроллер Marvell) Эти диски используют чипы MLC, как наиболее проверенные, TLC еще не обкатаны :)

Серверные SSD от PNY в россии себя плохо зарекомендовали (я думаю, именно из-за проблем, возникших от использования Сигейтовского СандФорса, но это имхо)

И напоминаю, админы делятся на две категории: одни не делают бэкапы, другие - уже делают :)

© Dr (ABR), октябрь 2015. — Rybkin Dmitry 2015/10/14 20:35

volumes/ssd.txt · Last modified: 2015/10/17 19:58 by rybario
About this template
CC Attribution-Share Alike 4.0 International
Powered by PHP Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Valid HTML5