Зависимость бизнес-процессов предприятия от ИТ-сферы постоянно растет. На сегодня вопросу непрерывности работы ИТ-сервисов уделяют внимание не только крупные компании, но и представители среднего, а зачастую и малого бизнеса.
Одним из центральных элементов обеспечения отказоустойчивости является система хранения данных (СХД) – устройство на котором централизовано храниться вся информация. СХД характеризуется высокой масштабируемостью, отказоустойчивостью, возможностью выполнять все сервисные операции без остановки работы устройства (в том числе замену компонентов). Но стоимость даже базовой модели измеряется в десятках тысяч долларов. Например, Fujitsu ETERNUS DX100 с 12-ю дисками Nearline SAS 1Tb SFF (RAID10 6TB) стоит порядка 21 000 USD, что для небольшой компании очень дорого.
В нашей статье мы предлагаем рассмотреть варианты организации бюджетного хранилища, которое не проигрывает по производительности и надежности классическим системам. Для его реализации предлагаем использовать CEPH.
Что такое CEPH и как он работает?
CEPH – хранилище на базе свободного ПО, представляет из себя объединение дисковых пространств нескольких серверов (количество серверов на практике измеряется десятками и сотнями). CEPH позволяет создать легкомасштабируемое хранилище с высокой производительностью и избыточностью ресурсов. CEPH может использоваться как в качестве объектного хранилища (служить для хранения файлов) так и в качестве блочного устройства (отдача виртуальных жестких дисков).
Отказоустойчивость хранилища обеспечивается репликацией каждого блока данных на несколько серверов. Количество одновременно хранимых копий каждого блока называется фактором репликации, по умолчанию его значение равно 2. Схема работы хранилища показана на рисунке 1, как видим информация разбивается на блоки, каждый из которых распределяется по двум разным нодам.
Рисунок 1 – Распределение блоков данных
Если на серверах не используются отказоустойчивые дисковые массивы, для надежного хранения данных рекомендуется использовать более высокое значение фактора репликации. В случае выхода из строя одного из серверов CEPH фиксирует недоступность блоков данных (рисунок 2), которые на нем размещены, ожидает определенное время (параметр настраивается, по умолчанию 300 сек.), после чего начинает воссоздание недостающих блоков информации в другом месте (рисунок 3).
Рисунок 2 – Выход из строя одной ноды
Рисунок 3 – Восстановление избыточности
Аналогично, в случае добавления в кластер нового сервера происходит ребаллансировка хранилища с целью равномерного заполнения дисков на всех нодах. Механизм который контролирует процессы распределения блоков информации в кластере CEPH называется CRUSH.
Для получения высокой производительности дискового пространства в кластерах CEPH рекомендуется использовать функционал cache tiering (многоуровневое кэширование). Смысл его заключается в том, чтобы создать отдельный высокопроизводительный пул и использовать его для кэширования, основная же информация будет размещена на более дешевых дисках (рисунок 4).
Рисунок 4 – Логическое представление дисковых пулов
Многоуровневое кэширование будет работать следующим образом: запросы клиентов на запись будут записываться в самый быстрый пул, после чего перемещаться на уровень хранения. Аналогично по запросам на чтение – информация при обращении будет подниматься на уровень кэширования и обрабатываться. Данные продолжают оставаться на уровне кэша пока не становятся неактивными или пока не теряют актуальность (рисунок 5). Стоит отметить, что кэширование можно настроить только на чтение, в этом случае запросы на запись будут заноситься прямо в пул хранения.
Рисунок 5 – Принцип работы кэш-тирринг
Рассмотрим реальные сценарии использования CEPH в организации для создания хранилища данных. В качестве потенциального клиента рассматриваются организации малого и среднего бизнеса, где будет наиболее востребована эта технология. Мы рассчитали 3 сценария использования описанного решения:
- Производственное или торговое предприятие с требованием к доступности внутренней ERP системы и файлового хранилища 99,98% в год, 24/7.
- Организация, которой для ее бизнес-задач требуется развернуть локальное частное облако.
- Очень бюджетное решение для организации отказоустойчивого блочного хранилища данных, полностью независимое от аппаратного обеспечения с доступностью 99,98% в год и недорогим масштабированием.
Сценарий использования 1. Хранилище данных на базе CEPH
Рассмотрим реальный пример применения CEPH в организации. Например, нам требуется отказоустойчивое производительное хранилище объемом 6 Тб, но затраты даже на базовую модель СХД с дисками составляют порядка $21 000.
Собираем хранилище на базе CEPH. В качестве серверов предлагаем использовать решение Supermicro Twin (Рисунок 6). Продукт представляет собой 4 серверные платформы в едином корпусе высотой 2 юнита, все основные узлы устройства дублируются, что обеспечивает его непрерывное функционирование. Для реализации нашей задачи будет достаточно использовать 3 ноды, 4-я будет в запасе на будущее.
Рисунок 6 – Supermicro Twin
Комплектуем каждую из нод следующим образом: 32 Гб ОЗУ, 4-х ядерный процессор 2,5 Ггц, 4 SATA диска по 2 Тб для пула хранения объединяем в 2 массива RAID1, 2 SSD диска для пула кэширования также объединяем в RAID1. Стоимость всего проекта указана в таблице 1.
Таблица 1. Комплектующие для хранилища на базе CEPH
Комплектующие | Цена, USD | Кол-во | Стоимость, USD |
Supermicro Twin 2027PR-HTR: 4 hot-pluggable systems (nodes) in a 2U form factor. Dual socket R (LGA 2011), Up to 512GB ECC RDIMM, Integrated IPMI 2.0 with KVM and Dedicated LAN. 6x 2.5″ Hot-swap SATA HDD Bays. 2000W Redundant Power Supplies | 4 999,28 | 1 | 4 999,28 |
Модуль памяти Samsung DDR3 16GB Registered ECC 1866Mhz 1.5V, Dual rank | 139,28 | 6 | 835,68 |
Процессор Ivy Bridge-EP 4-Core 2.5GHz (LGA2011, 10MB, 80W, 22nm) Tray | 366,00 | 3 | 1 098,00 |
Жесткий диск SATA 2TB 2.5″ Enterprise Capacity SATA 6Gb/s 7200rpm 128Mb 512E | 416,00 | 12 | 4 992,00 |
Твердотельный накопитель SSD 2.5” 400GB DC S3710 Series. | 641,00 | 6 | 3 846,00 |
ИТОГО | 15 770,96 |
Вывод: В результате построения хранилища получим дисковый массив 6Tb c затратами порядка $16 000, что на 25% меньше чем закупка минимальной СХД, при этом на текущих мощностях можно запустить виртуальные машины, работающие с хранилищем, тем самым сэкономить на покупке дополнительных серверов. По сути – это законченное решение.
Серверы, из которых строится хранилище, можно использовать не только как вместилище жестких дисков, но в качестве носителей виртуальных машин или серверов приложений.
Сценарий использования 2. Построение частного облака
Задача состоит в том, чтобы развернуть инфраструктуру для построения частного облака с минимальными затратами.
Построение даже небольшого облака состоящего из например из 3-х носителей примерно в $36 000: $21 000 – стоимость СХД + $5000 за каждый сервер с 50% наполнением.
Использование CEPH в качестве хранилища позволяет совместить вычислительные и дисковые ресурсы на одном оборудовании. То есть не нужно закупать отдельно СХД – для размещения виртуальных машин будут использоваться диски установленные непосредственно в серверы.
Краткая справка:
Классическая облачная структура представляет из себя кластер виртуальных машин, функционирование которых обеспечивают 2 основных аппаратных компонента:
- Вычислительная часть (compute) – серверы, заполненные оперативной памятью и процессорами, ресурсы которых используются виртуальными машинами для вычислений
- Система хранения данных (storage) – устройство наполненное жесткими дисками, на котором хранятся все данные.
В качестве оборудования берем те же серверы Supermicro, но ставим более мощные процессоры – 8-ми ядерные с частотой 2,6 GHz, а также 96 Гб ОЗУ в каждую ноду, так как система будет использоваться не только для хранения информации, но и для работы виртуальных машин. Набор дисков берем аналогичный первому сценарию.
Таблица 2. Комплектующие для частного облака на базе CEPH
Комплектующие | Цена, USD | Кол-во | Стоимость, USD |
Supermicro Twin 2027PR-HTR: 4 hot-pluggable systems (nodes) in a 2U form factor. Dual socket R (LGA 2011), Up to 512GB ECC RDIMM, Integrated IPMI 2.0 with KVM and Dedicated LAN. 6x 2.5″ Hot-swap SATA HDD Bays. 2000W Redundant Power Supplies | 4 999,28 | 1 | 4 999,28 |
Модуль памяти Samsung DDR3 16GB Registered ECC 1866Mhz 1.5V, Dual rank | 139,28 | 18 | 2 507,04 |
Процессор Intel Xeon E5-2650V2 Ivy Bridge-EP 8-Core 2.6GHz (LGA2011, 20MB, 95W, 32nm) Tray | 1 416,18 | 3 | 4 248,54 |
Жесткий диск SATA 2TB 2.5″ Enterprise Capacity SATA 6Gb/s 7200rpm 128Mb 512E | 416 | 12 | 4 992,00 |
Твердотельный накопитель SSD 2.5” 400GB DC S3710 Series. | 641 | 6 | 3 846,00 |
ИТОГО | 20 592,86 |
Собранное облако будет иметь следующие ресурсы с учетом сохранения стабильности при выходе из строя 1-й ноды:
- Оперативная память: 120 Гб
- Дисковое пространство 6000 Гб
- Процессорные ядра физические: 16 Шт.
Собранный кластер сможет поддерживать порядка 10 средних виртуальных машин с характеристиками: 12 ГБ ОЗУ / 4 процессорных ядра / 400 ГБ дискового пространства.
Также стоит учесть что все 3 сервера заполнены только на 50% и при необходимости их можно доукомплектовать, тем самым увеличив пул ресурсов для облака в 2 раза.
Вывод: Как видим, мы получили как полноценный отказоустойчивый кластер виртуальных машин, так и избыточное хранилище данных – выход из строя любого из серверов не критичен – система продолжит функционирование без остановки, при этом стоимость решения примерно в 1,5 раза ниже, чем купить СХД и отдельные сервера.
Сценарий использования 3. Построение сверхдешевого хранилища данных
Если бюджет совсем ограничен и нет денег на закупку оборудования описанного выше, можно закупить серверы бывшие в употреблении, но на дисках экономить не стоит – их настоятельно рекомендуется купить новые.
Предлагаем рассмотреть следующую структуру: закупается 4 серверные ноды, в каждый сервер ставиться по 1 SSD-диску для кэширования и по 3 SATA диска. Серверы Supermicro с 48 ГБ ОЗУ и процессорами линейки 5600 можно сейчас купить примерно за $800.
Диски не будут собираться в отказоустойчивые массивы на каждом сервере, а будут представлены как отдельное устройство. В связи с этим для повышения надежности хранилища будем использовать фактор репликации 3. То есть у каждого блока будет 3 копии. При такой архитектуре зеркалирования дисков SSD кеша не требуется, так как происходит автоматическое дублирование информации на другие ноды.
Таблица 3. Комплектующие для стореджа
Комплектующие | Цена, USD | Кол-во | Стоимость, USD |
SUPERMICRO 2*Xeon 5645, 48 ГБ ОЗУ (б/у) | 800 | 4 | 3200 |
Жесткий диск SATA 2TB Western Digital RAID EDITION | 130 | 12 | 1560 |
Твердотельный накопитель SSD 2.5” 400GB DC S3710 Series. | 641 | 4 | 2560 |
ИТОГО | 7324 |
Вывод: В случае необходимости в данном решении можно использовать диски большего объема, либо заменить их на SAS, если нужно получить максимальную производительность для работы СУБД. В данном примере в результате получим хранилище объемом 8 ТБ с очень низкой стоимостью и очень высокой отказоустойчивостью. Цена одного терабайта получилась в 3,8 раза дешевле, чем при использовании промышленной СХД за $21000.
Итоговая таблица, выводы
Конфигурация | СХД Fujitsu ETERNUS DX100 + 12 Nearline SAS 1Tb SFF (RAID10) | СХД Fujitsu ETERNUS DX100 + 12 Nearline SAS 1Tb SFF (RAID10) + Supermicro Twin | Наш сценарий 1: хранилище на базе CEPH | Наш сценарий 2: построение частного облака | Нашсценарий 3: построение сверхдешевого хранилища |
Полезный обьем, ГБ | 6 000 | 6 000 | 6 000 | 6000 | 8 000 |
Цена, USD | 21000 | 36000 | 15 770 | 20 592 | 7 324 |
Стоимость 1 ГБ, USD | 3,5 | 6 | 2,63 | 3,43 | 0,92 |
Количество IOPs* (чтение 70%/запись 30%, Размер блока 4К) | 760 | 760 | 700 | 700 | 675 |
Назначение | Хранилище | Хранилище + Вычисление | Хранилище + Вычисление | Хранилище + Вычисление | Хранилище + Вычисление |
*Расчет количества IOPs выполнен для созданных массивов из дисков NL SAS на СХД и дисков SATA на сторедже CEPH, кэширование отключалось для чистоты полученных значений. При использовании кэширования показатели IOPs будут значительно выше до момента заполнения кэша.
В итоге можно сказать, что на основе кластера CEPH можно строить надежные и дешевые хранилища данных. Как показали расчеты, использовать ноды кластера только для хранения не очень эффективно – решение выходит дешевле чем закупить СХД, но не на много – в нашем примере стоимость хранилища на CEPH была примерно на 25% меньше чем Fujitsu DX100. По-настоящему экономия ощущается в результате совмещения вычислительной части и хранилища на одном оборудовании – в таком случае стоимость решения будет в 1,8 раз меньше, чем при построении классической структуры с применением выделенного хранилища и отдельных хост-машин.
Компания EFSOL реализует данное решение по индивидуальным требованиям. Мы можем использовать имеющееся у вас оборудование, что ещё более снизит капитальные затраты на внедрение системы. Свяжитесь с нами и мы проведем обследование вашего оборудования на предмет его использования при создании СХД.