Доброе время суток уважаемые форумчане,
вот решил попробовать построить отказоустойчивый 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
Заранее благодарю за помощь друзья! ;)
Последние комментарии
- OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Скажем так, данная схема не очень-то отказоустойчива. Если уж подходить строго.
Посмотрите не картинку: я вижу следующие единичные точки отказа: nfs-сервер (ляжет он или диски в нём — и не будет данных). Свитч, через который это коммутируется, но тут чуть чуть получше.
Выбранная архитектура системы не особенно поможет.
Про вопросы:
1) да. да. вопрос только в том, как вы собираетесь разделять доступ, в случае одновременной записи в один файл.
2) можно. просто двумя записями A/AAAA в dns, указывающими на разные сервера. Вопрос разделения нагрузки решит библиотека resolver-а.
3) В нарисованном варианте — никак. Нужна другая архитектура.
4) Если поддерживается HTTP/1.1 — то в чём проблема? В смысле — настройки сервера должны позволять докачку. Соединение естественно оборвётся, но ведь это же не проблема?
Про архитектуру. Посмотрите на DRBD, это как минимум.