LINUX.ORG.RU
ФорумAdmin

Веб сервер Dell R910 - нужна ли виртуализация?


0

1

Здравствуйте,

Есть: есть интернет-магазин (Украина) с посещаемостью порядка 100,000 визитов/сутки и 500,000 просмотров/сутки. Планируется, что до конца года будет примерно 200,000-300,000 визитов и соответственно порядка 1-1.5 млн просмотров страниц в сутки. 1 сервер который все это обслуживает - Dell R910 128 Gb RAM / 4 x 8 core Intel Xeon 7500 / 4 x 300Gb SAS 10000 rpm.

На нем настроена виртуализация и виртуалки: 1 - балансировщик (nginx)

4 х веб-сервера (nginx+php-fpm)

1 x DB

1 x Memcache

1 x Mail

Нужно:

1) Сделать отказоустойчивое решение, чтобы свести простой к минимуму (по идеи его вообще не должно быть)

2) Сделать решение, которое не будет тормозить при такой нагрузке.

Что я думаю сделать (часть уже сделали): Разместить доп. сервера в др. датацентрах, которые будут дублировать основной сервер.

ОСНОВНОЙ СЕРВЕР: Сейчас 1 сервер (r910) в ДЦ Воля (Киев)

ДУБЛИРУЮЩИЙ СЕРВЕР: Взяли в аренду 4 сервера в ДЦ hetzner (Германия) - как резервные.

1) 1 шт. X2 AMD Athlon 64 3700+ / 1Gb RAM / 2x300Gb - будет балансировщиком (только nginx), только раскидывает посетителей на веб-ноды

2) 2 шт. EX6 Intel(R) Xeon(R) CPU E31245 @ 3.30GHz / 16Gb RAM ECC / 2x3000Gb SATA 7200 rpm - 2 веб-сервера (nginx + php-fpm)

3) 1 шт. EX6 Intel(R) Xeon(R) CPU E31245 @ 3.30GHz / 16Gb RAM ECC / 2x3000Gb SATA 7200 rpm - 1 DB сервер (MySQL + memcache для кеша веб-серверов)

4) Есть доп. место, чтобы добавить либо еще один веб-сервер или еще доп. сервер БД.

думаю для начала хватит, посмотрим какую нагрузку будет держать...

+ Сделаем репликацию MySQL Master - Slave между основным и дублирующим сервером. Копирование файлов - csync2.

ВОПРОСЫ:

при настройке всего этого возник ряд вопросов, которые и хотелось бы обсудить.

1) Сейчас на r910 есть возможность поставить только 4 HDD по 300Гб, они крутятся в RAID 10, соответственно места у нас всего 600 Гб... Теоретически в сервер должно влазить 16 HDD, но купили такую конфигурацию, в которой можно поставить только 4 HDD, поставщик говорит, что большо добавить нельзя, типа нужно было др. конфигурацию брать (покупал не я, до меня его купили). Сейчас решаем что делать: a) купить: Дисковый массив DELL MD1200 Base 12 Bays w/ Additional EMM 3Y + Контроллер DELL PERC H800A Controller Card b) искать способы что-то заменить в сервере (контроллер?) чтобы можно было подключить желанные 16 HDD.

Есть кто-то, кто разбирается в DELL и может подсказать, что делать с сервером, как поставить туда 16HDD?

2) Нужно ли делать на сервере виртуализацию? Или лучше чтобы все крутилось вместе (MySQL + memcache + nginx + php-fpm)? Какие плюсы/минусы виртуализации?

3) Нужен ли балансировщик на отдельно машине? Т.е. что лучше использовать:

а) сервер с nginx, через который будет идти весь трафик?

б) dns балансировщик - который будет просто раскидывать трафик между веб-серверами? (понимаю, что он не будет сам выключать недоступные ноды в случае выхода их из строя).

Буду благодарен за советы.

воткни диски и посмотри утилитой для работы с контроллером увидела ли она диски. Если нет, то меняй контроллер, бекплейн итд.

Вообще он у тебя 4U, не понимаю зачем еще полку покупать, которая займет еще 2-3U.

xpahos ★★★★★ ()

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

Единственное чтобы оправдало такую конфигурацию это битрикс. Я угадал?

В общем, года три назад назад у меня нагрузки поболее держал всего один сервер потому что даже если предположить что 1млн запросов придёт за 8часов в течение дня то это всего 35 запросов в секунду что для нормального сайта такая фигня что хватит и VPS. А если бОльшая часть запросов на статику...

И что вы собираетесь хранить на 600гб в интернет-магазине тоже совершенно непонятно. В общем, чего-то ты не договариваешь.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

я бы все таки не сказал, что сильно кривая. В случае падения по софту какого-либо компонента системы, весь сервер в даун не уйдет - это плюс. Все довольно разумно построено, я бы и сам так делал, разве что разнес бы по физическим серверам.
А в качестве балансировщика взял бы не nginx, а что-то, что умеет умно балансировать нагрузку. Что-то вроде HAProxy (мы его реально использовали - более-менее понравилось)
Но в целом все верно товарищи делают.

JFreeM ★★★☆ ()
Ответ на: комментарий от JFreeM

В случае падения по софту

Это как?

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

И какой из компонентов может уйти в даун? База данных? Балансировщик?

в целом все верно товарищи делают.

Угу, 5 (или сколько там) серверов вместо одного это действительно очень правильно. Особенно чувствуется профессионализм в вынесении memcached подальше от вебсерверов на отдельную тачку. Ну и некисло так 16 гиг под пых-пых отвели. Хотя, если там десяток вложенных виртуалок... А судя по гаданию на кофейной гуще («пацаны, оно 1млн запросов выдержит?») о нагрузочном тестировании даже и не слышали.

true_admin ★★★★★ ()
Ответ на: комментарий от true_admin

воткни диски и посмотри утилитой для работы с контроллером увидела ли она диски. Если нет, то меняй контроллер, бекплейн итд.
Вообще он у тебя 4U, не понимаю зачем еще полку покупать, которая займет еще 2-3U.

Да, только что уточняли, нужно менять рейд контроллер и бекплейн... Долго ждать, порядка 45 дней пока привезут.

На счет доп. полки - сам против, просто манагеры (у кого раньше покупали) кричат, что ничего не получится, типа у вас модель такая бла-бла. Сегодня с другими созвонился - сказали все сделают, только ждать долго.

Единственное чтобы оправдало такую конфигурацию это битрикс. Я угадал?

Верно. Только не нужно его обсуждать. В данном случае он работает и не хуже чем др. решение. Доп. железки не такая и проблема.

И что вы собираетесь хранить на 600гб в интернет-магазине тоже совершенно непонятно. В общем, чего-то ты не договариваешь.

Каждый месяц порядка 6-10Гб картинок выгружается на сервер. 10Гб х 12 мес = 120 Гб / год, если брать запас на 2-3 года = 360 Гб только картинок. Это не считая накладных расходов на виртуализацию.

Особенно чувствуется профессионализм в вынесении memcached подальше от вебсерверов на отдельную тачку.

А вы предлагаете каждому веб-серверу отдельно кешировать одну и ту же страничку, например?? В чем смысл. А так общий кеш для всех 2-3 нод с веб-сервером. Нагрузка меньше. Есть что-то другое, чего я не учел?

И какой из компонентов может уйти в даун? База данных? Балансировщик?

В битриксе очень легко в даун может уйти база.

Ну и некисло так 16 гиг под пых-пых отвели

На хетцнере меньше чем 16 гиг не ставят на нормальные дедики.

А судя по гаданию на кофейной гуще («пацаны, оно 1млн запросов выдержит?») о нагрузочном тестировании даже и не слышали.

Где вы слышали вопрос: выдержит или нет? Сейчас до 10 запросов/сек. Будет думаю до 30-50 в пиках.

А в качестве балансировщика взял бы не nginx, а что-то, что умеет умно балансировать нагрузку. Что-то вроде HAProxy

Спасибо, посмотрю.

igor_ua ()
Ответ на: комментарий от igor_ua

В битриксе очень легко в даун может уйти база.

ты неправильно понял. Предыдущий оратор написал что якобы если один сервис упадёт то все остальные продолжат работать. у тебя будет всё наоборот.

Каждый месяц порядка 6-10Гб картинок выгружается на сервер.

старые удалять пробовали? Точно речь о магазине идёт? Как-то 10 гиг многовато для одних картинок. Даже если картинки по 100кб это 100тыщ картинок ежемесячно.

меньше чем 16 гиг не ставят на нормальные дедики.

и этого не хватит под memcache?

Есть что-то другое, чего я не учел?

да, трафик между серверами. Но если всё так плохо и там целиком страницы то тогда действительно по-барабану. Обычно в memcache как минимум сотни реквестов идут что не фонтан по сети гонять если можно локально.

Ребята, не хочу никого обидеть, но у нас на одной тачке такое работало. Только программистов несколько месяцев пялили пока это взлетело.

true_admin ★★★★★ ()

На тему виртуализации и отказоустойчивости - тебе какая нужна? Чтобы оно работало, когда пара железок сдохло, но приемлемо когда все лежит вместе с ДЦ или тебе надо чтоб оно работало всегда вплоть до 4-ой мировой? Если хочешь виртуализацию - запихиваем все в vSphere и радуемся, только кластер надо собрать хотя бы из 3-4х железок иначе смысла нет. Для устойчивости всего этого можно такое же сделать в другом ДЦ и балансировать трафик в обычном режиме и перенаправлять, когда один из ДЦ лежит. Вобщем как-то так. А вобще как верно заметили - а нахзачем столько мощей, денег много?

aleks13 ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.