Я разрабатываю службу веб-приложений и хочу масштабировать наши внутренние серверы.
Наш текущий сервер имеет емкость хранения ~ 1 ТБ. Пользователи создают ~ 10 ГБ данных, которые ежедневно добавляются в нашу базу данных.
Как вы можете видеть при наших текущих темпах, мы сможем поддерживать такой рост хранилища только в течение ~ 100 дней. Мы не ожидаем снижения темпов создания данных в ближайшем будущем. Из-за характера информации мы не планируем использовать коммерческое облачное хранилище (aws, google, microsoft, softlayer и т. Д.)
Мы хотели бы построить серверную инфраструктуру, которую можно было бы постоянно расширять (за пределы 100 ТБ). При необходимости это будет постепенный процесс, охватывающий несколько серверных стоек 4U.
Мой вопрос в том, что было бы стандартным способом сделать это без чрезмерного усложнения нашего программного обеспечения. Я изучал ZFS и openNAS, но, похоже, есть ограничения на объединение в пул и постоянное расширение хранилища.
Как лучше всего построить однородную архитектуру хранилища, которую можно постоянно расширять для удовлетворения наших потребностей в хранилище?
Даже исходя из моего ограниченного опыта, я должен сказать, что ваша проблема недооценена. Например, вы не говорите о требованиях к нагрузке, задержке и пропускной способности. Посетите эту страницу вопросов и ответов, чтобы узнать больше: Можете ли вы помочь мне с планированием моей мощности?
Мой опыт заключается в создании и управлении хранилищем объемом 140 ТБ (и увеличивающимся, 80 ТБ первичного + 60 резервного) для нашей лаборатории. Мы используем его как хранилище для данных исследований (в основном данных изображений, немного геномики; без баз данных). Система состоит из двух серверов в разных серверных комнатах и была разработана с возможностью расширения. Пожалуйста, отнеситесь к тому, что я пишу, с недоверием.
На наших серверах работают FreeBSD и ZFS, Коробки 4U с расширителями SAS. Каждая коробка набита дисками по 4-5 ТБ. Резервное копирование новее и имеет 12 дисков по 5 ТБ, настроенных как RAID6, также известный как RAIDZ2.
Расширяемость достигается двумя путями:
Итак, из того, что я знаю:
Обновить
Текущие ограничения пропускной способности системы следующие:
Как видите, в настоящее время мы ограничены сетью Ethernet 1 Гбит / с, если мы работаем внутри стойки (сервер хранилища <-> анализа), мы становимся ограниченными из-за способности сервера принимать потоки 5 Гбит / с. Наши данные - это в основном большие файлы (5-500 ГБ), поэтому я не уверен в IOPS. Чтобы улучшить пропускную способность, в настоящее время нам необходимо установить оптоволокно в здании (наша лаборатория и серверные комнаты находятся на разных этажах), тогда мы будем ограничены скоростью наших массивов RAID60. Затем нам нужно либо добавить дополнительные полосы, либо создать хранилище на основе SSD. Эта система была построена для работы вместо жесткого диска на базе USB3, который она превосходит.