Кластер против виртуализации [закрыто]

Я работаю над выпуском веб-сайта видеохостинга (файлы с веб-камер) Размер каждого файла будет меньше 1 мб. Я хотел бы иметь возможность легко увеличить емкость хранилища и обеспечить высокую доступность. Я буду использовать выделенные серверы от OVH с двумя сетевыми адаптерами (1 для WAN и 1 для частной сети) Мне нужно будет перекодировать видеофайлы, хранить информацию о пользователях в mysql и использовать apache для внешнего веб-сайта. Я начну с хранения 12 ТБ; и в следующие 6 месяцев потребуется 100 ТБ. Это даже было бы хорошей возможностью для агрегирования пропускной способности каждого сервера. Я думаю о виртуализации с помощью proxmox или использую glusterfs для хранения и использую 2 сервера в HA для mysql + apache. Что бы могло быть. быть лучшим выбором?

0
задан 4 April 2015 в 16:31
1 ответ

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

Лучшая настройка, в зависимости от трафика, будет выглядеть примерно так:

  • Main веб-сервер, обслуживающий страницы. Это может быть одна машина или несколько за балансировщиком нагрузки.
  • Сервер (ы) базы данных, которые в зависимости от нагрузки могут быть теми же машинами, что и веб-сервер, или отдельной машиной или кластером.
  • Серверы хранения. Запустите легкий веб-сервер, например nginx, на каждом из них и обслуживайте файлы прямо оттуда. У каждого будет свой URL-адрес для обслуживания файлов с.
  • сервера (ов) перекодирования, который будет принимать исходные файлы, решать, на каком сервере хранения сохранять выходные данные, и записывать их в базу данных. Разделение этого на отдельный сервер означает, что это не замедлит сканирование веб-сайта во время кодирования видео.

Когда вы запустите, все они могут быть на одной паре машин - по мере того, как вы будете расти, разделите их на отдельные.

1234] Кластерные файловые системы могут показаться проще, но при этом весь трафик проходит через главный сервер, что ограничивает вас.

Я подозреваю, что вы также недооцениваете, насколько тяжело администрировать кластерные файловые системы, если вы можете этого избежать. Кластерные файловые системы хороши, пока они не сломаются. У них действительно есть преимущества в добавлении дополнительной избыточности. И это единственный вариант, если вам нужно представить большой набор файлов в виде единой файловой системы - но я не думаю, что вам понадобится дополнительная сложность для этого использования.

На отдельных серверах хранения легко найти видео (просто запишите URL-адрес или какой сервер он находится в базе данных).Решить, где хранить новые файлы, можно так же просто, как на каждом сервере запустить небольшой сценарий, который записывает свободное дисковое пространство в таблицу базы данных. один запрос скажет вам, где больше всего места, и вы переместите его туда через rsync или scp. Добавить новые серверы тоже легко - как только он записывается в эту таблицу, видео начинают поступать на него. Если вам нужна избыточность, выберите первые два сервера, скопируйте на оба и запишите основной и альтернативный серверы для каждого видео.

1
ответ дан 4 December 2019 в 16:59

Теги

Похожие вопросы