Один файловый сервер и два реплицированных узла с демоном samba

721
Nicolas

Я должен создать новую инфраструктуру для проекта. У нас есть два офиса с медленной восходящей и нисходящей связью (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 в качестве кеша, но какой сервис лучше для этого?

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

0

1 ответ на вопрос

0
MariusMatutiae

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

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

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

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

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

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

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

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

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

Унисон больше не находится в стадии активной разработки. Я не хочу использовать его в таком состоянии. Сожалею. Nicolas 8 лет назад 0
@Nicolas: Нет, это неверно: их веб-страница, http://www.cis.upenn.edu/~bcpierce/unison/status.html, утверждает, что «Unison больше не находится в стадии активной разработки ** как исследовательский проект **». В нем также говорится, что ** Он будет продолжать поддерживаться и поддерживаться в обозримом будущем, и мы время от времени выпускаем новые версии с исправлениями ошибок, улучшениями (иногда большими) и внесенными исправлениями. ** MariusMatutiae 8 лет назад 0
@Nicolas Кроме того, вы не должны чувствовать себя `извините`: если вы не хотите использовать его, это ваше дело, мне было бы наплевать. Я просто желаю вам удачи в поиске другого решения, в настоящее время поддерживается или нет. MariusMatutiae 8 лет назад 0