+7 495 230 03 03 8 800 222 50 03

Построение бюджетной системы хранения данных

Дата публикации: 20 апреля 2016
Построение бюджетной системы хранения данных

Зависимость бизнес-процессов предприятия от ИТ-сферы постоянно растет. На сегодня вопросу непрерывности работы ИТ-сервисов уделяют внимание не только крупные компании, но и представители среднего, а зачастую и малого бизнеса.

Одним из центральных элементов обеспечения отказоустойчивости является система хранения данных (СХД) – устройство на котором централизовано храниться вся информация. СХД характеризуется высокой масштабируемостью, отказоустойчивостью, возможностью выполнять все сервисные операции без остановки работы устройства (в том числе замену компонентов). Но стоимость даже базовой модели измеряется в десятках тысяч долларов. Например, Fujitsu ETERNUS DX100 с 12-ю дисками Nearline SAS 1Tb SFF (RAID10 6TB) стоит порядка 21 000 USD, что для небольшой компании очень дорого.

В нашей статье мы предлагаем рассмотреть варианты организации бюджетного хранилища, которое не проигрывает по производительности и надежности классическим системам. Для его реализации предлагаем использовать CEPH.

Что такое CEPH и как он работает?

Построение бюджетной системы хранения данных - EFSOLCEPH – хранилище на базе свободного ПО, представляет из себя объединение дисковых пространств нескольких серверов (количество серверов на практике измеряется десятками и сотнями). CEPH позволяет создать легкомасштабируемое хранилище с высокой производительностью и избыточностью ресурсов. CEPH может использоваться как в качестве объектного хранилища (служить для хранения файлов) так и в качестве блочного устройства (отдача виртуальных жестких дисков).

Отказоустойчивость хранилища обеспечивается репликацией каждого блока данных на несколько серверов. Количество одновременно хранимых копий каждого блока называется фактором репликации, по умолчанию его значение равно 2. Схема работы хранилища показана на рисунке 1, как видим информация разбивается на блоки, каждый из которых распределяется по двум разным нодам.

Построение бюджетной системы хранения данных - EFSOL

Рисунок 1 – Распределение блоков данных

Если на серверах не используются отказоустойчивые дисковые массивы, для надежного хранения данных рекомендуется использовать более высокое значение фактора репликации. В случае выхода из строя одного из серверов CEPH фиксирует недоступность блоков данных (рисунок 2), которые на нем размещены, ожидает определенное время (параметр настраивается, по умолчанию 300 сек.), после чего начинает воссоздание недостающих блоков информации в другом месте (рисунок 3).

Построение бюджетной системы хранения данных - EFSOL

Рисунок 2 – Выход из строя одной ноды

Построение бюджетной системы хранения данных - EFSOL

Рисунок 3 – Восстановление избыточности

Аналогично, в случае добавления в кластер нового сервера происходит ребаллансировка хранилища с целью равномерного заполнения дисков на всех нодах. Механизм который контролирует процессы распределения блоков информации в кластере CEPH называется CRUSH.

Для получения высокой производительности дискового пространства в кластерах CEPH рекомендуется использовать функционал cache tiering (многоуровневое кэширование). Смысл его заключается в том, чтобы создать отдельный высокопроизводительный пул и использовать его для кэширования, основная же информация будет размещена на более дешевых дисках (рисунок 4).

Построение бюджетной системы хранения данных - EFSOL

Рисунок 4 – Логическое представление дисковых пулов

Многоуровневое кэширование будет работать следующим образом: запросы клиентов на запись будут записываться в самый быстрый пул, после чего перемещаться на уровень хранения. Аналогично по запросам на чтение – информация при обращении будет подниматься на уровень кэширования и обрабатываться. Данные продолжают оставаться на уровне кэша пока не становятся неактивными или пока не теряют актуальность (рисунок 5). Стоит отметить, что кэширование можно настроить только на чтение, в этом случае запросы на запись будут заноситься прямо в пул хранения.

Построение бюджетной системы хранения данных - EFSOL

Рисунок 5 – Принцип работы кэш-тирринг

Рассмотрим реальные сценарии использования CEPH в организации для создания хранилища данных. В качестве потенциального клиента рассматриваются организации малого и среднего бизнеса, где будет наиболее востребована эта технология. Мы рассчитали 3 сценария использования описанного решения:

  1. Производственное или торговое предприятие с требованием к доступности внутренней ERP системы и файлового хранилища 99,98% в год, 24/7.
  2. Организация, которой для ее бизнес-задач требуется развернуть локальное частное облако.
  3. Очень бюджетное решение для организации отказоустойчивого блочного хранилища данных, полностью независимое от аппаратного обеспечения с доступностью 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 основных аппаратных компонента:

  1. Вычислительная часть (compute) – серверы, заполненные оперативной памятью и процессорами, ресурсы которых используются виртуальными машинами для вычислений
  2. Система хранения данных (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 реализует данное решение по индивидуальным требованиям. Мы можем использовать имеющееся у вас оборудование, что ещё более снизит капитальные затраты на внедрение системы. Свяжитесь с нами и мы проведем обследование вашего оборудования на предмет его использования при создании СХД.

Лого ES мини

EFSOL

  • Аноним

    Интересная статья.
    Сейчас как раз актуальна тема поиска СХД для нашей компании. Предложенное вами решение очень привлекает. У нас как раз есть несколько старых серверов на которых попробуем собрать что-то по сценарию 2. Только как я понял для такого решения нужна хорошая пропускная способность сети, минимум 1Гбит, а лучше все 10Гбит между серверами.
    Спасибо за информацию, будем тестировать.

  • Аноним

    Дмитрий правильно заметил про пропускную способность сети и Вам бы в сравнение логично добавить сетевые карты 10Гбит-ные, поскольку, по сравениею, например, с SAS HBA они будут стоить значительно дороже, по моему мнению. А для нормального отклика в такой системе заложить бы еще оптические коммутаторы, да не один (для отказоустойчивого решения) и видимо купить дешевую СХД будет уже не таким и плохим решением.

    • https://efsol.ru/ EFSOL

      Здравствуйте, Денис! В данной статье приведены расчеты для построения самого минимального кластера. Для него не нужно 2-х оптических свитчей, поскольку нод всего 3.
      По затратам на 10-Гбитные карты – согласен. Но если Вы хотите купить СХД, нужно будет, во-первых, купить модули 10 Gbit в СХД, во-вторых, те же карты 10 Gbit в серверы.

      • Аноним

        Если я хочу купить СХД – я могу ее подключить по SAS. В СХД, которую вы рассматриваете есть минимум по 2 порта SAS на каждом контроллере в стоке, а значит нужно приобрести всего два двух портовых HBA SAS в сервера, что значительно! дешевле, чем приобритение 10Gbit сетевых карт. В вашей статье кроме бюджетов хорошо бы рассмотреть преимущества и недостатки гиперконвергентных систем с классическими CХД, поскольку, например tiering не сравнится с SSD кэшированием. Планируется ли сделать обзор?

        • https://efsol.ru/ EFSOL

          Статья написана в основном с уклоном на экономику и ориентирована на те компании, которые столкнулись с проблемой дороговизны СХД.
          Также основная идея – совместить вычисление и хранилище. Экономия выходит и при закупке и на ежемесячных затратах (серверы + СХД занимают больше места, чем просто серверы).
          Касательно полного технического сравнения систем – возможно, такое исследование проведем и сделаем отдельный обзор.

  • Аноним

    Здравствуйте.
    1) А сколько для интереса будет стоить работа по созданию такого суперсервера CEPH? Ну пусть с выбранным хранилищем SuperMicro. Есть такие услуги у вас, хотя бы средняя цена?
    2) Я знаю что сейчас появилась фича Microsoft, которая умеет создавать логические тома из нескольких дисков и даже из разных серверов (типа LVM на Линуксе). Планируете ее включать в обзор?

    • https://efsol.ru/ EFSOL

      Здравствуйте, Всеволод!

      1) Звоните, обсудим задание и озвучим цену.
      2) Да, технология Storage Spaces. Начали ее применять с выходом Windows Server 2016. Касательно обзора – планируем сделать отдельную статью.

  • Аноним

    Приветствую. Вопрос по дисковому массиву.
    Вы пишете “4 SATA диска по 2 Тб для пула хранения объединяем в 2 массива RAID1, 2 SSD диска для пула кэширования также объединяем в RAID1”
    – А почему именно 4 Сата и 2 SSD. Есть какой то калькулятор или таблица соответствия?
    – В таблице цен нашел, что объем ССД был 400 Гб (хотя этого нет в описании) – а почему именно такой объем, для запаса, что ли?
    – А разве система не сама делаем программный рейд под себя, по типу пула дисков? Нужно диски специально вручную объединять в Рейд?

    • https://efsol.ru/ EFSOL

      Здравствуйте, Роман.

      1,2 Диски брали 400 Гб из расчета 10% от основного массива SATA. Калькулятора какого-то нет. Логика простая: чем больше соотношение SSD /SATA – тем дороже 1 Гб полезного пространства, но больше информации поместится в пул кэширования. Соответственно соотношение нужно подбирать исходя из интенсивности обработки информации.
      3. В данном случае было объединение дисков в рейды, а далее они объединялись в пул хранения и кэширования между разными нодами. Построить пул состоящий из разных типов дисков в пределах одной ноды тоже можно, но это другая технология.

  • Аноним

    Добрый день, мы планируем внедрять систему vSan на VMWare, Ваша статья как раз привлекал схожей технологией. Скажите, был ли у Вас опыт внедряни такого рода технологий. Интересуют подводные камни, о которые можно споткнуться, особенно вопросы производительности и отказоустойчивости решения по сравнению с промышленной СХД.

    • https://efsol.ru/ EFSOL

      Здравствуйте, Денис!
      vSan от VMWare не использовали. Решение достойное, но очень дорогое.
      На сколько я помню, там кроме самой vSan нужна лицензия на vSphere, а также обязательная покупка поддержки. ИТОГО: на 1 сервер с 2-мя процессорами стоимость софта доходит до 20 000 USD.

  • https://efsol.ru/ EFSOL

    Сергей, спасибо за комментарий.
    В статье мы описывали максимально бюджетное решение, поэтому использовали бесплатный продукт.
    Для Jovian нужны лицензии и выходит уже не очень бюджетно.
    Будем иметь в виду данный продукт, возможно в будущем потестируем его и сравним с бесплатными решениями.

  • http://twitter.com/A_MHE_HACPATb 1.

    Не очень понятно в 3 сценарии в части совмещения вычислительной части и хранилища, как это сделать?

    • https://efsol.ru/ EFSOL

      Гипервизоры используют ресурсы аппаратных серверов, а сами файлы виртуальных машин хранятся на массиве, созданном из дисков, которые физически установлены в эти же серверы. Сценарий 3, кстати, не отличается в этом плане от Сценария 2.

Заказать звонок

Оставьте свои данные для того, чтобы специалист с вами связался.

*нажимая на кнопку, Вы даете согласие на обработку персональных данных
Быстрое внедрение включает:
На сервере установлено следующее ПО (доступно при подключении по протоколу RDP):
Также настроено:
Перед внедрением клиент предоставляет информацию о пользователях (логины и пароли). После завершения работ, клиенту высылается инструкция и ярлык для подключения.
Индивидуальное внедрение по ТЗ клиента обсуждается отдельно.