Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Как мне кажется, с точки зрения промышленной
эксплуатации, а не тестирования различного ПО, наибольшее значение имеет именно
виртуализация на уровне операционной системы, так как в этом случае достигается
максимально возможная плотность размещения виртуальных сред по сравнению с
двумя предыдущими типами. Из трех открытых проектов, предназначенных для Linux,
наиболее функциональным и быстрее всего развивающимся выглядит OpenVZ, который
также является основой для проприетарного продукта Virtuozzo фирмы SWSoft.
Более того, на wiki проекта довольно коротко уже описана удачная попытка
«скрестить» его с проектом Linux HA –
В качестве платформы для
построения нашего решения выбран ALT Linux Sisyphus (
n у меня уже имеется опыт успешной эксплуатации решений на дистрибутивах от ALT вообще и Sisyphus в частности;
n использование Sisyphus предполагает минимум ручной работы, т.к. Linux HA и OpenVZ уже работают в нем «из коробки».
Что нам предстоит сделать
В качестве простого примера возьмем ситуацию, когда нам требуется сконфигурировать почтовый сервер и сервер БД.
Возможны следующие подходы к решению данной задачи:
1. Традиционный – для каждой задачи выделяется и конфигурируется отдельный физический сервер. В случае сбоя одного из серверов мы лишимся, как минимум, тех сервисов, которые этот сервер предоставляет. В худшем случае, учитывая, что сервисы могут зависеть друг от друга (а конфигурации, в которых почтовый сервер интенсивно использует сервер БД, не так уж редки), мы можем лишиться гораздо большего.
2. Кластеризация – физические серверы (точнее, сервисы, работающие на этих серверах) дублируются средствами Linux HA. В этом случае надежность значительно увеличивается, но возрастает также количество серверов и затраты на их обслуживание.
3. Виртуализация – для каждого сервера выделяется отдельная виртуальная среда на общем физическом сервере. В этом случае увеличивается гибкость, теперь мы не ограничены в количестве серверов и можем, например, выделить отдельную виртуальную среду для организации маршрутизатора/брандмауэра, ограничивающего доступ к почтовому серверу и серверу БД. Количество физических серверов и затраты на их обслуживание уменьшаются, но вместе с ними уменьшается и надежность, которая может оказаться даже ниже, чем в случае (1), если работоспособность серверов не зависит друг от друга.
4. Кластеризация + виртуализация – общий физический сервер (точнее, один-единственный сервис – система виртуализации) дублируется средствами Linux HA, тем самым мы совмещаем преимущества подходов (2) и (3) ценой увеличения нагрузки на сервера по сравнению с подходом (1).
Если не углубляться в детали, схема выбранного нами последнего способа построения системы изображена на рис. 1.
Рисунок 1. Кластеризация + виртуализация
Переходим к деталям.
Строим кластер
Более подробная схема, раскрывающая особенности внутрекластерных сетевых соединений, изображена на рис. 2.
Рисунок 2. Особенности внутрикластерных сетевых соединений
Каждый узел кластера имеет по 3 сетевые карты:
n eth0 – используется для подключения к внешней сети;
n eth1 – будет использована далее при создании виртуального сервера router, поэтому адрес ей не присвоен;
n eth2 – специально выделена для коммуникации между узлами кластера.
Сначала настроим общие разделы узлов кластера средствами DRBD. Установка DRBD производится штатным для ALT Linux способом. Смотрим, какие пакеты имеются в наличии:
[root@m1 ~]# apt-cache search drbd