Наверное, каждый, кто регулярно занимался расчетом аппаратных платформ под какие-либо задачи, сталкивался с тем, что этот расчет оказывался неверным. На самом деле заранее, особенно на ранних этапах, точно определить будущую нагрузку подчас решительно невозможно, не говоря уже о том, что даже правильно спроектированные мощности рано или поздно все равно потребуют модернизации. Так или иначе, «крупноблочное» серверное обустройство, помимо очевидных преимуществ, имеет один капитальный недостаток: его ресурсами невозможно гибко управлять. Вот почему с тех пор, как это стало технически осуществимым, лучшие умы задумывались о модульном строении аппаратных платформ. Последнее слово в этой области – микро сервера.
Не требуется далеко отходить от хабры, чтобы выяснить: концепция микро серверов далеко не нова – вот тому подтверждение. Имеет ли смысл вновь возвращаться к напечатанному? Таки да, имеет, ответ на вопрос «почему» вы найдете ниже.
Итак что же такое микро сервер? Это миниатюрный модуль, включающий в себя процессор, память, дисковое пространство (опционально), ну и, естественно, материнскую плату тоже. Модули могут общаться между собой по общей шине, разделяют систему питания и охлаждения. В шкаф-шасси модули загружаются как вертикально сверху (так влезет больше, но доступ к корзине затруднен), так и горизонтально спереди, наподобие блейд-серверов. Шасси также отвечает за управление модулями и их мониторинг. Спецификациями SSI (Server System Infrastructure) определяется несколько вариантов построения систем микро серверов с точки зрения архитектуры взаимодействия, управления, плотности монтажа и так далее. Скажем, на откуп шасси может быть отдана только реализация шины интерконнектов, наподобие того, что мы видим в блейдах. Другой вариант – шасси с базовой платой, берущей на себя управление вводом-выводом и несущей общее дисковое хранилище модулей, что позволяет упростить их устройство (за счет более дорогого объединяющего конструктива).
Варианты архитектуры микро серверов. Сверху вниз: максимальная плотность нод, максимальная память, максимальное дисковое хранилище
Микро сервера представляют собой развитие модульной идеи, и не только в плане экономии места, как показано на рисунке. В отличие от предшественников, они предоставляют возможность выбора, какими именно модулями и с какими характеристиками набивать шасси. Рассмотрим ассортимент вариантов на конкретных примерах.
Самый любимый пример адептов модульной архитектуры –
Варианты размещения хранилища на микро серверах
Теперь можно вернуться к вопросу, почему именно сейчас вновь заговорили о микро серверах, почему такие производители, как Dell и другие обозначили эти продукты в своих линейках, а Intel посвятила им отдельный доклад на недавно прошедшем IDF. Коротко можно ответить так: уровень технологий, наконец, дорос до их эффективного практического применения. Теперь расшифруем данный тезис поподробнее.
- Миниатюрность. Помимо уменьшения в размерах «кремниевой составляющей» (а оно также значительно), миниатюризации подвергся и дисковый массив. Жесткие диски формата mSATA, конечно, не могут сравниться по объему с дисковыми полками, но свою функцию попутного хранения выполняют без ущерба компактности. При необходимости можно остановиться на более емких вариантах с дисками форм-факторов 1.8 и 2.5 дюймов.
- Энергоэффективность. Как мы помним, с каждым новым поколением процессоров Intel, потребление ими энергии уменьшается примерно на 20%. Кроме того, помимо чисто серверных платформ, сейчас доступны и мини сервера с процессорами Atom с вовсе символическим потреблением порядка 15 Ватт на ноду. Таким образом, подчеркнем еще раз, стоимость эксплуатации мини сервера уменьшается не только благодаря техническому прогрессу, но и за счет «точечного» использования имеющегося ресурса. То есть «ровно столько, сколько надо и ни одного мегагерца излишка».
- Мощность. Думается, не требуется подробно описывать, как за несколько последних поколений выросла вычислительная мощность в пересчете на один процессор Intel. Те задачи, которые ранее требовали многопроцессорных платформ, сейчас отлично себя чувствуют на одном многоядерном процессоре. А ведь процессор в обойме микро серверов отнюдь не один.
- Параллелизация. Технологиям многопоточного исполнения кода, ставшим сейчас обыденностью в самых разных областях применения ПО, трудно найти более комфортную рабочую платформу, чем блок микро серверов, в котором можно разместить ровно столько процессоров, сколько требуется.
Какими характеристиками обладают доступные сейчас системы мини серверов? Приведем основные их параметры применительно к форм-фактору 4U.
Применение | Процессор | Память (на ноду) | 10G интерфейс | HDD (на ноду) |
---|---|---|---|---|
Веб-сервер | 32 x Intel Xeon E3-LV или 64x Intel Atom | 16 Гб | Совместный на 16 нод | 256 Гб 2.5” |
Кеширование | 32 x Intel Xeon E3-LV или 64x Intel Atom | 64 Гб | Совместный на 8 нод | 256 Гб 2.5” |
Распределенная файловая система | 24 x Intel Xeon E3-LV или 24 x Intel Atom | 32 Гб | Совместный на 2 ноды | 6 x 2 Тб 2.5” |
Как видно, при всей идеологической схожести с конструкторами LEGO, возможности микро серверов трудно назвать игрушечными. Однако, заканчивая разговор на эту тему, хотелось бы предупредить: микро сервера – не панацея от всех IT-бед, их внедрение должно быть хорошо продуманным, а ставящиеся задачи – решаемыми их силами. Достаточно просто очертить круг ПО, которому противопоказано размещение на микро серверах: прежде всего это программы, плохо поддающиеся параллелизации или те, которые быстро исчерпают ресурс параллельности при все увеличивающейся нагрузке на один поток. Таких программных продуктов, к сожалению, много; некоторые критически настроенные специалисты полагают, что почти все. Но мы с вами будем оптимистами, ведь работать с новыми технологиями всегда интереснее. И только обкатав технологию, можно найти пределы ее эффективного использования.
Автор: saul