Помощь - Поиск - Пользователи - Календарь
Полная версия: Много вопросов к профессионалам по серверам
Онлайн-форум hostobzor.ru > Архив (темы до 1.06.2015). Только для чтения. > Коммерческий хостинг. Общие форумы > Выделенный сервер и co-location
eram hemul
Господа профессионалы!

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

Для начала опишу ту ситуацию с железом, ДЦ и задачами на сегодня. И спрошу совета как быть дальше.

Итак, на сегодня я имею два серьезных проекта и несколько не особо важных + более 120 доменов, которые так или иначе должны работать (сразу оговорюсь: хостингом не занимаюсь, не продаю). У меня три сервера, два дедика и один колокейшн у одного питерского провайдера.

Недавно ДНС серверы провайдера подверглись ддос-атаке. Соответственно, все три моих сервера "лежали". А еще более недавно, один из моих сайтов подвергся атаке, соответственно все сайты, что были на нем так же лежали.

Начитался форумов, понял два варианта для себя. Первый, это сооружение некой штуки под названием DNS-кластер. Советуют купить/арендовать серверы или VPSы в разных ДЦ и на них держать эти самые записи. В случае отказа одного - каким-то (непонятно каким для меня, пока) образом перенаправлять данные на другой серверю. И второй вариант (возможно сразу с первым) это разнести нагрузки на свой сервер(ы) на разные серверы (простите за тафтологию) в разных ДЦ.

Как я вижу для себя первый вариант (поправьте, если не прав): я покупаю/арендую несколько серверов в разных ДЦ, нанимаю админа для настройки/саппорта. В случае, если какой-то сервер недоступен по причине отказа ДЦ или атаки и хард посыпался - второй, третий и тп все равно работают, а значит мои сайты доступны.

Вариант второй: разные серверы в одном ДЦ и в разных обрабатывают разные запросы. Напрример, один через гнинх отдает статику, другой (который не видно из нета) обрабатывает mysql и/или еще что-то и тп. И, наверное, бекапные (зеркальные) серверы в другом ДЦ, на случай если эти недоступны - клиенты пойдут (сами того не подозревая) на другой.

У меня вот какой вопрос: есть ли (бывает ли) вообще какая-то технология, отработаная, которая позволит мне сделать такое вот дело?

Причем, денег как всегда "в обрез" и сразу купить все это никак не представляется возможным и желательно (даже я бы сказал критически важно) делать это постепенно? Возможно ли это?

В дополнение ко второму варианту, пришла мысль: если сделать на своем сервере, для своих сайтов, VPS? При атаке на один - будет лежать только он,остальные будут работать (при условии что канал не будет "забит"). Но это дорого. Лицензия ИСП стоит около 1к долларов.

Вобщем прошу прощения за такое кол-во букв. Идей и мыслей дофига, а вот опыта нет и спросить не у кого.

Например, вот такой пример (будет ли он работоспособен?):

сервер1 = www.smth.ru = только статика + картинки, nginx и тп, ДЦ1
сервер2 = 123.smth.ru = mysql, ДЦ1
сервер3 = копия сервер1 ДЦ2
сервер4 = копия сервер2 ДЦ2

В случае отказа дц1 или серверов в дц1 или атаки и тп - вариант1 (ДНСы) переключаются на сервер3 и тп.

Уф, вроде все. Был бы очень признателен, если кто-то дочитает до конца =)
MIRhosting.com
Цитата(eram hemul @ 25.06.2007, 21:51) *

Начитался форумов, понял два варианта для себя. Первый, это сооружение некой штуки под названием DNS-кластер. Советуют купить/арендовать серверы или VPSы в разных ДЦ и на них держать эти самые записи. В случае отказа одного - каким-то (непонятно каким для меня, пока) образом перенаправлять данные на другой серверю. И второй вариант (возможно сразу с первым) это разнести нагрузки на свой сервер(ы) на разные серверы (простите за тафтологию) в разных ДЦ.

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

Цитата
У меня вот какой вопрос: есть ли (бывает ли) вообще какая-то технология, отработаная, которая позволит мне сделать такое вот дело?

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

Цитата
В дополнение ко второму варианту, пришла мысль: если сделать на своем сервере, для своих сайтов, VPS? При атаке на один - будет лежать только он,остальные будут работать (при условии что канал не будет "забит"). Но это дорого. Лицензия ИСП стоит около 1к долларов.

Не очень понял что такое лицензия ИСП, которая стоит 1к usd. Лицензии Virtuozzo в лизинг стоят совершенно нормальных денег. Другое дело что не факт что это Вам действительно будет нужно и полезно.

Цитата
Например, вот такой пример (будет ли он работоспособен?):

сервер1 = www.smth.ru = только статика + картинки, nginx и тп, ДЦ1
сервер2 = 123.smth.ru = mysql, ДЦ1
сервер3 = копия сервер1 ДЦ2
сервер4 = копия сервер2 ДЦ2

В случае отказа дц1 или серверов в дц1 или атаки и тп - вариант1 (ДНСы) переключаются на сервер3 и тп.


Да, это так можно сделать. Mysql через встроенную репликацию, файлы через rsync или через централизированное файловое хранилище (san). Ставите очень короткий TTL в днс для домена, в случае проблем меняете IP на другой сервер.

Вариант не даст 100% uptime, но можно доработать и получить что-то приближенное к 99.9%
MiksIr
Да, а можно пообщаться с ДЦ на предмет технологий против DDOS-а. Если, конечно, досят на пакетном уровне, а не ваши скрипты.
2175
Цитата(MIRhosting.com @ 26.06.2007, 00:36) *

ДНС кластер позволит лишь отдавать днс записи о Ваших доменах с разных серверов. Но он нормально ничего не сделает для переброса трафика на другой сервер. Для этого нужно делать по-другому. Если Вам не требуются какие-либо панели управления и все делается на уровне самой OS, то это сделать вобщем-то не так сложно.
Т.к. в большинстве случаев каждый из подобных случаев индивидуален, то и массовых решений нет. Но сами по себе решения есть, и их много, они разные, и все это зависит от конкретной задачи и бюджета.
Не очень понял что такое лицензия ИСП, которая стоит 1к usd. Лицензии Virtuozzo в лизинг стоят совершенно нормальных денег. Другое дело что не факт что это Вам действительно будет нужно и полезно.
Да, это так можно сделать. Mysql через встроенную репликацию, файлы через rsync или через централизированное файловое хранилище (san). Ставите очень короткий TTL в днс для домена, в случае проблем меняете IP на другой сервер.

Вариант не даст 100% uptime, но можно доработать и получить что-то приближенное к 99.9%

На самом деле реплицировать не транзакционную СУБД довольно увлекательное занятие - обычно обходятся тем что одна из них мастер. тоже самое с файлами через rsync. Если надо совсем правильно, то приходится развлекаться с сетевыми операционными системами. С днс - куча мест, увы - где они кешируются и которым плевать на TTL ( на самом деле самое гадкое место при таких построениях именно в этом) - не так давно ненароком собрал статистику - она горькая. А 100% uptime на протяжении длительного времени в хостинге - предел к которому можно только стремиться.
PS. о DDOS можно говорить долго, на самом деле лекарства против этого проявления грубой силы нет, есть либо грубая же сила, либо вакцины.


в посте вместо "сетевыми операционными системами" читать "сетевыми файловами системами"
eram hemul
Ох, еще немного информации и у меня лопнет голова =))
MIRhosting.com
Цитата(2175 @ 26.06.2007, 11:34) *

На самом деле реплицировать не транзакционную СУБД довольно увлекательное занятие - обычно обходятся тем что одна из них мастер. тоже самое с файлами через rsync.

ну я это и имел в виду. один мастер, другой (другие) slave.
Цитата

Если надо совсем правильно, то приходится развлекаться с сетевыми операционными системами.

Если сетевыми файловыми хранилищами.
Цитата
С днс - куча мест, увы - где они кешируются и которым плевать на TTL ( на самом деле самое гадкое место при таких построениях именно в этом) - не так давно ненароком собрал статистику - она горькая.

да, но выкрутится все же можно. опять же - все зависит от требуемого уровня надежности и как следствие бюджета.
Цитата
А 100% uptime на протяжении длительного времени в хостинге - предел к которому можно только стремиться.

Его можно достичь (но нельзя гарантировать), но стоить это будет дорого.
Boris A Dolgov
Цитата
да, но выкрутится все же можно. опять же - все зависит от требуемого уровня надежности и как следствие бюджета.

Можете рассказать как?
MIRhosting.com
Цитата(Boris A Dolgov @ 26.06.2007, 16:53) *

Можете рассказать как?

простой вариант.
берутся 2 разные географические локации. на каждом из них делается свой кластер (high-availability). в днс пишутся 2 (или больше) A записи на этим разные локации.
В случае проблем кластер должен их обработать. Если проблемы типа доса или полной недоступности одной из локации - смена днс только на рабочую локацию.
нормальные браузеры (клиенты) в случае нескольких A записей в днс, в случае недоступности одной из них будут пробывать другую, так что вопрос кеширования не актуален. ну и в любом случае ставится маленький ttl, опять же нормальные клиенты это _обязаны_ правильно обрабатывать.
2175
Цитата(Boris A Dolgov @ 26.06.2007, 18:53) *

Можете рассказать как?

не знаю как предполается выкручиваться.. ( любая железка в любом ДЦ может быть временно недоступна) о TTL что наблюдал и наблюдаю по сей момент:
есть сайт с примерно 4000 уников в сутки, понятно было заранее что ему скоро перезжать из офиса в ДЦ, поставили в мае TTL всей зоны и отдельно всего что меняться должно 60 минут на зону и 30 на записи.
Перевезли, вроде как - то нормально даже, а через сутки на старом IP в офисе завелся совсем другой сайт ( мелкий и внутрикорпоративный, который на попытки доступа из сетей внешнего мира радостно пишет ошибку в логи).
даю по памяти, но ошибусь не сильно
через 2- е суток - 120 обращений к старому IP адресу сайта за содержимым этого самого сайта
через трое - 100
через 12 !!! дней - 28 обращений !
так что большому числу DNS сереров клиентских совершенно безрарилчно значение TTL.
по какому принципу фактически выбирается с какой из записей типа А работать когда их несколько так и не понял, похоже что случайно.
P.S. вторчиная зона тоже была перечитана минут через пять после обновления первичной, сериал сменил.
MIRhosting.com
Цитата(2175 @ 26.06.2007, 17:06) *

через 2- е суток - 120 обращений к старому IP адресу сайта за содержимым этого самого сайта
через трое - 100
через 12 !!! дней - 28 обращений !
так что большому числу DNS сереров клиентских совершенно безрарилчно значение TTL.
по какому принципу фактически выбирается с какой из записей типа А работать когда их несколько так и не понял, похоже что случайно.
P.S. вторчиная зона тоже была перечитана минут через пять после обновления первичной, сериал сменил.

Ну не правильно что-то сделали. Или там вовсе в другом было дело.
Кстати, вопрос переноса - немного другой вопрос. Здесь свои хитрости. smile.gif
Boris A Dolgov
А у моего провайдера все равно стоит кэш на 48 часов. Что ни делай. Видимо, они сильно жидят траффик smile.gif
2175
Цитата(MIRhosting.com @ 26.06.2007, 19:46) *

Ну не правильно что-то сделали. Или там вовсе в другом было дело.
Кстати, вопрос переноса - немного другой вопрос. Здесь свои хитрости. smile.gif

давайте не будем рассказывать другим как делать что - либо, не имея сведений о том как они это делают ..
не первый, да и не 10 -й сайт переношу....
если про хитрости Вы хотели сказать что посетилей надо вернуть туда куда они хотели попасть, то спасибо - догадываюсь ..
MIRhosting.com
Цитата(2175 @ 26.06.2007, 18:28) *

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

/offtopic
Извините, и не собирался рассказывать, именно поэтому так и написал. Это тема другого вопроса, и давайте не будем отходить от темы, затронутой здесь.
gylys
Цитата(eram hemul @ 25.06.2007, 22:51) *

Начитался форумов, понял два варианта для себя. Первый, это сооружение некой штуки под названием DNS-кластер.

Вы на правильном пути. Только надо высоту брать правильно biggrin.gif
Не городите огорот, с 120 доменами. От этого Вам только головная боль будет. Просто купите DNS сервис у того, у кого DNS сервера стоит на отдельных датацентрах.
По поводу аптайма, то можно подобрать датаценры с 99% до 99.95% годового. 99.9% более чем достаточно. 99.5% логческая серединка. 99% уже скучно, так как почти 4 сутки в год в офлайне sad.gif
eram hemul
Цитата(gylys @ 27.06.2007, 02:45) *
Просто купите DNS сервис у того, у кого DNS сервера стоит на отдельных датацентрах.


А вот здесь можно подробнее и с примерами? =)
Что значит "купите DNS"? Кто их продает? Где копать? Что за услуга? Сколько стоит? Очень много вопросов у меня =)
2175
Цитата(eram hemul @ 02.07.2007, 02:32) *

А вот здесь можно подробнее и с примерами? =)
Что значит "купите DNS"? Кто их продает? Где копать? Что за услуга? Сколько стоит? Очень много вопросов у меня =)

Создайте здесь на базаре тему и будет Вам счастие.
eram hemul
Покупка собственного DNS-сервера, общие моменты (добавьте или поправьте плз)

Я могу сделать несколько физически разнесенных серверов на один домен и по мере доступности мой ДНС-сервер будет посылать клиента на тот или другой.

Поскольку серверы будут находится в разных ДЦ, даже при полной отключке одного, мои ДНС-ки будут посылать ничего не понимающих клиентов на другую машину или машины.

Но что делать, если сам DNS-сервер упадет?
Dancy
Ваша схема не будет работать, не забывайте про кэш DNS.

Вот что нужно:
1. Два DNS в разных ДЦ
2. Два сайта в этих ДЦ с настроенной репликацией
3. Две A записи в DNS на этот сайт;
Наиболее дешёвый и доступный вариант достигнуть необходимой цели;
eram hemul
Господа профессионалы, что-то я совсем запутался, если честно.


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

Итак, у меня есть сайт. Назовем его, например, site.ru.

У него есть еще www.site.ru, order.site.ru и pda.site.ru.

Я хочу чтобы site.ru (без ввв) физически находился в питере, в Инфобоксе. Сайт www.site.ru в Москве, например, в МирХостинг.ком. А сайт pda.site.ru вообще где-то на дешевом VPS, который все равно где, главное нормальный аптайм.

Есть еще order.site.ru и вы спросите зачем нужен он. Объясняю: вышеперечисленные сайты - голый HTML. Для них пойдет любой самый простенький сервер или даже VPS. А вот сам order.site.ru - это серьезный, большой крупняк с мускулем и пхп. И таких сайтов может быть несколько. Если один не работает (сдох ДЦ, например) - я просто в настройках апача site.ru или www.site.ru переключу обработку данных на order2.site.ru и тп., который будет находится уже в другом месте, нежели oder.site.ru и будет работать.

Поясните мне, что мне нужно для такой схемы? Я там понимаю, собственные DNS-серверы? Потому что тот же инфобокс не станет держать у себя записи про www , которые ведут на другой хостинг?

MiksIr
Для такой схемы Вам достаточно доступ к редактированию зоны site.ru. Вы прописываете для нужных зон 3-го уровня нужные IP адреса.
Если Ваш хостер не предоставляет такого, возьмите услугу размещения зоны отдельно.
2175
Цитата(eram hemul @ 29.08.2007, 22:14) *

Господа профессионалы, что-то я совсем запутался, если честно.

Поясните мне, что мне нужно для такой схемы? Я там понимаю, собственные DNS-серверы? Потому что тот же инфобокс не станет держать у себя записи про www , которые ведут на другой хостинг?

схема будет работать, если правильно понял Вы хотите сделать некое подобие фронта на VPS с хорошим uptime. Правда не очень ясна цель - не так много выиграете в надежности.
А так - редактирование своей DNS зоны ( будет доступна на почти любом VDS) и ее быстрое реплицирование на фронт ( настраивается) .
P.S. или order.site.ru и order1.site.ru это два принципиально разных проекта, которые пользуютя одной БД.
eram hemul
order2 это точная копия order, просто на нее переключаемся в случае, если сервер или ДВ где находится order не отвечает.

А как мне сделать два site.ru в разных ДЦ (с разными ip и тп) и чтобы если один не работает - клиенты шли на другой?
2175
Цитата(eram hemul @ 30.08.2007, 20:53) *

order2 это точная копия order, просто на нее переключаемся в случае, если сервер или ДВ где находится order не отвечает.

А как мне сделать два site.ru в разных ДЦ (с разными ip и тп) и чтобы если один не работает - клиенты шли на другой?

совсем штатно - увы нормально не получится sad.gif
если у Вас не очень постоянная аудитория, то самое простое - на каждом из серверов DNS зоны с отличием куда указывает A - в обоих случаях на себя самого должен указывать. Минус решения ( мат) dns кэш. для постоянных посетителей будет срабатывать кэш, то есть если сервер не доступен, то некое время они будут искать его там где было. Да и в этом случае два сервера работают однвоременоо, а не заменяя при выходе из строя..
+ придется повозиться с тем чтобы это все хозяйство синхронизировало между собой данные (коли храните данные в БД будет попроще)
eSupport.org.ua
DNS'ом аптайма не достичь - нужен 1 IP на несколько датацентров и с bgp...

eram hemul
Цитата(2175 @ 30.08.2007, 22:23) *

совсем штатно - увы нормально не получится sad.gif
если у Вас не очень постоянная аудитория, то самое простое - на каждом из серверов DNS зоны с отличием куда указывает A - в обоих случаях на себя самого должен указывать. Минус решения ( мат) dns кэш. для постоянных посетителей будет срабатывать кэш, то есть если сервер не доступен, то некое время они будут искать его там где было. Да и в этом случае два сервера работают однвоременоо, а не заменяя при выходе из строя..
+ придется повозиться с тем чтобы это все хозяйство синхронизировало между собой данные (коли храните данные в БД будет попроще)


Аудитория постоянная, синхронизировать БД не надо, там только статика. Файлы генерируются на другом сервере и вгетом закачиваются по крону.

Цитата

DNS'ом аптайма не достичь - нужен 1 IP на несколько датацентров и с bgp...


ЭЭЭ... а расшифровать? =))
eSupport.org.ua
А смысл? Это стоит довольно больших денег, индивидуально не стоит этим заниматься - невыгодно.
Разве кто-то будет предлагать подобные решения как отдельный сервис, тогда да...

2175
Цитата(eram hemul @ 31.08.2007, 00:48) *

Аудитория постоянная, синхронизировать БД не надо, там только статика. Файлы генерируются на другом сервере и вгетом закачиваются по крону.
ЭЭЭ... а расшифровать? =))

Зачем для статики БД не понял, но если постоянная аудтория, то решения с DNS - не очень удачны.
Про BGP если Вы готовы стать заметного размера провайдером со своей марштуризирующей аппаратурой, то у Вас должны быть люди, которые Вам расскажут как это ... , но речь идет о десятках тысяч долларов.
А коротко BGP это тот кусок маршрутизации интренета, который объявляет другим провайдерам где им искать Ваши сервера, позволяет быстро менять и точки назначения своих IP адресов.
Для примера может кто скажет сколько сейчас просит провайдер за анонс свой AS ?
Mik-
Вопрос бюджета скорее.
Технологически многие это могут сделать (если интересно пишите в личку), и вариант с разнесенной кластеризацией реальность, хоть и встречается нечасто.

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

У Мирхостинга кстати большой опыт тоже по распределенным системам wink.gif

Цитата(2175 @ 31.08.2007, 08:47) *

Для примера может кто скажет сколько сейчас просит провайдер за анонс свой AS ?

Зависит от размера этого самого AS. Если анонс будет на полчаса, ясное дело что не все на такое пойдут smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2025 Invision Power Services, Inc.