Назад | Перейти на главную страницу

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

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

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

Он должен уметь выполнять:

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

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

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

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

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

Как я уже сказал, двусторонняя синхронизация в реальном времени между двумя папками. На самом деле это две разные точки крепления. Позиция монтирования RAM (tmpfs) и точка монтирования GlusterFS.

Я уже знаю о:

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

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

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

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

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

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

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

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

HTH

С.

drbd + ocfs или GFS2:

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

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

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

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