Помогите, пожалуйста, найти решение для двухсторонней синхронизации в реальном времени на Centos 5.5 64Bit

Мне нужно программное обеспечение для двусторонней синхронизации в режиме реального времени для Centos 5.5 / 64Bit.

Вот небольшое объяснение:

Это должно быть в состоянии выполнить:

  1. Двухсторонняя синхронизация.

  2. Это должно быть в реальном времени. В режиме реального времени это может быть почти в реальном времени, то есть, например, задержка в 1 секунду вполне подойдет.

  3. И папки находятся на одном сервере.

В настоящее время я использую GlusterFS на двух веб-серверах. Тем не менее, он имеет очень низкую производительность чтения небольших файлов, и это замедляет мой сайт. Больше ничего нельзя сделать, чтобы улучшить это, я уже протестировал множество конфигураций. В качестве решения я собирался смонтировать диск RAM (tmpfs), который отражает веб-файлы GlusterFS, но заставить веб-сервер использовать диск RAM.

Проблема в том, что мне нужно двухстороннее зеркалирование или репликация в реальном времени между glusterfs и приводом RAM. Мне нужно это как Apache пишет файлы как колодцы.

Как я уже сказал, в режиме реального времени двусторонняя синхронизация между двумя папками. Которые на самом деле 2 разных точек крепления. Расположение монтирования в ОЗУ (tmpfs) и точка монтирования GlusterFS.

Я уже знаю о:

  • Rsync - что является одним из способов
  • Унисон - который не в реальном времени

Пожалуйста, предложите мне любое решение, бесплатное или платное.

заранее спасибо

3 ответа

Несмотря на то, что afs выглядит очевидным решением, я ранее подробно рассматривал это для очень настраиваемого веб-приложения - и самым быстрым / наиболее эффективным / надежным решением было реализовать репликацию внутри приложения - с помощью rsync при возврате узлов назад онлайн. У меня был более долгосрочный план по реализации повторной синхронизации по требованию с использованием inotify в качестве триггера (но я так и не нашел время).

В качестве решения я собирался смонтировать диск RAM (tmpfs), который отражает веб-файлы GlusterFS, но заставить веб-сервер использовать диск RAM

Да, если GlusterFS не поддерживает синхронизацию аннулирования кэша, то это может быть немного быстрее (за счет отсутствия обновления в режиме реального времени), хотя, если у вас не очень высокий оборот данных, вы, вероятно, найдете более быстрое использование оптимизированная файловая система на обычном устройстве, а не на ОЗУ.

Вероятно, вы столкнетесь с подобными проблемами в любых файловых системах с общими дисками (но это в основном догадки с моей стороны).

Лучшим решением было бы использовать базу данных (кластер?) Для хранения любых данных - кластеризация гораздо более управляема (и проще в реализации). Смотрите также MySQL репликации и Кассандра.

/ me интересует, можете ли вы использовать оверлейные файловые системы (unionfs) - поместите локальную копию сверху, а удаленную систему - снизу, а затем периодически запускайте rsync сверху вниз - хотя я подозреваю, что удаление файлов может оказаться затруднительным.

НТН

C.

Вы можете сделать это, используя только Gluster:
Когда вы просите Gluster реплицировать файлы, используя gluster volume VolumeName replica 2 и получить доступ к локальному glusterfsd на каждом сайте, используя mount -t glusterfs localhost:VolumeName /mountpoint вы получаете мгновенную репликацию и время доступа, сравнимое с другими локальными файловыми системами (нет сетевых обращений при чтении файлов).

Это верно, по крайней мере, в случае с кластерными версиями 3.4.7 и 3.6.9, которые я тестировал.
(В то время, когда задавался этот вопрос, возможно, были более старые, более медленные версии.)

drbd + ocfs или GFS2:

Использование GFS2 с DRBD
Использование OCFS2 с DRBD

Хотя мне больше повезло с GFS2, любой из них работает и, вероятно, делает именно то, что вам нужно. Вы можете запустить двойной первичный с любым решением.

Другие вопросы по тегам