Облачная платформаAdvanced

Что я могу сделать, если данные моей файловой системы отличаются при доступе с двух клиентских серверов?

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

Симптом

Файловая система была смонтирована на два сервера. Синхронизация файлов с одного сервера на другой происходила с задержкой. Однако при загрузке файлов на сервер задержки не возникало.

Диагностика неисправности

Добавьте noac,lookupcache=none к команде mount.

Параметр noac отключает кэширование атрибутов файлов и принудительно синхронизирует записи. По умолчанию информация об атрибутах файлов NFS‑клиента кэшируется с использованием параметра ac для повышения производительности, и клиент периодически проверяет информацию об атрибутах файлов и обновляет её при наличии изменений. В течение периода действия кэша клиент не проверяет, изменена ли информация об атрибутах файлов на сервере. По умолчанию значение этого параметра — ac. Установите его в noac.

Параметр lookupcache относится к кэшированию записей каталогов, и его значение может быть all, none, pos или positive. При lookupcache=none клиент не доверяет ни положительным, ни отрицательным результатам поиска. Таким образом, кэширование поиска отключается.

Решение

  1. Отмонтируйте файловую систему, если она была смонтирована. Подробности см. в Unmount a File System.
  2. Подготовьте монтирование, обратившись к Mounting an NFS File System to ECSs (Linux).
  3. Смонтируйте файловую систему.

    mount -t nfs -o vers=3,timeo=600,noac,lookupcache=none,noresvport,nolock Shared path Local path