nixp.ru v3.0

16 января 2017,
понедельник,
15:48:54 MSK

DevOps с компанией «Флант»
stealth написал 5 октября 2012 года в 15:20 (1949 просмотров) Ведет себя неопределенно; открыл 103 темы в форуме, оставил 124 комментария на сайте.

 
Доброе время суток уважаемые форумчане,
вот решил попробовать построить отказоустойчивый web ресурс в локальной сети. У знакомого прекупил 3 простеньких сервера, установил на них Debian 6.0. Поскольку web ресурс из себя представляет download портал для внутренней сети, и нужно довольно таки много места на жестком диске, я решил к одному компьютеру подключить 4 диска по 2 терабайта (итого 8 ТБ) поднять NFS server, а на оставшихся двух поднять Apache веб сервер и при помощи NFS клиента смонтировать раздел с NFS сервера. Схема показана ниже на картинке.
У меня возникло несколько вопросов, и я был бы очень признателен если бы вы помогли бы мне получить ответ на них.
1) Возможно ли смонтировать тот же NFS раздел на двух разных клиентах? Можно ли одновременно считывать или записывать на одном и том же NFS разделе?
2) Возможно ли балансировать нагрузку между двумя web-серверами не имея перед ними лоад балансера? Чтоб к примеру один запрос шел на одного, второй на другого и так далее. К примеру распределение производил ба один из них.
3) Как сделать чтоб при падении одного веб сервера, другой брал на себя всю функцию?
4) Что будет например если пользователь будет скачивать 4 гигабайтный ISO образ с одного из серверо, и вдруг тот отключиться? Закачка продолжится с другого или прервется?
www.image-share.com/upload/1775/69.jpg
Заранее благодарю за помощь друзья! ;)

 

fhunter

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

Посмотрите не картинку: я вижу следующие единичные точки отказа: nfs-сервер (ляжет он или диски в нём — и не будет данных). Свитч, через который это коммутируется, но тут чуть чуть получше.

Выбранная архитектура системы не особенно поможет.

Про вопросы:

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

2) можно. просто двумя записями A/AAAA в dns, указывающими на разные сервера. Вопрос разделения нагрузки решит библиотека resolver-а.

3) В нарисованном варианте — никак. Нужна другая архитектура.

4) Если поддерживается HTTP/1.1 — то в чём проблема? В смысле — настройки сервера должны позволять докачку. Соединение естественно оборвётся, но ведь это же не проблема?

 

Про архитектуру. Посмотрите на DRBD, это как минимум.

ecobeingecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.