Тот факт, что хостинг является весьма затратным с точки зрения дискового пространства, пожалуй, ни для кого не является сюрпризом. Так же как и тот факт, что используемые для хранения данных решения в этом случае должны быть как можно быстрее. Поэтому, в идеале, для таких хранилищ хорошо было бы использовать только SSD, но в очень многих случаях это — недостижимый идеал, в первую очередь, из-за высокой (хотя и снижающейся) цены. Особенно жестко вопрос цены стоит для больших ЦОДов.
Помочь в этой ситуации могут гибридные решения, сочетающие традиционные HDD и flash-накопители для кэширования.
Эта короткая заметка посвящена двум функциям в новых прошивках к контроллерам NytroMegaRAID. Мы уже писали про LSI Nytro и его практическое применение, но я вкратце напомню, что такое NytroMegaRAID.
Платформа MegaRAID достаточно известна — под этим названием долгие годы продаются RAID-контроллеры компании LSI. Около трех лет назад нами были анонсированы первые в индустрии контроллеры 6Гбит/с. Мощность процессоров, используемых в контроллерах этой серии, достигла таких показателей, что свободные процессорные ресурсы было решено направить на поддержку расширенных функций, названых Advanced Software Options.
В Advanced Software Options входят четыре прикладных приложения для систем хранения данных: CaheCade, FastPath, Recovery и SafeStore. Наиболее интересным и популярным среди пользователей стал пакет CacheCade, позволяющий создать дополнительный кэш на высокоскоростных SSD. Это приложение пережило два релиза, первый из которых (CaheCade 1.1) позволял использовать SSD-пул только в качестве кэша на чтение, а второй (CacheCade 2.0) позволил использовать SSD-кэш и на запись, наряду с возможностью конфигурации RAID-10 на кэш-группе.
Основной проблемой при использовании CacheCade стал незрелый рынок SSD. Возможно, некоторые компании до сих пор пользуются прекрасным продуктом от Intel X25E — SLCSSD диском с замечательными характеристиками, как на запись, так и на чтение. Полной неожиданностью для многих стало его исчезновение с рынка и замена более дешевыми, но более медленными (особенно на запись) устройствами 3й и 5й серий.
Мы извлекли из этого урок, и выпустили продукт уже содержащий на борту SSD, параметры которых позволяют воспользоваться ими для кэширования. Этот продукт получил название NytroMegaRAID 1.0, и именно его прошивка версии 1.5 и содержит два нововведения, о которых идет речь.
Итак, CacheCade 2.0 предлагал два вида конфигураций для кэширующей группы. RAID0 и RAID10. В первом варианте в случае выхода из строя одного из SSD, мы теряем всю кэш-группу. Это означает в случае кэширования на чтение — возвращение к первоначальному уровню производительности, а в случае с кэшем на запись — потерю данных. Поэтому, для включения кэша на запись была введена возможность конфигурации кэш-группы в RAID-10. Потеря одного из драйвов уже не приводит к потере данных при кэшировании записей.
Неприятным фактом в данном случае остается то, что мы используем лишь 50% ценной ёмкости SSD. Представьте себе, что можно разделить кэш на запись и на чтение. В этом случае, необходимость в дублировании информации для отказоустойчивости есть только для кэша на запись. Кэш на чтение можно располагать только на одном из устройств, так как его потеря не приводит к потере данных. Эту функцию мы и собираемся внедрить в NMR 1.5 под названием Elastic Cache. В случае, если соотношение кэшей чтения и записи составляет 50:50, «эффективный объем» кэша будет равен 75% от общей ёмкости кэш-группы. Обычно же для баз данных (приложения, для которых SSD-кэширование является максимально эффективным) соотношение чтений к записям составляет 70:30 (85% эффективной емкости). Для Exchange и других почтовых систем, количество операций записи еще меньше, поэтому можно использовать SSD еще эффективней.
Вторым новшеством стала возможность загрузки со штатного SSD контроллера NytroMegaRAID. Для этого можно будет выделить загрузочную область, в которой пользователи смогут разместить загрузочный образ ОС или гипервизора. То есть, теперь можно будет стартовать совсем без дисков. Конечно же, для бездисковой загрузки существуют и более дешевые решения, и наше решение не совсем для этого.
Где же можно применить эту функцию? Многие хостинговые компании, а также компании, внедряющие VDI (в обоих случаях кэширование показывает себя особо эффективно), вынуждены тратить драгоценные (особенно в случае с виртуализацией) слоты HDD для загрузочных дисков, вместо размещения там пользовательских данных. В таких конфигурациях функция загрузки с SSD прекрасно поможет решить конфигурационные сложности.
Отвечая на заглавный вопрос статьи, скажу следующее. Конечно же, жесткие диски все еще нужны для хранения больших массивов данных, но мы научились использовать их совместно с SSD, создавая гибридные массивы, сочетающие в себе достоинства обеих технологий, HDD (цена за GB) и SSD (скорость произвольных операций ввода-вывода). Многие уже привыкли к тому, что современные ноутбуки/ультрабуки грузятся за секунды, используя преимущества SSD, теперь очередь серверов. Недавно мы проводили наглядную демонстрацию решений Nytro, показывая на тестовом стенде ее возможности.