Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
Karen
Сообщения: 160
ОС: Slackware 11.0

Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Karen »

Доброе время суток уважаемые форумчане,


вот решил попробовать построить отказоустойчивый web ресурс в локальной сети. У знакомого прекупил 3 простеньких сервера, установил на них Debian 6.0. Поскольку web ресурс из себя представляет download портал для внутренней сети, и нужно довольно таки много места на жестком диске, я решил к одному компьютеру подключить 4 диска по 2 терабайта (итого 8 ТБ) поднять NFS server, а на оставшихся двух поднять Apache веб сервер и при помощи NFS клиента смонтировать раздел с NFS сервера. Схема показана ниже на картинке.

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

1) Возможно ли смонтировать тот же NFS раздел на двух разных клиентах? Можно ли одновременно считывать или записывать на одном и том же NFS разделе?

2) Возможно ли балансировать нагрузку между двумя web-серверами не имея перед ними лоад балансера? Чтоб к примеру один запрос шел на одного, второй на другого и так далее. К примеру распределение производил ба один из них.

3) Как сделать чтоб при падении одного веб сервера, другой брал на себя всю функцию?

4) Что будет например если пользователь будет скачивать 4 гигабайтный ISO образ с одного из серверо, и вдруг тот отключиться? Закачка продолжится с другого или прервется?

Изображение

Заранее благодарю за помощь друзья! ;)
Спасибо сказали:
Kopilov
Сообщения: 958
ОС: [K]Ubuntu, Debian

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Kopilov »

Karen писал(а):
05.10.2012 02:42
Возможно ли смонтировать тот же NFS раздел на двух разных клиентах? Можно ли одновременно считывать или записывать на одном и том же NFS разделе?

Можно, если не ошибаюсь. Только как NFS повысит отказоустойчивость системы? По-моему, один Web-сервер на третьей машине будет работать ничуть не хуже предложенной схемы.

В идеале надо бы из двух машин сделать зеркала, а из третьей -- балансер. Такая схема будет реально надёжнее. Если жёстких дисков не хватает -- можно распределить файлы по серверам, спрятанным за первым (но мне настраивать такие вещи не приходилось).
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21532
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Bizdelnick »

Karen писал(а):
05.10.2012 02:42
4 диска по 2 терабайта (итого 8 ТБ)
Лучше RAID всё-таки соберите.
Karen писал(а):
05.10.2012 02:42
Возможно ли смонтировать тот же NFS раздел на двух разных клиентах? Можно ли одновременно считывать или записывать на одном и том же NFS разделе?
Конечно, для того NFS и придуман.
Karen писал(а):
05.10.2012 02:42
Возможно ли балансировать нагрузку между двумя web-серверами не имея перед ними лоад балансера? Чтоб к примеру один запрос шел на одного, второй на другого и так далее. К примеру распределение производил ба один из них.
Балансировщик в любом случае должен быть. Да, установить его на одном из веб-серверов можно.
Karen писал(а):
05.10.2012 02:42
Как сделать чтоб при падении одного веб сервера, другой брал на себя всю функцию?
google://heartbeat
Но в случае с балансировщиком на той же машине всё сильно усложняется: выходит, и балансировщики должны дублироваться.
Karen писал(а):
05.10.2012 02:42
Что будет например если пользователь будет скачивать 4 гигабайтный ISO образ с одного из серверо, и вдруг тот отключиться? Закачка продолжится с другого или прервется?
Прервётся.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Karen
Сообщения: 160
ОС: Slackware 11.0

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Karen »

Большое спасибо Bizdelnick,

если не сложно можете объяснить почему прервется ?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21532
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Bizdelnick »

А откуда второму серверу знать, что там передавал клиенту первый?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Karen
Сообщения: 160
ОС: Slackware 11.0

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Karen »

ну при падении первого, втори получит тот же IP адрес, то есть ссылка скачиваемого файла не меняется. или я что то не допонимаю? :huh:
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21532
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Bizdelnick »

Karen писал(а):
05.10.2012 21:35
ну при падении первого, втори получит тот же IP адрес, то есть ссылка скачиваемого файла не меняется. или я что то не допонимаю?

Но соединение-то оборвётся. Если клиент умеет докачивать - всё нормально, если нет - то надо будет качать сначала.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Karen
Сообщения: 160
ОС: Slackware 11.0

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Karen »

Вот теперь понял ;)


NFS настроил, отлично работает. Только вот не могу разобраться как работает этот heartbeat... :(
Спасибо сказали:
Kopilov
Сообщения: 958
ОС: [K]Ubuntu, Debian

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Kopilov »

Karen, а можешь объяснить: в чём, всё-таки, смысл предложенной схемы? (Если не "чисто попрактиковаться", конечно.) Сервер с данными один -- упадёт, так упадёт. И неужели вероятность этого увеличится, если на нём будет поднят не NFS, а сразу Apache? По крайней мере, если сервер -- "для внутренней сети" и не подвержен атакам.
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение DaemonTux »

это явно не отказоучтойчивая схема. В данной схем точкой отказа будет сервер с винтами. Если он упадет то ... это печально. Для отдачи файлов лучше использовать nginx. Неужели у вас такие дикие нагрузки что нужно 2 отдоющих сервера?
Vladivostok Linux User Group
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Ленивая Бестолочь »

в такой съеме можно сделать два сервера с апачами, настроить синхронизацию данных между ними с помощью drdb, а поверх drbd кластерную ФС, наример ocfs2.
в популярных дистрибутивах всё это ставится и работает без лишних усилий.
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Karen
Сообщения: 160
ОС: Slackware 11.0

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение Karen »

Проблема балансировки нагрузки на веб сервера решена при помощи HAProxy. Я настроил при помощи keepalived общий интерфейс, когда два сервера подняты нагрузка разделяется на 50/50, a в случае падения одного из них, другой берет всю нагрузку на себя. База данных реплицируется как MASTER-MASTER. Файлы хранятся на NAS сервере, на котором работает RAID 5. Вроде получилась неплохая схема :)

Большое спасибо всем кто принял участие в этой теме! ;)


Остается решить вот эту проблему Perl или Bash cкрипт
Спасибо сказали:
kirkir
Сообщения: 472
ОС: Fedora

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение kirkir »

Karen писал(а):
16.10.2012 07:14
Проблема балансировки нагрузки на веб сервера решена при помощи HAProxy. Я настроил при помощи keepalived общий интерфейс, когда два сервера подняты нагрузка разделяется на 50/50, a в случае падения одного из них, другой берет всю нагрузку на себя. База данных реплицируется как MASTER-MASTER. Файлы хранятся на NAS сервере, на котором работает RAID 5. Вроде получилась неплохая схема :)

Большое спасибо всем кто принял участие в этой теме! ;)


Остается решить вот эту проблему Perl или Bash cкрипт

Если упадет NFS будет грустнно я бы вам советывал сделать 2 сервера с данными под Openfiler и репликацией между сетевыми хранилищами если и упадет NFS его автоматом перехватит другой.

http://www.linuxhome.ru/openfiler-nastroyk...cemaker-i-drbd/
Спасибо сказали:
TOPT
Сообщения: 8
ОС: Ubuntu

Re: Балансировка нагрузки между двумя апачами + тот же NFS раздел одновременно на двух серверах

Сообщение TOPT »

я бы предложит тебе следующий варинат, используй 1 сервер для load balance (nginx с upstream) на двух других лежит файло, все файло с 1 на другой перегоняй csync2=аналог rsync но стабильнее при хайлоаде.
nginx будет проксировать все запросы, и раскидывать клиентов по серверам, если же 1 из серверов падает, то nginx автоматически начет слать всех клиентов на рабочий сервер.
П.С. Пример привел из реального проекта, 300к в сутки.
Спасибо сказали: