Мне нужно программное обеспечение для двусторонней синхронизации в реальном времени для Centos 5.5 / 64Bit.
Вот небольшое объяснение:
Он должен уметь выполнять:
Двусторонняя синхронизация.
Это должно быть в реальном времени. В режиме реального времени это может быть почти в реальном времени, например, задержка в 1 секунду - это нормально.
И папки находятся на одном сервере.
В настоящее время я использую 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, которые я тестировал.
(В то время, когда задавался этот вопрос, могли быть более старые и медленные версии.)