Назад | Перейти на главную страницу

Расширяемое хранилище

Я разрабатываю службу веб-приложений и хочу масштабировать наши внутренние серверы.

Наш текущий сервер имеет емкость хранения ~ 1 ТБ. Пользователи создают ~ 10 ГБ данных, которые ежедневно добавляются в нашу базу данных.

Как вы можете видеть при наших текущих темпах, мы сможем поддерживать такой рост хранилища только в течение ~ 100 дней. Мы не ожидаем снижения темпов создания данных в ближайшем будущем. Из-за характера информации мы не планируем использовать коммерческое облачное хранилище (aws, google, microsoft, softlayer и т. Д.)

Мы хотели бы построить серверную инфраструктуру, которую можно было бы постоянно расширять (за пределы 100 ТБ). При необходимости это будет постепенный процесс, охватывающий несколько серверных стоек 4U.

Мой вопрос в том, что было бы стандартным способом сделать это без чрезмерного усложнения нашего программного обеспечения. Я изучал ZFS и openNAS, но, похоже, есть ограничения на объединение в пул и постоянное расширение хранилища.

Как лучше всего построить однородную архитектуру хранилища, которую можно постоянно расширять для удовлетворения наших потребностей в хранилище?

Даже исходя из моего ограниченного опыта, я должен сказать, что ваша проблема недооценена. Например, вы не говорите о требованиях к нагрузке, задержке и пропускной способности. Посетите эту страницу вопросов и ответов, чтобы узнать больше: Можете ли вы помочь мне с планированием моей мощности?


Мой опыт заключается в создании и управлении хранилищем объемом 140 ТБ (и увеличивающимся, 80 ТБ первичного + 60 резервного) для нашей лаборатории. Мы используем его как хранилище для данных исследований (в основном данных изображений, немного геномики; без баз данных). Система состоит из двух серверов в разных серверных комнатах и ​​была разработана с возможностью расширения. Пожалуйста, отнеситесь к тому, что я пишу, с недоверием.

На наших серверах работают FreeBSD и ZFS, Коробки 4U с расширителями SAS. Каждая коробка набита дисками по 4-5 ТБ. Резервное копирование новее и имеет 12 дисков по 5 ТБ, настроенных как RAID6, также известный как RAIDZ2.

Расширяемость достигается двумя путями:

  1. Каждый пул Z (например, 12x5 ТБ) можно расширить, добавив дополнительно 12 жестких дисков параллельно. Хитрость в том, что нам придется добавлять диски в хранилище кусками по 60 ТБ, мы не можем (AFAIK) добавить 30 ТБ, а через шесть месяцев дополнительные 30 ТБ. Если вас интересует ZFS, вам следует ознакомиться с терминологией (многие веб-сайты, в том числе Oracle и FreeBSD)
  2. Использование SAS позволяет нам легко добавлять дополнительная коробка JBOD 4U с 45 слотами для дисков при подключении к плате HBA / RAID основного блока с помощью одного кабеля.

Итак, из того, что я знаю:

  • ZFS при запуске на аппаратном обеспечении серверного уровня может успешно использоваться практически без надзора для размещения 100 ТБ данных и автоматического резервного копирования за пределами площадки.
  • Расширение хранилища ZFS может быть легко выполнено при использовании расширителей SAS, если соблюдены требования к пропускной способности
  • Возможность расширения не является «плавной» в том смысле, что если вы сконфигурируете zpool блоками по 20 ТБ, вам в дальнейшем придется добавлять диски кусками по 20 ТБ. Вы не можете просто купить жесткий диск емкостью 1 ТБ и подключить его, если у вас какой-то RAID6 / 7. В случае RAID10 вы можете это сделать, потому что вы «блокируете» по существу 1 или 2 диска.

Обновить

Текущие ограничения пропускной способности системы следующие:

  1. Сеть через медный Ethernet 1 Гбит / с (весь кампус) или 10 Гбит / с (внутри стойки)
  2. Массивы RAID60 с жесткими дисками: n x 160 МБ / с (в конфигурации 4x это ~ 5 Гбит / с)
  3. Протокол SAS3 с использованием 4x12 = 48 Гбит / с (соединяет объединительную плату с HBA с помощью кабелей SAS3 4x)

Как видите, в настоящее время мы ограничены сетью Ethernet 1 Гбит / с, если мы работаем внутри стойки (сервер хранилища <-> анализа), мы становимся ограниченными из-за способности сервера принимать потоки 5 Гбит / с. Наши данные - это в основном большие файлы (5-500 ГБ), поэтому я не уверен в IOPS. Чтобы улучшить пропускную способность, в настоящее время нам необходимо установить оптоволокно в здании (наша лаборатория и серверные комнаты находятся на разных этажах), тогда мы будем ограничены скоростью наших массивов RAID60. Затем нам нужно либо добавить дополнительные полосы, либо создать хранилище на основе SSD. Эта система была построена для работы вместо жесткого диска на базе USB3, который она превосходит.