Ssd для серверов баз данных
Ssd для серверов баз данных
nda
В принципе, можно обойтись и 4-6 SAS дисками
4-6 дисков дадут производительность больше в 2-3 раза — сейчас том БД крутится на двух 15-тысячниках в зеркале. SSD потенциально дадут (под моим отношением чтение/запись) прирост на порядок.
D@nila
Так же рекомендую посмотреть в сторону MaxIQ/CachCade или же гибридных рейд-массивов.
Спасибо, посмотрю
a_shats
Нисагласин
Угу. Интеловые X25-E и стеки, что в брэндовых серверах, уже давно вполне себе канают.
Но 600иопс действительно можно и с простых винтов снять.
На то гарантия есть.
— ага, через неделю после открытия кейса.
Не, под такую нагрузку брать SSD как-то напоминает из пушки по воробьям. Да и гарантированный срок подыхания винта тоже напрягает — если железные винты как-то непредсказуемо летят, то эти могут в один прекрасный день сказать — «пока данные» и дружно помереть пачкой
Вот как доведут MTBF до 10 лет, тогда можно сказать, что все ОК
Ну и цена еще все-таки не очень близка к гуманной, хотя, надо признать раза в 2-3 или больше она упала с момента запуска первых SLC.
PowerUser
600 IOPS, имхо, даже для одного SSD ничтожно мало.
А если туда ноутбучный 4200 воткунуть — тоже по-вашему будет 600iops.
Тут 600 iops именно с того конфига который есть, а не макс значения сферического коня в вакууме.
Boeing737
600 iops это когда дисковая подсистема УЖЕ не справляется
+1
Есть сервер с БД. Отношение чтение/запись что по запросом, что по объему приблизительно 30/1. Объем небольшой — порядка 100Gb.
взял бы обычные MLC 2шт в софт-зеркало и не парился, оно окупится производительностью даже если один сдохнет через несколько лет.
Аналогичная ситуация, планирую сервер по БД (центос + прогресс) база 70 гиг + рост 10 гиг в год
обновляемых данных примерно гиг в сутки.
сейчас на сервере аццкий своп 16 гб оперативки не дают покоя дисковой подсистеме, поэтому точной статистики загрузки у меня нет.
хотелось бы рекомендаций по организации дисковой подсистемы под центос в частности, ну и с рэйд контроллером не могу никак определится.
CPU 2*2.0 E5405; RAM 16; RAID1 SAS 146GB (15k) на двух дисках
# iostat
Linux 2.6.16.46-0.12-smp (work) 08/04/2011
avg-cpu: %user %nice %system %iowait %steal %idle
14.99 0.50 0.31 1.60 0.00 82.61
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 68.83 74.99 48.56 1906062638 1234122742
Добавление от 04.08.2011 13:13:
это такая средненькая нагрузка, в пике в два раза выше
мне сервер всё равно менять надо, этот уже 5 лет от гудел на бизнес критикал не тянет для него есть менее ответственные задачи
ОЗУ в новом естественно 64 гб
желание именно ссд обосновано еще и следующим: на боевой базе раз в час происходит инкрементальный бэкап = работа людей замирает на 20-30 секунд
(со стороны выглядит весьма забавно люди (привыкшие) замирают вместе с приложением )
вероятно ссд сделает бэкап менее заметным
Average TPM increased by over 20,000
Думаю, при соотношении чтение/запись 1:30 (см. первый пост) вполне хватит RAID5 из трех SSD . А четвертый отдать под hotspare.
на своп- раздел отдельный ссд сунуть
Вы сначала со свопом разберитесь — его быть просто не должно.
Я про линукс уже не применительно к своей системе, а так сказать о сферическом коне в вакууме
a_shats
Тогда рекомендую что-нить с SLC, например, старые, добрые, уже проверенные Intel X25-E 64 ГБ. В зеркало.
Они сняты с производства. Intel, похоже, снова облажался поступил неправильно. Выпуск X25-E прекращен, а взамен ничего нет. Послал запрос в техподдержку, получил две отписки. Сначала с советом поискать завалявшиеся на складах экземпляры, затем ссылку на страничку Intel, где перечислены всё те же X25-E/G/V и 310-510 серии
И сколько будет стоить 100GB 710-ая ?
Техподдержка про существование этой серии молчат как партизаны. Сказали только, что за presales info лучше обращаться к продавцам.
цитата: Побуревший:
Я бы не стал использовать SSD для хранения данных, которые часто изменяются и никогда не будут удалены, например swap. Выделение отдельного SSD-диска для swap нецелесообразно, в этом случае операционка не сможет использовать trimm-функцию, это приведет к увеличению операций записи и соответственно сократит жизнь и быстродействие (до 50%) дисков.
Тема называется «SSD в сервер БД». А БД (DB2 и Oracle, к примеру) работают с файлами фиксированного размера (возможно, растущими со временем), которые никогда не будут удалены, или разделами (raw devices), и это не отличается от ситуации со swap. Раз файлы не будут удалены или сокращены в размерах, наличие или отсутствие TRIM в такой ситуации роли не играет, как и поддержка операционкой.
Когда на SSD пишут, он старается использовать всякий раз новые блоки, чтобы уменьшить износ. Следовательно, чем меньше в размерах будут файлы данных (точнее, чем больше свободного места останется), тем дольше (при прочих равных) прослужит SSD. (Т.е., если у вас данных на 10 гиг, не стоит создавать 20-гиговый файл под будущее его расширение с целью уменьшить будущую фрагментацию — на SSD фрагментация неопасна, а износ повысится).
SSD диски для серверов
SSD диски для серверов
SSD диски для серверов – это твердотельные накопители, основанные на
флэш-памяти, которые отличаются повышенной степенью надежности
SSD диски для серверов – это твердотельные накопители. В их конструкции нет подвижных элементов. Назначение комплектующих такого типа – долгосрочное и надежное хранение информации на сервере.
Чем отличаются SSD диски от HDD дисков?
HDD диск – это надежное устройство для записи, хранения и считывания данных. Его конструкция предусматривает наличие подвижных элементов со специальным магнитным слоем и механизма считывания записи. Этот тип дисков ранее использовался во всех серверах, однако ему на смену постепенно пришли SSD диски.
SSD диски – относительно новый вид носителей памяти. В отличие от HDD дисков для них характерны: меньшее время обработки запроса (за счет отсутствия задержек, которые возникают во время вращения дисков и перемещения головок) и сокращение времени на поиск.
Модернизация SSD дисков
Ранее основным недостатком SSD дисков для серверов был их небольшой срок службы. В последние годы всемирно известные производители серверного оборудования выпускают усовершенствованные модели. Их среднее время наработки на отказ (определение этого понятия см. ниже) – значительно выше гарантированного срока исправной работы самих серверов.
Отличительные характеристики SSD дисков для серверов
SSD диски для серверов имеют ряд характеристик, которые определяют их предназначение для различных сред развертывания сетей. А этим, свою очередь, определяется и стоимость. Далее можно ознакомиться с каждой из них.
» Приобрести SSD диски для серверов Вы можете в магазине по адресу CONETEC.SU. Наши специалисты помогут сделать наиболее правильный выбор и подскажут основные особенности каждой из рассматриваемых моделей.
В случае, если рассматриваемая модель SSD диска для серверов в данный момент не размещена на сайте, мы предлагаем обратиться к менеджеру, чтобы уточнить возможность ее приобретения под заказ. «
Сейчас чаще всего можно увидеть в продаже диски формата 2,5 дюйма. SSD диски такого формата отличаются:
- > низким энергопотреблением
- > высокой скоростью чтения-записи
SSD диски для серверов представлены тремя типами интерфейсов: SATA, SAS и PCle. Их основные отличия:
SSD диски для серверов с интерфейсом SATA обеспечивают пропускную способность 6 Гбит/с. Модели с таким интерфейсом – оптимальный выбор для сред с невысокой или средней степенью нагрузки
Тип интерфейса SAS обеспечивает до 12 Гбит/с пропускной способности. У него повышенная устойчивость к помехам в сети электрического тока. SSD диски с этим видом интерфейса используют в средах, где требуется повышенная надежность и большая скорость выполнения процессов. Отметим, что SAS обратно совместим с SATA
SSD диски с разъемом PCle подключаются к серверной PCle шине. Они обеспечивают наименьшие задержки при обработке сетевых запросов. Такие диски не могут выступать в роли загрузочных, и способны предоставить скорость, достигающую 1,5 Гбит/с
Емкость SSD дисков для сервера
Это также важный показатель при их выборе. Специалисты рекомендуют отказаться от приобретения одного диска с требуемым объемом памяти. Вместо этого – сформировать RAID массив из нескольких дисков с равноценной бюджетной емкостью. Это обеспечит повышенную надежность работы сервера, если выйдет из строя один из SSD дисков.
В случае изъятия из серверной стойки SLC SSD способны хранить записанную информацию в течение 3 месяцев, а MLS SSD – до полугода. Как показывает практика, больше оправдывает себя первый тип SSD, поскольку отличается более низкой стоимостью.
Время наработки и количество перезаписей
Среднее время наработки на отказ
Современные SSD диски для серверов имеют довольно высокие показатели среднего времени наработки на отказ (MTBF) (периода, после которого устройство предположительно может выйти из строя). Наиболее часто встречающийся показатель – 2 млн часов.
Максимальное количество перезаписей в сутки в течение 5 лет
Существуют такие SSD диски для серверов:
- > с многоуровневыми ячейками (MLC). Они допускают до 10 перезаписей в сутки (DWPD) продолжительностью в 5 лет
- > с одноуровневыми ячейками (SLC) – с количеством перезаписей в день до 50 (также в течение 5 лет)
SSD диски на CONETEC.SU
На CONETEC.SU представлены SSD диски класса Enterprise от таких всемирно известных производителей, как OCZ, Samsung, Kingston и SanDisk. Ниже приведен краткий обзор серий этих брэндов и описание их ключевых особенностей.
Брэнд OCZ – подразделение корпорации Toshiba. Оно специализируется на производстве высокотехнологичных и надежных носителей памяти для различных сфер применения. OCZ предлагает три линейки дисков SSD:
Рассмотрим их отличительные характеристики.
Deneva 2 от OCZ
Эта линейка SSD дисков от OCZ специально предназначена для активного использования в центрах обработки данных и облачных хранилищах. Устройства имеют многоуровневые ячейки, интерфейсы SATA 3.0 и пропускную способность 6 Гбит/с. В зависимости от принадлежности к серии, SSD диски для серверов Deneva 2 выпускаются емкостью 120 Гб, 240 Гб и 480 Гб (в моделях C Series) или 100 Гб, 200 Гб и 400 Гб (в моделях R Series). С точки зрения функциональности устройства R Series более совершенны. У них есть ряд дополнительных особенностей, например:
- > технология защиты от потери питания DataWrite Assurance™ Technology
- > автовосстановление данных с использованием контроллера NAND
Intrepid от OCZ
Использование данной линейки SSD дисков для серверов с многоуровневыми ячейками целесообразно в средах, которые требуют ускоренного доступа к данным. В сравнении с линейкой Deneva 2, Interpid обеспечивает до 5 раз выше показатели устоявшегося случайного чтения-записи блоками. Модели Interpid снабжены разъемами SATA 3.0 (с пропускной способностью 6 Гбит/с и обратной совместимостью с SATA 2.0) и флеш-памятью типа NAND Toshiba 19nm (серия 3600), Toshiba A19nm (серия OCZ 3700) или Toshiba 19nm Enterprise (серия 3800).
Saber 1000 от OCZ
Модели линейки предназначены для сред, которые требуют повышенной скорости операций считывания данных (в частности, за счет использования контроллера Barefoot 3 и NAND памяти A19нм). Интенсивное чтение данных осуществляется благодаря таким инструментам:
- > считывание кэша и индексация
- > видео по запросу (VoD)
- > инфраструктура виртуальных машин (VDI)
- > потоковое вещание
- > веб-серверы клиентской части
- > облачная инфраструктура
- > архивирование на сетевые ресурсы
- > системы взаимоотношений с клиентами (CRM)
- > системы управления контентом предприятия (ECM)
Samsung – это производитель, имя которого всегда на слуху. SSD диски для серверов от Samsung отличаются революционно новым типом флеш-памяти – 3D V-NAND с многоуровневыми ячейками. Этот тип применен в линейке SSD 850 Pro, представленной на CONETEC.SU. Отличие от остальных предлагаемых вариантов – в ее 32-слойной архитектуре. Она обеспечивает:
- > повышенную скорость операций чтение-запись
- > усиленную надежность
- > большую плотность хранения данных
SSD диски от Samsung также характеризуют:
- > наличие интерфейсов SATA с пропускной способностью до 6 Гбит/с
- > энергоэффективность (за счет применения фирменной технологии DevSleep)
- > 128-битное шифрование AES
- > набор сервисных утилит для оптимизации управления памятью (например, Samsung Magician для автоматического обновления прошивки)
Kingston — это известный на территории РФ американский производитель SSD дисков для серверов, которые способны справиться с самыми высокими уровнями нагрузок на сеть. В частности, SSD диски от Kingston снабжены интерфейсами SATA 3.0, их и обладают пропускнойая способностью – 6 Гбит/с. На CONETEC.SU предложены две серии дисков этого брэнда:
Эта линейка была специально разработана для сред, где необходимануждающихся в повышеннойая надежностиь хранения данных. SSD диски для серверов SSDNow E50 отличает наличие уникальных танталовых конденсаторов,. которыеОни препятствуют перегреву и потере данных при сбоях в сети электрического тока.
Серия SSDNow E100 характеризуется длительным сроком службы и высокими показателями средней наработки на отказ. ОниДиски способны обеспечить до 30 000 циклов записи-стирания, а MTBF в этих моделях составляет 1 млн часов.
SanDisk — этот производитель SSD дисков для серверов предлагает инновационные решения с общей емкостью памяти до 8 Тб. Это высокое значение емкости сегодня недоступно в моделях дисков от других представленных у нас производителей. Высокое качество обслуживания, а также надежность и отказоустойчивость продукции SanDisk обеспечиваются использованием фирменных технологий:
nCache Pro – (позволяет оптимизировать скорость работы и износоустойчивость устройства благодаря двухуровневой архитектуре кэширования)
TRIM со сборщиком «мусора» BGC – (для обеспечения автоматического освобождения ячеек от логически удаленных данных с целью сокращения времени на обработку запросов и повышения производительности сети)
самодиагностика S.M.A.R.T — (для мониторинга статуса SSD диска в режиме онлайн и предотвращения потери данных). Гарантируют высокое качество обслуживания, а также надежность и отказоустойчивость продукции
CONETEC
115280 Москва м. Автозаводская Ленинская Слобода 26 стр. 6 БЦ Симонов Плаза, офис 1519
График работы:
ПН-ПТ с 10.00 до 19.00
+7 495 727-37-85
+7 926 533-35-82
SSD против HDD для баз данных
Я пытаюсь приобрести новый сервер для запуска MySQL Server. Этот новый сервер будет рабом моей основной машины. Тем не менее, этот сервер будет предназначен только для отчетов «Много чтения и сложных запросов».
Теперь я занимаюсь инвестированием в твердотельные жесткие диски, но задавался вопросом, действительно ли это стоит того. Разница между SSD и жестким диском SATA 7200 составляет около 1500 долларов, а SSD — меньше места на диске. Если я инвестирую в SSD, скорость будет заметной?
Я могу купить 4 (500 ГБ SATA 7200) за 1500 долларов меньше, чем покупка 2 (500 ГБ SSD)
Не могли бы вы помочь мне решить, стоит ли обновлять или нет?
Еще раз хочу отметить, что я не использую query_cache , поэтому будет много чтений на диске.
Этот сервер будет иметь 32 ГБ ОЗУ и запустит Ubuntu 12.04
6 ответов
Да с большим количеством чтений и отчетности SSD будет иметь огромное значение. От 7200 RPM дисков вы можете ожидать не более
100 IOPS, в то время как самый дешевый SSD может быть как минимум в 5 раз быстрее. С хорошим SSD вы можете получить до 20000 IOPS или даже больше.
Также случайные записи в SSD намного быстрее, так как диск не должен перемещаться каждый раз.
Здесь необходимо учитывать три фактора:
- Размер вашей базы данных
- Объем памяти, который у вас есть на сервере
- Конфигурация my.cnf, в частности innodb_buffer_pool_size
Если доступная память> размер базы данных , ваш сервер, вероятно, сможет хранить все ваши данные в памяти, и поэтому SSD может быть пустой тратой денег. Буфер InnoDB не имеет ничего общего с параметрами query_cache .
Если доступная память show table status; ), подумайте об изменении в InnoDB. В MyISAM key_buffer_cache хранятся только блоки индексов, в которых пул буферов InnoDB хранит целые блоки данных. В большинстве случаев InnoDB окажется лучшим механизмом для работы.
Чтобы дать альтернативу: вы можете использовать как большой жесткий диск (в идеале, RAID1 с тремя дисками) для хранения данных, так и меньший SSD для хранения индексов.
- индексы довольно малы, поэтому вы можете использовать меньший SSD
- общие запросы должны в основном попадать в индексы
- RAID1 дает вам отказоустойчивость
- RAID1 дает вам балансировку нагрузки для случайных чтений
- три диска оставляют отказоустойчивость, если диск не работает
- индексы могут быть перестроены, если SSD не работает
Я не думаю, что это такая хорошая идея!
Мои советы
увеличить размер пула буферов InnoDB — лучший способ ускорить работу MySQL. Если вы можете добавить больше ОЗУ, сделайте это. Это поместит большинство ваших горячих данных в память, так что представьте себе! Диск против памяти!
Идеальный сценарий заключается в том, чтобы ваша память соответствовала размеру вашей базы данных
SSD — это здорово, но это будет дорого! и это полезно только для чтения с интенсивными заданиями.
Вы упомянули о том, что у вас большая рабочая нагрузка, поэтому вы уже избежали большой проблемы с использованием SSD в базах данных: wearout. Никакие записи не означают никакого износа, поэтому вы золотые.
Как упоминалось edvinas.me, ваши IOPS на порядок выше, чем с вращающимися дисками. Для базы данных IOPS в значительной степени переводится на запросы в секунду. Игнорируя кеш RAM, вы будете обслуживать около 100x запросов от SSD, чем с диска 7200RPM.
TRIM не будет иметь большого значения, так как это загруженная рабочая нагрузка, и похоже, что вы планируете заполнять диск в любом случае. Не подчеркивайте этого.
Я не уверен, откуда взялась вещь стоимостью 1500 долларов. Проверяя моего местного (австралийского) поставщика, я могу получить SSD на 960 ГБ авторитетного за $ 750 ( http://www.auspcmarket.com.au/960gb-crucial-m500- SATA-6Gbps-2-5-7mm-с-9-5mm-переходник-ССД-чтения 500MB-s-записи-400MB-s /). Спиннинговые диски более или менее бесплатны, но 750 долларов все еще намного более приемлемы, чем 1500 долларов.
(О, подождите — вы, вероятно, заказываете у крупного поставщика, поэтому они заряжают вас через нос для SSD? Я всегда покупаю SSD отдельно и меняю его самостоятельно, но я не знайте, допустимо ли это в вашей среде.)
Вы, скорее всего, уйдете с меньшей оперативной памятью, но, не зная своей точной рабочей нагрузки, трудно судить о том, можете ли вы безопасно уменьшить объем оперативной памяти без ущерба для производительности.
Если вы все еще не уверены, вы можете получить большие дисковые диски 10 000 RPM, но в конечном итоге они будут стоить почти столько же, сколько и SSD, хотя и будут намного медленнее.
Если вам нужно масштабировать намного выше 1 ТБ, тогда SSD начнут становиться слишком дорогими, но при 1 ТБ я бы сказал, что SSD — это явная победа.
Я определенно согласен, что самый большой удар для доллара объясняется увеличением вашего размера innodb_db_bufferpool, но, к сожалению, он полностью зависит от того, насколько велико ваш набор данных и как часто обращаются к различным дисковым блокам. Я поддерживаю несколько баз данных, которые являются достаточно большими 200 ГБ +, поэтому все, что нужно в ОЗУ, не является опцией, и по этой причине мы недавно переключились на хранилище на базе SSD. Я провел довольно большое исследование с точки зрения использования IOPS для MySQL на разных RAID-массивах, к которым у меня есть доступ. Вот результаты:
1,253 IOPS — 4 x SCSI 15k (3,5 «) диск
test: (g = 0): rw = randrw, bs = 4K-4K /4K-4K /4K-4K, ioengine = libaio, iodepth = 64 читать: io = 3071.7MB, bw = 5012.8KB /s, iops = 1253, runt = 627475msec напишите: io = 1024.4MB, bw = 1671.7KB /s, iops = 417, runt = 627475msec cpu: usr = 0,63%, sys = 3,11%, ctx = 985926, majf = 0, minf = 22
2,558 IOPS — 8 x 10K RPM 900GB SAS (2,5 «) диск
test: (g = 0): rw = randrw, bs = 4K-4K /4K-4K /4K-4K, ioengine = libaio, iodepth = 64 read: io = 3071.7MB, bw = 10236KB /s, iops = 2558, runt = 307293msec написать: io = 1024.4MB, bw = 3413.5KB /s, iops = 853, runt = 307293msec cpu: usr = 2,73%, sys = 8,72%, ctx = 904875, majf = 0, minf = 25
23,456 IOPS — сервер Rackspace Performance 2 SSD
test: (g = 0): rw = randrw, bs = 4K-4K /4K-4K /4K-4K, ioengine = libaio, iodepth = 64 читать: io = 3071.7MB, bw = 93708KB /s, iops = 23426, runt = 33566msec написать: io = 1024.4MB, bw = 31249KB /s, iops = 7812, runt = 33566msec cpu: usr = 5,73%, sys = 35,83%, ctx = 181568, majf = 0, minf = 23
35,484 IOPS — 2 x Зеркальное EDGE Boost 480GB 2.5 «MLC ( http://www.edgememory.com )
test: (g = 0): rw = randrw, bs = 4K-4K /4K-4K /4K-4K, ioengine = libaio, iodepth = 64 read: io = 3068.4MB, bw = 141934KB /s, iops = 35483, runt = 22137мс напишите: io = 1027.7MB, bw = 47537KB /s, iops = 11884, runt = 22137мс cpu: usr = 11,68%, sys = 69,89%, ctx = 24379, majf = 0, minf = 20
Итак, ясно, что высококачественные SSD сегодня потрясающие исполнители. Два зеркальных SSD могут легко превзойти 16-дисковый SAN-накопитель и это убедительное заявление.
Если вас интересуют полные подробности, остальная часть записи находится в моем блоге:
SSD на сервере: быстрее мысли
В то время как по всему миру проекты с посещаемостью хотя бы в 4000 хостов в сутки переходят на использование серверов с SSD дисками, наши российские хостеры медлят. 2011 не был годом SSD (Solid State Drive, твердотельных жестких дисков) для России. В основном из-за денег: эти диски сравнительно дороги.
Сама по себе та или иная технология не является панацеей, ни SAS, ни SSD, ни RAID особо продвинутых конфигураций. Просто во многих ситуациях сочетание технологий дает отличное соотношение эффекта и стоимости. В случае с SSD — это проекты с множеством небольших файлов или с огромной базой данных. Проекты с небольшой, но перегруженной базой данных тоже выиграют от использования SSD, но там ещё лучше будет перенос базы в память.
За счет чего достигается эффективность?
SSD выдают нужный файл сразу, без задержки на поиск. Вдобавок они могут выдавать сразу несколько файлов без потери скорости. Это имеет решающее значение для высоконагруженных интернет-проектов.
Наглядная демонстрация: включаем просмотр 5 фильмов одновременно на ноутбуке с SSD накопителем, и на устройстве с обычным диском. Обычный диск начинает подтормаживать, не успевая читать одновременно из пяти мест. Это логично: ему приходится физически переставлять головку, как на старом проигрывателе грампластинок. В то же время SSD выдает бесперебойный видеопоток, хоть пять сразу.
То же самое происходит на сервере. Без нагрузки вы вряд ли заметите существенное ускорение сайта, но вот когда идет трафик — SSD лидирует, быстро раздавая страницы, в то время как традиционные HDD прогибаются под нагрузкой.
База данных — это тоже файлы, как правило, много мелких. Большие таблицы в базе — это файлы покрупнее, но и для них решающим является время поиска — в каком месте файла лежит нужная информация. По этой причине твердотельный жесткий диск выигрывает, когда дело касается размещения сайтов.
Когда это надо?
При малой посещаемости твердотельные диски, как и вообще отдельные сервера, да и какие-либо инвестиции в железо, неактуальны. SSD нужны проекту с более чем 3000 хостов / 30000 хитов в сутки, и с достаточно большим количеством страниц. Большим — это хотя бы от 3000. Меньше можно кэшировать в памяти, так что при малой нагрузке преимущества твердотельных дисков неощутимы. А вот крупному проекту даже один SSD позволяет дышать спокойнее.
Когда не надо?
В случае хранения в сети огромных объемов данных — архивов фильмов, резервных копий сотен сайтов, использование SSD пока не целесообразно, получится дорого. Но на подходе более дешевые твердотельные жесткие диски с большой вместимостью, и недавний выход из строя заводов по производству HDD в Юго-Восточной Азии только ускорит эволюцию SSD дисков.
Равняемся на лучших
«Великий и могучий» Гугл начал использовать SSD на своих серверах, как только они появились. Низкая надежность первых поколений этих дисков не стала препятствием — эти диски быстро раздают «горячие» файлы, и их содержимое постоянно резервируется на традиционные HDD, объединенные в RAID 1 для дополнительной надежности. Собственно, точно такую схему Кролики в Kraftwork используют и на своих серверах.
Сколько это стоит?
На серверах, обслуживаемых Kraftwork, все связанные с переходом на SSD, работы входят в стоимость техподдержки. Нужно оплатить только саму аренду железа, от 15 до 30 евро. Эффект — это минимум двукратное ускорение сервера под нагрузкой. И главное — улучшение впечатления посетителей, которое не измерить сухими цифрами.
Можно пример?
Не претендуем на чистоту эксперимента, так как это не научный тестовый стенд, а реально работающий сервер. SSD-диск обозначен как sda, обычный (HDD) диск обозначен как sdb. Чем ниже линии — тем быстрее работает диск. По прерывистой оранжевой линии видно что обычный диск нагружен намного меньше, он бездействует. И при этом SSD уверенно его обгоняет, хотя SSD диск нагружен гораздо больше.
Дешевые способы поддать жару системе хранения с помощью SSD
В статьях про СХД из «конспекта админа» практически не рассматривались технологии софтовой организации дискового массива. Кроме того, за кадром остался целый пласт относительно дешевых сценариев ускорения хранилищ с помощью твердотельных дисков.
Поэтому в этой статье рассмотрю три неплохих варианта использования SSD-дисков для ускорения подсистемы хранения.
Почему просто не собрать массив из SSD — немного теории и рассуждений на тему
Чаще всего твердотельные накопители рассматривают просто как альтернативу HDD, с большей пропускной способностью и IOPS. Однако, такая замена «в лоб» часто стоит слишком дорого (брендовые диски HP, например, стоят от $2 000), и в проект возвращаются привычные накопители SAS. Как вариант, быстрые диски просто используются точечно.
В частности, удобным выглядит использование SSD для системного раздела или для раздела с базами данных — с конкретным выигрышем в производительности можно ознакомится в соответствующих материалах. Из этих же сравнений видно, что при использовании обычных HDD узким местом является производительность диска, а в случае SSD сдерживать будет уже интерфейс. Поэтому замена одного лишь диска не всегда даст такую же отдачу, как комплексный апгрейд.
В серверах используют SSD с интерфейсом SATA, либо более производительные SAS и PCI-E. Большинство представленных на рынке серверных SSD с интерфейсом SAS продаются под брендами HP, Dell и IBM. К слову, даже в брендовых серверах можно использовать диски OEM-производителей Toshiba, HGST (Hitachi) и других, которые позволяют сделать апгрейд максимально дешевым при схожих характеристиках.
С широким распространением SSD был разработан отдельный протокол доступа к дискам, подключенным к шине PCI-E — NVM Express (NVMe). Протокол разработан с нуля и значительно превосходит своими возможностями привычные SCSI и AHCI. С NVMe обычно работают твердотельные диски с интерфейсами PCI-E, U.2 (SFF-8639) и некоторые M.2, которые быстрее обычных SSD более чем вдвое. Технология относительно новая, но со временем она обязательно займет свое место в самых быстрых дисковых системах.
Немного про DWPD и влияние этой характеристики на выбор конкретной модели.
Таким образом, при точечной замене обычных дисков твердотельными логично использовать MLC-модели в RAID 1, что даст отличную скорость при том же уровне надежности.
Считается, что использование RAID совместно с SSD — не лучшая идея. Теория основывается на том, что SSD в RAID изнашиваются синхронно и в определенный момент могут выйти из строя все диски разом, особенно при ребилде массива. Однако, с HDD ситуация точно такая же. Разве что, испорченные блоки магнитной поверхности не дадут даже прочитать информацию, в отличие от SSD.
По-прежнему высокая стоимость твердотельных накопителей заставляет задуматься об альтернативном их использовании, помимо точечной замены или использования СХД на базе одних лишь SSD.
Расширяем кэш RAID-контроллера
От размера и скорости кэша RAID-контроллера зависит скорость работы массива в целом. Расширить этот кэш можно с помощью SSD. Технология напоминает решение Smart Response от Intel.
При использовании подобного кэша данные, которые используются чаще, хранятся на кэширующих SSD, с которых производится чтение или дальнейшая запись на обычный HDD. Режимов работы обычно два, аналогично привычному RAID: write-back и write-through.
В случае write-through ускоряется только чтение, а при write-back — чтение и запись.
Подробнее об этих параметрах вы можете прочитать под спойлером.
Для работы обычно требуется специальная лицензия или аппаратный ключ. Вот конкретные названия технологии у популярных на рынке производителей:
LSI (Broadcom) MegaRAID CacheCade. Позволяет использовать до 32 SSD под кэш, суммарным размером не более 512 ГБ, поддерживается RAID из кэширующих дисков. Есть несколько видов аппаратных и программных ключей, стоимость составляет около 20 000 р;
Microsemi Adaptec MaxCache. Позволяет использовать до 8 SSD в кэше в любой конфигурации RAID. Отдельно лицензию покупать не нужно, кэш поддерживается в адаптерах серии Q;
HPE SmartCache в серверах ProLiant восьмого и девятого поколения. Актуальная стоимость доступна по запросу.
Схема работы SSD-кэша предельно проста — часто используемые данные перемещаются или копируются на SSD для оперативного доступа, а менее популярная информация остается на HDD. Как итог, скорость работы с повторяющимися данными значительно возрастает.
В качестве иллюстрации работы RAID-кэша на базе SSD можно привести следующие графики:
StorageReview — сравнение производительности разных массивов при работе с базой данных: использованы обычные диски и их альтернатива на базе LSI CacheCade.
Но если есть аппаратная реализация, то наверняка существует и программный аналог за меньшие деньги.
Быстрый кэш без контроллера
Помимо программного RAID существует и программный SSD-кэш. В Windows Server 2012 появилась интересная технология Storage Spaces, которая позволяет собирать RAID-массивы из любых доступных дисков. Накопители объединяются в пулы, на которых уже размещаются тома данных — схема напоминает большинство аппаратных систем хранения. Из полезных возможностей Storage Spaces можно выделить многоярусное хранение (Storage Tiers) и кэш записи (write-back cache).
Storage Tiers позволяет создавать один пул из HDD и SSD, где более востребованные данные хранятся на SSD. Рекомендованное соотношение количества SSD к HDD 1:4-1:6. При проектировании стоит учитывать и возможность зеркалирования или четности (аналоги RAID-1 и RAID-5), так как в каждой части зеркала должно быть одинаковое количество обычных дисков и SSD.
Кэш записи в Storage Spaces ничем не отличается от обычного write-back в RAID-массивах. Только здесь необходимый объем «откусывается» от SSD и по умолчанию составляет один гигабайт.
Общая схема работы выглядит так:
При записи на чистый диск данные сохраняются на SSD;
Когда SSD заполнены, данные пишутся в write-back кэш, который записывается на HDD;
Если кэш переполнен, запись ведется напрямую на HDD;
В процессе работы данные реорганизуются так, чтобы «горячая» информация хранилась на
SSD, а «холодная» — на HDD.
Если рассматривать другие операционные системы, то технологий доступно еще больше. Например, в GNULinux есть bcache, EnhanceIO, dm-cache и lvmcache, L2ARC в ZFS, Cache Tiering и Cache Pool в Cephs.
Если говорить о программном ускорении дисковой системы, то интересным вариантом выглядит использование для этих целей оперативной памяти. Существует ряд приложений, позволяющих «откусить» часть RAM под кэш — например PrimoCache. Подобные решения, помимо ускорения работы, помогут и продлить жизнь SSD. Главное предусмотреть защиту от проблем с питанием и не размещать в таких разделах слишком важные данные.
Итого
Файловые и веб-серверы хорошо работают с кэшем на SSD, а для размещения производственной базы данных приоритетнее RAID-массив из обычных дисков под данные и отдельное SSD-зеркало под журналы транзакций. Остальные сценарии работы с данными требуют более творческого подхода и знания специфики использования.