У нас есть два центра обработки данных, каждый из которых имеет несколько серверов Linux, которые совместно используют большие nfs на основе EMC.
Задача состоит в том, чтобы синхронизировать два nfs. На данный момент предположим, что запись будет происходить только в nfs1, который затем должен распространить изменения в nfs2.
Периодические родовые rsyncs оказались слишком медленными - каждый rsync выполняется несколько часов, даже с -az. Нам нужно сделать особую синхронизацию, когда файл или каталог действительно изменится.
Итак, проблема в том, как мы узнаем, когда файл или каталог изменился? inotify - очевидный ответ, но он, как известно, не работает с nfs. (Существует некоторая болтовня о том, что inotify может работать, если он установлен на сервере nfs, но это не вариант для нас - мы контролируем только клиентов, а не сервер.)
Позволяет ли клиент linux nfs записывать все изменения, которые он отправляет на сервер, в файл журнала или другим способом? Или мы могли бы взломать клиента, чтобы сделать это? Затем мы могли бы собирать изменения от каждого клиента и периодически запускать целевые rsyncs.
Любые другие идеи приветствуются. Спасибо!