Для реального проекта я должен настроить сервер хранения с высокой доступностью, который может хранить и публиковать (http) 150 миллионов фотографий в 7 размерах, то есть всего 1050 миллионов файлов. Для каждой фотографии нам нужно в общей сложности 200 КБ места, чтобы хранить их всех 7 размеров в общей сложности 28 ТБ.
На самом деле у меня есть два доступных сервера (2x E5620, 12 ГБ оперативной памяти, Raid Controller 1 ГБ NV кэш, 2x160 ГБ диск для ОС), оба подключили массив хранения (DAS) с дисками SAS 12x3 ТБ.
Я не уверен, что моя запланированная установка действительно лучшее решение:
ОС: RHEL 6
Дисковый массив: Raid 6, ext4 / rsync или gfs2
HTTP-сервер: Apache Traffic Server 3 или nginx
Таким образом, сервер хранит и публикует фотографии.
Что-нибудь посоветуете? При необходимости я могу добавить больше серверов. Какая файловая система подходит? Raid 6 в порядке?
Почему бы не сохранить один большой файл и попросить сервер по запросу преобразовать его в требуемый размер, а затем сохранить в кеше? Также рассмотрите возможность запуска нескольких внешних серверов (через балансировщик нагрузки) для обслуживания запросов, а затем, возможно, использования NAS или нескольких других серверов для обслуживания статического контента. Количество необходимых интерфейсов зависит от того, какой объем трафика вы получите (емкость YouTube или просто хранение контента для случайного доступа).
РЕДАКТИРОВАТЬ: Неправильно прочитаны требования к хранилищу!
Я бы использовал как минимум 2 + k + n серверов.
keepalived
, работает в чистом аварийном переключении (или что угодно, что плавает ваша лодка) - я предполагаю, что доступны 1GigE-Connections и которые могут обрабатывать чертовски много простых запросов GET, если вы используете прямой возврат для вашей конфигурации IPVS. ОТКРЫТЫЕ ВОПРОСЫ (и прикрывайте свое- за вопросами) : (не надо не знаю, ясны ли вам требования)
В любом случае я бы держался подальше от решений, связанных с синхронизацией файлов, так как это звучит так, как будто вы хотите иметь возможность где-то разместить файл и сделать его доступным немедленно. Наличие файла, доступного только через 15 минут после его размещения на серверах, не совсем оптимально и в большинстве случаев будет стоить реальных денег.
ПРИМЕЧАНИЕ Я предполагаю, что у вас есть система резервного копирования, которая займет 28 ТБ, если не добавить другая система хранения с необходимой избыточностью для обработки худших вариантов. Добавьте внешнюю резервную копию, чтобы справиться с тем, что произойдет, если вы забудете какой-то худший сценарий
В конце концов, это не звучит слишком сложно. Интересный вопрос: Готово ли ваше руководство тратить деньги?