Современный сервер – это электронное устройство, где движущихся механических частей почти нет. Почти – потому что жесткий диск, например, ярко выделяется в этом ряду.
Всё это в некоторых случаях можно заменить на одно компактное устройство
При передаче информации между электронными компонентами сервера технологическим пределом является скорость света. Жесткий диск же не может крутиться неограниченно быстро, и его скорость упирается в механику. Следовательно, скорость обработки информации им в сотни и тысячи раз медленнее, чем в процессорах и памяти.
За время пока скорость процессоров увеличилась в десятки раз, жесткие диски стагнировали и остались на том же уровне, что и в конце двадцатого века. Из-за этого дисбаланса страдают многие приложения, для которых строятся центры обработки данных. По сути, многие высоконагруженные процессы получают «бутылочное горлышко» и вынуждены простаивать, пока информация считывается и записывается на жесткий диск.
Вопрос решает флеш-память?
Да. Флеш-память обладает гораздо большей скоростью отклика: оптимальный (в лабораторных условиях) жесткий диск отрабатывает запрос в среднем за 6-7 миллисекунд, а флеш-память делает то же самое за 0,1 миллисекунды. При этом она может обрабатывать в десятки и сотни раз больше транзакций, по сравнению с жестким диском, имеющим ограничение в 150-200 операций в секунду.
Пока флеш-память дороже и подходит не для всех задач как раз по этой причине. И, как многие десятки лет предрекают смерть магнитной ленте, и она все еще жива, так и жесткие диски будут жить еще довольно долго. При этом совершенно четко и у наших заказчиков, и вообще, есть задачи, на которых можно сэкономить деньги при переводе с обычных систем хранения на флеш-память.
Как сравнить стоимость для компании?
Здесь важно понимать, есть ли в компании IT-задачи, которые помогут зарабатывать больше денег, если будут выполняться быстрее. Например, есть отчет, который хотелось бы запускать каждый день, но он считается сутки, и поэтому его запускают каждую неделю. В итоге, прогноз цен в торговой сети делается не совсем корректно, или партнерам выдается не вполне актуальная информация, или вкладчики уходят в другой банк, недовольные медленной работой банкоматов. Если есть такие задачи, их практически всегда можно ускорить с помощью флеш-памяти. Можно сколько угодно рассуждать, что первопричина в неправильно написанном, приложении, но очень часто проблемы можно решить, ускорив именно дисковую подсистему. Только за счет технологий, не переписывая приложения, можно серьезно повысить эффективность.
Ценность флеш-памяти не в объемах, а в скорости, и надо применять её для подходящих приложений, считая стоимость не в рублях за гигабайты, а в рублях за транзакции (IOPS).
Если конкретизировать, то очень хорошо на флеш чувствуют себя большие базы данных, которые живут на дисковых массивах high-end. Если у вас есть огромная прикладная система, на поддержание работы которой уходит львиная доля ИТ-бюджета, это один сигнал, чтобы задуматься. Одна флешовая СХД может заменить одну или даже несколько стоек в ЦОДе. Например, когда пользователи SAP жалуются, что все медленно, скорее всего, перевод хранилища на флеш-память поможет улучшить их работу.
Если есть большой проект по виртуализации рабочих станций, тоже надо думать про флеш. Уже у нескольких заказчиков я видел, что когда виртуальных машин становится сотни, существующая СХД просто не справляется. Нельзя сказать, что СХД на флеш-памяти подходят только для больших компаний, хотя именно они могут получить наибольший выигрыш в абсолютном выражении. Даже если вы средняя компания, и думаете, не купить ли систему хранения из 20-40 жестких дисков для важного приложения, вполне возможно, 3-4 флеш-диска могут задачу не менее эффективно.
Как можно внедрить флеш память в существующую инфраструктуру хранения?
Есть несколько основных способов:
- Первый — это непосредственно поставить флеш-память в сервер. Самый бюджетный вариант. Есть флешовые жесткие диски, с которыми большинство наверное сталкивалось, если не в рабочей жизни, то в своих компьютерах и ноутбуках, есть карты с интерфейсом PCI Express, содержащие в себе чипы флеш-памяти. Это недорогой способ ускорить один сервер. У него есть ряд недостатков, из-за которых большинство компаний в свое время отказались хранить данные на внутренних дисках и ушли в сторону СХД: пониженная отказоустойчивость, сложность в обслуживании, недостаточная емкость, невозможность задействовать флеш-память одновременно для нескольких серверов и так далее. Емкость флеш-памяти в рамках одного сервера ограничена количеством PCI-e слотов и производительностью RAID-контроллера. Вряд ли удастся получить больше 2 Тб.
- Более продвинутый и уже всеми принятый способ хранения данных – централизованный. Это когда есть единая система хранения, к которой через сеть подключаются потребители информации — серверы, которые решают те или иные задачи в компании. Плюс в отказоустойчивости, плюс в том, что можно разделить ресурсы этой дорогой флеш-памяти между несколькими задачами. В моей практике даже у крупных заказчиков мало какие сервера могут нагрузить такую СХД.
- Тут тоже есть варианты: первый — это вендоры традиционных систем хранения: IBM, HP, EMC, Hitachi, которые много лет делали СХД на обычных механических жестких дисках. Они уже несколько лет поддерживают SSD. Таким образом получается довольно простой способ использовать флеш память для тех, у кого такая система уже есть — покупается несколько жестких дисков из флеш-памяти и вставляется в полки СХД. Плюс в простоте, и в том, что вы покупаете решение у проверенного вендора. Минус в том, что эти системы пришли из прошлого, у них недостаточно мощные контроллеры, в которых содержатся миллионы строчек кода, заточенного под механику. Далеко не всегда эти алгоритмы подойдут для флеш-памяти. Даже традиционный RAID5 в мире флеш не так эффективен и требует переосмысления.
- Существует ряд новых вендоров, которые начали разработку с нуля уже в 21 веке. Плюс в том, что системы создавались конкретно под флеш-память. Они управляют пулом флеш памяти как единым целым и позволяют минимизировать недостатки – ограничения по количеству циклов перезаписи, недостаточная скорость записи по сравнению с чтением и проч. Один из самых удачных примеров — Violin Memory, лидер этого рынка. Несколько уважаемых компаний вложились в Violin, один из самых серьезных инвесторов – Toshiba, которая изобрела NAND-память. Если есть высоконагруженное приложение, то можно просто перенести его целиком на такую вот новую систему хранения. Если оно очень большое или так получается слишком дорого – перенести самые нагруженные тома. Cпециализированные СХД масштабируются до десятков и сотен терабайт флеш-памяти.
- И последний подход — использование не просто флешовых СХД, а попытка добавить еще один уровень кэша в сеть хранения данных (SAN) между серверами и существующими системами хранения, то есть когда в этой флешовой кэширующей СХД содержатся только наиболее актуальные данные. Подход очень прогрессивный, но очень рискованный, его пока предлагают молодые компании или даже компании на уровне стартапов. Если вдруг где-то произойдет малейший сбой, можно потерять данные, и соответственно деньги, время. Поэтому этот способ в статусе интересного эксперимента, и рекомендовать его использовать немедленно мы не можем. Остальные варианты – это вполне промышленные обкатанные решения.
Что получается в итоге?
Флеш ускоряет работу серверов, оптимизирует занимаемое место в ЦОДе, экономит энергию. Сегодня СХД, целиком построенные на флеш-памяти, являются серьезными конкурентами массивов высшего класса. Такие массивы часто наполняют десятками и сотнями жестких дисков чтобы дать приложению нужную скорость, емкость часто вторична. Если компания платит за аренду коммерческого ЦОДа, то это вполне серьезный довод. Так как большинство корпоративного софта — Oracle, SAP и так далее, лицензируется именно по ядрам, можно сэкономить и на лицензии за счёт оптимизации процессов и уменьшения количества задействованных ядер. Если процессоры будут тратить меньше машинного времени, ожидая СХД, они смогут решать больше задач в единицу времени. В итоге, нам нужно будет меньше ядер для решения той же задачи.
И еще один немаловажный момент: срок жизни флеш-памяти намного больше, чем у обычных жестких дисков: соответственно, меньше расходов на поддержку и меньше риск потери данных, если выйдут из строя сразу два диска (чему подвержены обычные системы хранения).
По стоимости хранения информации за гигабайт, флешовые системы хранения ещё несколько лет будут проигрывать, но по стоимости обработки информации (стоимости транзации) уже сейчас в несколько раз превосходят традиционные системы. Есть масса случаев в российской и в мировой практике, когда огромные системы хранения заменялись на маленькие СХД на флеш-памяти стоимостью в несколько раз меньше, которые при этом показывали удивительное ускорение приложений. Рискну предположить, что в будущем место сегодняшних дисков со скоростью вращения 15K и 10K займут SLC и MLC-чипы. Низкоскоростные диски большого объема (SATA, 7.2К) еще долго будут актуальны.
Можно ли совмещать СХД на флеш и традиционные СХД?
Есть масса задач, которым сверхвысокая скорость обработки не нужна. Обычно надо выявить в вашем дата-центре те приложения, которые требуют повышенной скорости дисковой системы, перенести их на флеш-СХД. Оставшиеся на «обычном» дисковом массиве приложения вздохнут свободнее и скорость их работы тоже повысится. Т.к. данные неумолимо растут, чем занять освободившееся место на СХД никогда не является головоломкой.
Автор: Dmitry_Doshaniy