LINUX.ORG.RU
ФорумAdmin

Бюджетный отказоустойчивый хостинг

 , , ,


1

6

Гипотетическая задача. Есть 6 серверов Xeon E3-1270, 16Gb RAM, 2 Tb HDD + 6 серверов Xeon E3-1270, 16Gb RAM, 240 Gb SSD. Надо построить типичный хостинг (но отказоустойчивый) - веб-сервер, почтовый сервер, сервер БД. Как бы вы это реализовали на таких железках и какое ПО (DRBD, Heartbeat, Proxmox, Pacemaker ... ) использовали? Специфика нагрузки - среднестатистичекие сайты. Дополнительно - снятие бекапов на отдельный, не входящий в эти 12 шт., сервер.

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

Подпишусь на тред.

А почему были выбраны именно эти железки? Самые популярные конфигурации что ли?

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

Просто прикинул что более-менее производительное из бюджетного, вы правы. На самом деле цель вопроса именно узнать архитектуру такой системы. Процессоры хоть Оптероны, хоть Зионы, не суть, акцент на то, что нету чего-то типа дисковой полки, только одиночные HDD+SSD.

Alternating_Current ()

Я уже дого копаю в эту сторону. Сейчас более менее склоняюсь, к такой схеме:
1. Пара сервисных ip, которые оба отдаются через DNS, висят на нескольких серверах через keepalived.
2. Статика и скрипты синхронизируются через drbd
3. Репликация субд. При возможности мастер-мастер.

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

Но самая большая проблема возникла с репликацией MySQL (percona master-master). Она работает при нагрузках совсем не так гладко, как хотелось бы. Во-первых не реплицируется MyISAM, а во-вторых, какие-то странные проблемы с пользовательскими сессиями возникают. Этот вопрос пытаюсь решить избавлением от MyISAM и хранением сессий в монго. Сейчас использую репликацию master-slave, так что не совсем отказоустойчивая схема.

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

Пункт 2. А вот в такой системе, если на одной ноде производительность упрется в i/o HDD настолько, что она перестанет отвечать на HTTP-запросы (к примеру), то переключение на вторую ноду сработает? И если да, то там тоже с i/o будет не все хорошо ведь и вторая нода тоже помрет. Или я уже выхожу за рамки понятия «отказоустойчивость»?

Alternating_Current ()

для простого хостинга вообще ничего не нужно делать - ставим libvirt на все ноды, рулим виртуалками по мере надобности. Если что упадет, поднимаем из бекапа ВМ с имиджем.

отказоустойчивость все равно не будет, но возможна высокая доступность.

я бы просто собрал из всех хостов два кластера, на oVirt с gluster или ceph, отдал бы на каждом хосте по куску локального диска как брик, и сделал два storage domain-a один на SSD для более продвинутых ВМ, а второй на SATA для толстых и дешевых. HA будет из коробки, управление и настройки в веб панели, юзерам можно давать доступ к юзер порталу, или написать свою вебморду подключающуюся к API.

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

dyasny ★★★★★ ()

Если это именно сайтохостинг, то какой-нибудь mariadb-galera в качестве субд на все хосты (если структура БД позволяет, галера без первичного ключа не работает и другие ограничения есть), всё остальное синхронизировать либо через какую клатерную фс (глустер тот же), либо сделать NFS-хранилище отказоустойчивое (пара хостов в drbd) с кешированием на SSD (btier/bcache/dm-cache).

Если хостить виртуалочки, то аналогично отказоустойчивую хранилку на DRBD или LSI Syncro отдающую себя по NFS/iSCSI + хосты-гипервизоры + любимая система виртуализации (kvm/xen/openstack/etc).

blind_oracle ★★★★★ ()

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

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

сам пока нет, но можно собрать руками и подсовывать через device-mapper, ovirt это просто увидит как FC

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

это откуда такое мнение? а то мне на работе хватает развенчания мифов для клиентов считающих облака особой уличной магией

dyasny ★★★★★ ()

XenServer HA - самое дешевое и действенное, все остальное платное и дорогое но стоит своих денег.

у меня есть подобные вещи в проде. но я так понимаю ТС чисто поспрашивать хочет.

MikeDM ★★★★★ ()

и выносить БД надо отдельно от сайтов с апачем.

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

Облака не магия. Просто удобная штука для управления ресурсами.

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