Репликация – асинхронный перенос изменений данных исходной файловой системы файловой системой других узлов сети.
Способы репликации:
1. Точная репликация. Рис8. Процесс сам создает дополнительные копии файла и сам ими управляет.
2. Ленивая репликация. Рис9. Реплики создаются автоматически первичным сервером в фоновом режиме.
3. Групповая репликация. Рис 10.
Алгоритмы изменения реплицированных файлов:
1. Репликация первой копии. Один сервер выделяется как первичный, изменения направляется на него и потом переносится на вторичный. Первичный сервер ведет журнал изменений для восстановления в случае отказов (связанных с тем, успел ли он отправить изменения на вторичный).
2. Голосование. Если есть n копий файлов, то изменения вносятся в любые W копий с указанием номеров версий. Запрос на чтение генерируется к любым R серверам с выполнением правила R+W > n. В зависимости от интенсивности типов операций, значения R и W могут варьироваться. Для того чтобы выход из строя серверов не приводил к отсутствию кворума (должное количество участников), для операций записи создаются фиктивные сервера для отказавших или отключенных. Запись успешна, когда хотя бы один сервер настоящий. В кворуме чтения фиктивные сервера не участвуют.