Добрый день.Настраиваю GlusterFS для хранения данных на двух серверах (репликация).
Всё работает, но начал экспериментировать и обнаружил следующее:
1. Выключаю один из серверов
2. Копирую новый файл с клиента GlusterFS, файл появляется на оставшемся рабочем узле GlusterFS
3. Включаю второй сервер
4. СПИСОК файлов на вернувшемся в строй узле GlusterFS обновился до актуального состояния, а вот собственно сами данные нового файла не появились.Что интересно - синхронизация произошла при обращении на запись в новый файл. Он быстренько скопировался с узла, который не выключался (который содержал актуальный файл).
Разве это нормальная ситуация? Что может быть не так? Может быть необходимо запустить синхронизацию как то вручную?
Необходимые порты на firewall вроде все открыты.
Видимо сам могу ответить на вопрос:Файлы действительно не синхронизируются после восстановления автоматически. Только их список.
Чтобы синхронизировать файлы в актуальное состояние достаточно в примонтированной ФС запустить: find gluster-mount -noleaf -print0 | xargs --null stat >/dev/null
где gluster-mount - точка монтирования GlusterFS.
Обращение к файлам заставляет их синхронизироваться на всех серверах (bricks). В частности сервер, который выпадал на время из работы получит содержимое всех новых файлов.