Я должен создать новую инфраструктуру для проекта. У нас есть два офиса с медленной восходящей и нисходящей линией связи (2 Мбит SDSL) к Интернету и один сервер C со 100 Мбит соединением с Интернетом. Затем в каждом офисе есть машина с Ubuntu (A и B) с общим ресурсом samba, так что каждый пользователь в конкретном офисе может подключить этот общий ресурс под буквой диска в Windows. Таким образом, у них есть быстрый доступ, потому что внутренняя локальная сеть использует 100/1000 Мбит. Затем две машины Ubuntu (A и B) и сервер Ubuntu (C) должны реплицировать данные между ними. Все они имеют диск объемом 1 ТБ, и данные на них всегда должны быть одинаковыми.

По этой причине я попробовал GlusterFS на сервере A и C, но, похоже, он не очень надежен (сервер B на данный момент не существует). Для быстрого теста я скопировал файл размером 10 МБ в точку монтирования glusterfs на сервере A. В ту же секунду файл появился на сервере C, но был только 6 МБ. Требуется до 30 минут, чтобы файл на сервере C получил правильный размер 10 МБ. Из-за этого я не очень хочу использовать его в продуктивной среде.

Основная проблема заключается в том, что пользователи в офисе хотят иметь быстрое соединение с локальным сервером, и если кто-то изменяет, удаляет, перемещает или создает файл, его также следует изменить, удалить, переместить или создать на других серверах. Может быть, будет достаточно использовать только серверы A и B в качестве кеша, но какой сервис лучше для этого?

Я действительно ценю твою помощь. Было бы неплохо найти подходящее решение. Спасибо!

1 ответ1

0

Стандартное решение этой проблемы - использовать программу под названием Unison. Их веб-страница гласит:

Unison - это инструмент синхронизации файлов для OSX, Unix и Windows. Он позволяет хранить две копии набора файлов и каталогов на разных хостах (или разных дисках на одном хосте), изменять их отдельно, а затем обновлять, распространяя изменения в каждой реплике на другую.

Интеграция с Samba Share достаточно проста: она подробно обсуждается на страницах Samba Wiki.

По сути, он состоит из четырех этапов:

  1. Синхронизация пользователя. Наиболее удобно иметь одинаковый набор пользователей обеих систем. Это особенно легко, если общие ресурсы принадлежат одному и тому же пользователю, и любой может изменять их содержимое. Но вы также можете настроить свою систему так, чтобы в ней были все пользователи обеих локальных сетей, это зависит только от вас.

  2. Доступ без пароля. Это необходимо для обеспечения автоматических, но безопасных соединений SSH между двумя системами.

  3. Настройка Unison (самая простая часть, всего одна строка).

  4. настройка crontab. Это необходимо для синхронизации ваших двух машин каждую минуту (это не может быть сделано чаще с помощью crontab). Это тоже однострочник.

Это в основном все.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .